The "V5" upgrade guide (v4.* to v5.0.1) :
Last updated
Last updated
For a full overview of the latest upgrades, please refer to .
Warning:
The chain-maind v5.0.1
- "V5" upgrade is proposed to be scheduled at the block height of 22649500
( Estimated time ~3 AM GMT, Tuesday, March 18th, but this depends on the actual time taken when the blocks are being processed);
Actual timing depends on the progress of block production, the estimated time of this block can be found .
DO NOT UPGRADE to the binary v5.0.1
before that suggested upgrade schedule and come across with the error message as described in .
At the point of proposed upgrade, user will see the error message on the chain-maind
similar to the below:
ERR UPGRADE "v5.0.1" NEEDED at time: xxxxxxxxxxxxx: {"binaries":{"darwin/amd64":.......
Don't panic - The Chain will be paused to allow the majority of validators to upgrade. Validators and full node hosts will have to upgrade your Cronos POS Chain nodes to the latest release binary.
Before the upgrade, validators are encouraged to take a complete data snapshot. Snapshotting depends heavily on infrastructure, but generally, we can do this by backing up the .chain-maind
directory.
It is critically important for validator operators to back-up the .chain-maind/data/priv_validator_state.json
file after stopping the chain-maind
process. This file is updated every block as your validator participates in consensus rounds. It is a critical file needed to prevent double-signing if the upgrade fails and the previous chain needs to be restarted.
v5.0.1
binaryTo simplify the following step, we will be using Linux for illustration. Binary for and are also available.
Terminate the chain-maind
; afterward, download the 5.0.1
released binaries from GitHub:
You can verify the installation by checking the version of chain-maind
, the latest version is 5.0.1
.
Several new fields under ~/.chain-maind/config/app.toml
have been introduced, kindly add the following fields to the app.toml
:
Under Base Configuration
, please align theapp-db-backend
with the db-backend
field under ~/.chain-maind/config/config.toml
, for example, if it is goleveldb
(default), then we can add:
Under Rosetta Configuration
:
Under gRPC Configuration
:
We are ready to start the node join the network again with the new binary:
Start chain-maind
, e.g.:
Afterwards, sit back and wait for the syncing process. You can query the node syncing status by
If the above command returns false
, it means that your node is synced; otherwise, it returns true
and implies your node is still catching up.
At this step, you've successfully performed the new binary upgrade!