You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: release_process.md
+59-51Lines changed: 59 additions & 51 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,8 @@ There are two important concepts you need to know about Sputnik. There is a *mot
8
8
- the factory aka *the mother*: it is considered to be the mother of all the DAOs, since it's responsible for creating them. A new child (DAO) is born when calling the `create` method on the mother (factory) contract (check `sputnikdao-factory2/src/lib.rs` for the factory code).
9
9
- the DAOs aka *the children*: once created, they become independent from their mother and they have their own set of rules and policies that help them with self-governance (check `sputnikdao2/src/lib.rs` for the DAO code).
10
10
11
+
***
12
+
11
13
## History of Sputnik - Searching through the archives:
12
14
13
15
### Sputnik V1 smart contracts
@@ -43,49 +45,51 @@ There are two important concepts you need to know about Sputnik. There is a *mot
43
45
-https://v2.sputnik.fund/ -> it uses v2 smart contracts
44
46
-https://astrodao.com/ -> it uses v2 smart contracts
45
47
48
+
***
49
+
46
50
## Introducing Sputnik v3 smart contracts
47
51
48
52
The biggest advantage of v3 smart contracts is introducing an easy way for the DAO to upgrade to a new version of the code so it can take full advantage of the new features/performance improvements/bug fixes.
49
53
50
54
Since this is the first time that the factory and the DAO are being upgraded and upgrading smart contracts is a very sensitive topic, everything must be done with due diligence.
51
55
52
-
## v3 Release Plan
53
-
54
-
[1. Upgrade the factory from v2 to v3 and then set up the default code for the DAO to be v2.](#upgrade-the-factory-from-v2-to-v3)
55
-
[2. After we get enough confidence using factory v3 and DAO v2, change the default code for the DAO from v2 to v3.](#change-dao-default-code-from-v2-to-v3)
56
-
[3. Existing DAOs will need to migrate from v2 to v3.](#migrate-dao-from-v2-to-v3)
56
+
### v3 Release Plan
57
57
58
-
---
58
+
[1 Upgrade the factory from v2 to v3 and then set up the default code for the DAO to be v2.](#1-upgrade-the-factory-from-v2-to-v3)
59
+
[2 After we get enough confidence using factory v3 and DAO v2, change the default code for the DAO from v2 to v3.](#2-change-dao-default-code-from-v2-to-v3)
60
+
[3 Existing DAOs will need to migrate from v2 to v3.](#3-migrate-dao-from-v2-to-v3)
59
61
60
-
### Upgrade the factory from v2 to v3
62
+
### 1 Upgrade the factory from v2 to v3
61
63
62
64
This should be done in the following order:
63
-
-[testnet - using a personal account](#using-personal-account-on-testnet)
64
-
-[testnet - using the official testnet factory account](#using-official-account-on-testnet)
65
-
-[mainnet - using the official mainnet factory account](#using-official-account-on-mainnet)
65
+
-[testnet - using a personal account](#1-1-using-personal-account-on-testnet)
66
+
-[testnet - using the official testnet factory account](#1-2-using-official-account-on-testnet)
67
+
-[mainnet - using the official mainnet factory account](#1-3-using-official-account-on-mainnet)
66
68
67
-
#### Using personal account on testnet
69
+
___
68
70
69
-
**1. Create a new NEAR account for the factory:**
71
+
### 1 1 Using personal account on testnet
72
+
73
+
***1. Create a new NEAR account for the factory:***
70
74
71
75
```bash
72
76
near create-account sputnik-factory.ctindogaru.testnet --masterAccount ctindogaru.testnet --initialBalance 50
73
77
```
74
78
75
-
**2. Deploy the factory code:**
79
+
***2. Deploy the factory code:***
76
80
```bash
77
81
./build.sh
78
82
```
79
83
```bash
80
84
near deploy sputnik-factory.ctindogaru.testnet sputnikdao-factory2/res/sputnikdao_factory2.wasm
81
85
```
82
86
83
-
**3. Init the factory:**
87
+
***3. Init the factory:***
84
88
```bash
85
89
near call sputnik-factory.ctindogaru.testnet new '{}' --accountId sputnik-factory.ctindogaru.testnet --gas 100000000000000
86
90
```
87
91
88
-
**4. Download the current `wasm` code used for creating new DAOs:**
92
+
***4. Download the current `wasm` code used for creating new DAOs:***
After running the command from above, you should get the following code hash in return: `GUMFKZP6kdLgy3NjKy1EAkn77AfZFLKkj96VAgjmHXeS`. If your result differs from `GUMFKZP6kdLgy3NjKy1EAkn77AfZFLKkj96VAgjmHXeS`, do not proceed further as you could harm your DAO. Ask for help on the telegram group: `SputnikDAO v2.0`.
288
296
289
-
4. Create an upgrade proposal for your DAO.
297
+
***4. Create an upgrade proposal for your DAO.***
290
298
291
299
Run the following command:
292
300
```bash
293
301
near call amber.sputnik-dao.near add_proposal '{"proposal": {"description": "Upgrade DAO to v3 version", "kind": {"UpgradeSelf": {"hash": "GUMFKZP6kdLgy3NjKy1EAkn77AfZFLKkj96VAgjmHXeS"}}}}' --accountId ctindogaru.near --amount 1
294
302
```
295
303
296
-
5. Approve the proposal.
304
+
***5. Approve the proposal.***
297
305
298
306
Everyone from the DAO should go to `https://app.astrodao.com/dao/amber.sputnik-dao.near/proposals` and approve the proposal.
299
307
300
-
6. Once the proposal get approved, the upgrade will take place.
308
+
***6. Once the proposal get approved, the upgrade will take place.***
301
309
302
-
7. Now that the upgrade is complete, remove the code from your DAO.
310
+
***7. Now that the upgrade is complete, remove the code from your DAO.***
0 commit comments