Skip to content

Commit 5ab835d

Browse files
authored
Merge pull request #413 from filecoin-project/doc/nv27-doc
docs: add nv25 & nv27 upgrade docs
2 parents aa4b676 + f69fe32 commit 5ab835d

4 files changed

Lines changed: 1014 additions & 0 deletions

File tree

docs/operation/nv25-upgrade.md

Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
# NV25 Upgrade Document
2+
3+
## Upgrade Background
4+
5+
NV25 network upgrade
6+
7+
**Calibnet**: 2025-03-26 07:00:00 (Beijing Time), Upgrade Height: 2520574
8+
9+
**Mainnet**: 2025-04-15 07:00:00 (Beijing Time), Upgrade Height: 4878840
10+
11+
## Notes
12+
13+
1. All components must be replaced.
14+
2. Perform a node chain service cleanup within one week before the upgrade.
15+
3. After updating, verify the version number using the `curl` command with the Version API. See API usage: [https://github.com/filecoin-project/venus/issues/5132](https://github.com/filecoin-project/venus/issues/5132).
16+
4. Check the status of pre/pro messages on-chain.
17+
5. Check the status of WD messages on-chain.
18+
6. Verify that block production is normal.
19+
7. Ensure gas fee-related configurations are effective.
20+
8. Do not seal new sectors before the upgrade.
21+
22+
## Components to Upgrade (sophon-auth is not upgraded this time)
23+
24+
| Component | Tag | Commit |
25+
| ----------------------- | ------- | ------ |
26+
| venus | v1.18.1 | |
27+
| sophon-co | v0.12.0 | |
28+
| sophon-gateway | v1.18.0 | |
29+
| sophon-messager | v1.18.0 | |
30+
| sophon-miner | v1.18.0 | |
31+
| droplet | v2.14.0 | |
32+
| damocles-sector-manager | v0.12.3 | |
33+
| damocles-worker | v0.12.3 | |
34+
35+
### Upgrade Order
36+
37+
1. sophon-auth (not upgraded)
38+
2. venus
39+
3. lotus compatible version
40+
4. sophon-co
41+
5. sophon-gateway
42+
6. sophon-messager
43+
7. sophon-miner
44+
8. droplet
45+
9. damocles-manager
46+
10. damocles-worker
47+
48+
---
49+
50+
### sophon-auth
51+
52+
* **Impact**: Provides authentication service for other components.
53+
* **Dependencies**: None.
54+
* **Notes**: Not upgraded in this network upgrade.
55+
56+
---
57+
58+
### venus
59+
60+
* **Impact**:
61+
62+
1. **Supports f3**:
63+
Currently, Filecoin block finality requires 900 epochs. f3 aims to make blocks final much faster, ideally within just a few epochs. f3 requires miners to connect to a node for voting, and miners must sign votes. Since production nodes do not store private keys, nodes must connect to sophon-gateway for signing.
64+
65+
venus supports two ways to connect to sophon-gateway:
66+
67+
1. Add `--wallet-gateway=<token:url>` at startup.
68+
2. Configure `config.json`:
69+
70+
```json
71+
"walletModule": {
72+
"gatewayBacked": "<token:url>"
73+
}
74+
```
75+
76+
* **Dependencies**: auth
77+
78+
* **Notes**:
79+
80+
* Build: run `make dist-clean` before `make` to avoid issues caused by incomplete `filecoin-ffi` upgrades.
81+
82+
* After upgrade, check that vk files are complete.
83+
84+
* Run `./venus state network-info` and verify `UpgradeTuktukHeight` matches expected values:
85+
86+
```
87+
# cali
88+
UpgradeTeepHeight: 2520574
89+
90+
# mainnet
91+
UpgradeTeepHeight: 4878840
92+
```
93+
94+
* Confirm block synchronization works properly.
95+
96+
* Verify mainnet v16 actor code matches expected output:
97+
98+
```
99+
./venus state actor-cids --network-version 25
100+
...
101+
Network Version: 25
102+
Actor Version: 16
103+
Manifest CID: bafy2bzacecnepvsh4lw6pwljobvwm6zwu6mbwveatp7llhpuguvjhjiqz7o46
104+
...
105+
```
106+
107+
* Avoid setting Rust log level to `trace` unless debugging issues.
108+
109+
* Run `./venus state get-actor t01000` to confirm upgrade success.
110+
111+
* **Actor migration**:
112+
113+
* Pre-migration starts 120 epochs before upgrade height.
114+
* Pre-migration duration \~1 min; final migration \~30s.
115+
116+
```
117+
Pre-migration start: STARTING pre-migration
118+
Pre-migration end: COMPLETED pre-migration
119+
120+
Migration start: STARTING migration
121+
Migration end: COMPLETED migration
122+
```
123+
124+
* If importing a snapshot and `~/.venus` exists, delete `~/.venus/version` first.
125+
126+
* Mainnet: `./venus daemon --import-snapshot snapshot.car`
127+
* Calibnet: `./venus daemon --import-snapshot snapshot.car --network calibrationnet`
128+
129+
---
130+
131+
### sophon-co
132+
133+
* **Impact**: None.
134+
* **Dependencies**: auth, venus, lotus compatible version.
135+
* **Notes**: After starting, check logs (debug level) to ensure node selection works properly.
136+
137+
---
138+
139+
### sophon-gateway
140+
141+
* **Impact**: Gateway service.
142+
* **Dependencies**: auth, wallet.
143+
* **Notes**:
144+
145+
1. Run `make dist-clean` before `make`.
146+
2. Verify wallets and miners are registered after upgrade.
147+
148+
---
149+
150+
### sophon-messager
151+
152+
* **Impact**: Message handling.
153+
* **Dependencies**: auth, venus, gateway.
154+
* **Notes**: After upgrade, confirm messages are received and can land on-chain.
155+
156+
---
157+
158+
### sophon-miner
159+
160+
* **Impact**:
161+
f3 requires miners to vote via nodes. However, production miners connect through sophon-co, which may route requests to different nodes, potentially causing vote failures.
162+
To resolve this, a new **f3 node configuration** is added:
163+
164+
```
165+
[F3Node]
166+
Addr = "/ip4/127.0.0.1/tcp/3453"
167+
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
168+
```
169+
170+
> The F3Node config uses the venus token and URL. This venus must already be connected to sophon-gateway.
171+
172+
* **Dependencies**: auth, venus, gateway.
173+
174+
* **Notes**:
175+
176+
1. Verify miner count matches pre-upgrade.
177+
2. Confirm block production works, and check orphan block count.
178+
179+
---
180+
181+
### droplet
182+
183+
* **Impact**: Market service.
184+
* **Dependencies**: auth, venus, gateway, messager.
185+
* **Notes**: Verify deals can be published successfully.
186+
187+
---
188+
189+
### venus-wallet
190+
191+
* **Impact**: Wallet signing.
192+
* **Dependencies**: None.
193+
* **Notes**: Confirm signing works and messages land on-chain after upgrade.
194+
195+
---
196+
197+
### damocles-sector-manager
198+
199+
* **Impact**: Sector management.
200+
* **Dependencies**: chain service components.
201+
* **Notes**: Run `make dist-clean` before `make`.
202+
203+
---
204+
205+
### damocles-worker
206+
207+
* **Impact**: Sector worker tasks.
208+
* **Dependencies**: damocles-manager.
209+
* **Notes**: None.
210+
211+
---
212+
213+
### Post-upgrade Validation Steps
214+
215+
1. All programs start normally.
216+
2. Pre/Pro messages land on-chain.
217+
3. Block production is normal.
218+
4. WD messages land on-chain.
219+
5. CC cluster power grows normally.
220+
6. Real data cluster power grows normally.
221+
7. Retrieval works properly for real storage clusters.
222+
8. Database settings for gas, lifecycle, aggregation are correct.
223+
224+
---
225+
226+
### Database Changes
227+
228+
None.

0 commit comments

Comments
 (0)