# Venus nv21 Upgrade Guide
# Precautions
- Be sure to upgrade all Venus products
- After upgrading, please use the
curl
command to call theVersion
API to check the version number. Details of each Venus products' version interface can be found here (opens new window). - Monitor proper on-chain of pre and prove messages
- Monitor proper on-chain of window post messages
- Monitor block producing
- Check whether the gas fee related settings are in effect
# Products Upgrade Guide
Product | tag | commit |
---|---|---|
sophon-auth | v1.14.0 | 7caadbc |
venus | v1.14.2 | 9204048 |
sophon-messager | v1.14.0 | e5f8371 |
soohon-gateway | v1.14.0 | 1adf038 |
venus-wallet | v1.14.0 | b478cd0 |
sophon-miner | v1.14.0 | 9ca976c |
droplet | v2.10.0 | 6daf168 |
damocles-manager | v0.9.2 | f3c5400 |
damocles-worker | v0.9.2 | f3c5400 |
# Recommended Upgrade Sequence
- sophon-auth
- venus
- soohon-gateway
- sophon-messager
- sophon-miner
- droplet
- venus-wallet
- damocles-manager 9.damocles-worker
# sophon-auth
Affected functions:
- Affecting how other Venus products are authorized to use the sophon service
Dependency:
- None
Precautions:
- Check if authentication is normal after startup
# venus
Affected functions:
- None
Dependency:
- sophon-auth
Precautions:
TIP
Compile: First make dist-clean
and then make
, this can prevent problems caused by failure to upgrade filecoin-ffi
properly
If ~/.venus
exists and you need to import a snapshot, you need to delete the ~/.venus/version
file first before importing the snapshot
The memory consumption of migration depends on the CPUs used. You can set the limit of CPU by environment variable (`VENUS_MIGRATION_MAX_WORKER_COUNT=n`), to avoid use out of memory.
Recommended value of `VENUS_MIGRATION_MAX_WORKER_COUNT`:
48G VENUS_MIGRATION_MAX_WORKER_COUNT=13
64G VENUS_MIGRATION_MAX_WORKER_COUNT=18
96G VENUS_MIGRATION_MAX_WORKER_COUNT=24
The migration of update
Check whether the vk file is complete after upgrading
After the upgrade, execute the command
./venus state network-info
, and then check whether theUpgradeWatermelonHeight
is normal through the log:#cali UpgradeWatermelonHeight: 1013134 #mainnet UpgradeWatermelonHeight: 3469380
After the upgrade, you need to check whether the block height is synchronized normally.
Check the mainnet
v12 actors
code and make sure it is the same as the output below./venus state actor-cids --network-version 21 # Ordering may be different Network Version: 21 Actor Version: 12 Actor CID datacap bafk2bzacebpiwb2ml4qbnnaayxumtk43ryhc63exdgnhivy3hwgmzemawsmpq ethaccount bafk2bzaceb4gkau2vgsijcxpfuq33bd7w3efr2rrhxrwiacjmns2ntdiamswq reward bafk2bzacealqnxn5lwzwexd6reav4dppypquklx2ujlnvaxiqk2tzstyvkp5u verifiedregistry bafk2bzacedudgflxc75c77c6zkmfyq4u2xuk7k6xw6dfdccarjrvxx453b77q eam bafk2bzaceb3elj4hfbbjp7g5bptc7su7mptszl4nlqfedilxvstjo5ungm6oe multisig bafk2bzacecw5lyp3n3t67xdwrmo36h4z7afc3lobmmr6wg55w6yjzg5jhmh42 storagemarket bafk2bzacedylkg5am446lcuih4voyzdn4yjeqfsxfzh5b6mcuhx4mok5ph5c4 system bafk2bzacebfqrja2hip7esf4eafxjmu6xcogoqu5xxtgdg7xa5szgvvdguchu account bafk2bzaceboftg75mdiba7xbo2i3uvgtca4brhnr3u5ptihonixgpnrvhpxoa cron bafk2bzacechxjkfe2cehx4s7skj3wzfpzf7zolds64khrrrs66bhazsemktls placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro storagepower bafk2bzacecsij5tpfzjpfuckxvccv2p3bdqjklkrfyyoei6lx5dyj5j4fvjm6 evm bafk2bzacecmnyfiwb52tkbwmm2dsd7ysi3nvuxl3lmspy7pl26wxj4zj7w4wi init bafk2bzacebllyegx5r6lggf6ymyetbp7amacwpuxakhtjvjtvoy2bfkzk3vms paymentchannel bafk2bzacectv4cm47bnhga5febf3lo3fq47g72kmmp2xd5s6tcxz7hiqdywa4 storageminer bafk2bzacedo75pabe4i2l3hvhtsjmijrcytd2y76xwe573uku25fi7sugqld6
If there is no problem troubleshoot, it is not recommended to set the rust log level to
trace
because more logs will be printed.After the upgrade, you can use the command
./venus state get-actor t01000
to confirm whether the upgrade is successful.actor migration
TIP
After testing, the pre-migration time is about 20 to 30 minutes, and the actual migration time is about 70 seconds
```
The pre-migration height is the 120 heights before the upgrade height:
pre-migration start: STARTING pre-migration end: COMPLETED pre-migration
migration starts: STARTING migration ends: COMPLETED migration
```
# sophon-gateway
Functions affected:
- None
Dependency:
- sophon-auth
Precautions:
- When compiling, you need to first
make dist-clean
and thenmake
# sophon-messager
Affected functions:
- None
Dependency:
- venus
- sophon-auth
- sophon-gateway
Precautions:
- After the upgrade, monitor whether the messages can be received normally and whether the messages can be on-chained normally.
# sophon-miner
Affect functions:
Dependency:
- auth
- venus
- gateway
Precautions:
[Auth].[Token]
in the configuration file must be configured, and the token must be created with admin permission from sophon-auth. It is recommended that one does not use the token fromdefaultLocalToken
, one should create one manually.
# Droplet
Affected functions:
- Support v2 version of storage deal protocol
- Support offline computation of commP
Dependency:
- auth
- venus
- gateway
- messager
Precautions:
- Monitor deals and retrievals
# venus-wallet
Affected functions:
- None
Dependency:
- gateway
Precautions:
- After the upgrade, monitor whether the signature is normal and whether the message can be on-chained normally.
# damocles-manager
Dependency:
- Sophon service
Precautions:
- When compiling, you need to first
make dist-clean
and thenmake
# damocles-worker
Dependency:
- damocles-manager
Precautions: Translation:
- It is recommended to perform program updates after all tasks have been done and there are no ongoing tasks. If an update is required during the task on going, the sealing thread may get stuck in the 'SyntheticPoRepNeeded' state. In such cases, resetting the task status to 'PCSubmitted' can resolve the issue. You can use the following command:
damocles-manager util worker resume <worker name> <thread index> PCSubmitted
. - The new proof type
SyntheticPoRep
uses a new proof parameter file. IfSyntheticPoRep
is enabled, it is best to prepare new proof parameters in advance. Failing to do so may cause SyntheticPoRep deadlock.
Upgrade result verification steps:
- Check if program starts normally
- Check if Pre & prove messages are on-chained normally
- Check if block producing is normal
- Check if window post is normal
- Check if storage power grows normally
- Check if storage deal retrieval is normal
- Check if various gas, life cycle, and aggregation settings of the database are normal.
# Database changes
- Add
id
field to dropletstorage_deals
table ==>ALTER TABLE storage_deals ADD id varchar(128)