Comment on page

How to perform a chain upgrade


Video Tutorial


Those operators who use our Kubernetes or standalone Docker solution generally may not need to do anything to upgrade their node when a chain upgrade proposal is issued as their nodes will usually be upgraded automatically via Cosmovisor. However, for operators who have launched Validator Nodes using our manual standalone documentation and have disabled Cosmovisor from downloading new binaries automatically, by setting DAEMON_ALLOW_DOWNLOAD_BINARIES = false, the following steps would be required to upgrade to the latest sifnoded binary. The new binary will only be used after the specified block height is reached. Binaries for each release will be available here for download:

Download the Updated Binary

First you will need to create a directory with the name corresponding to the version number of sifnoded being upgraded to. If the upgrade release is v0.11.0, the name of the directory would be 0.11.0. You would create the new directory using the following:
mkdir -p "${HOME}"/.sifnoded/cosmovisor/upgrades/0.11.0/bin
The next step would be to download the new release:
cd "${HOME}"/.sifnoded/cosmovisor/upgrades/0.11.0/bin
wget -O

Verify Download

Each release has a sha256 file associated to allow for verifying that the downloaded file is the correct file. Use the following command to generate the sha256 hash for the downloaded file:
Download the sha256 file connected to the release file downloaded using the following:
wget -O sifnodesha256.txt
Compare both sha256 hash strings and if both strings are the same then the file downloaded matches the actual release file.

Extract Binary

Unzip the binary in the "${HOME}"/.sifnoded/cosmovisor/upgrades/0.11.0/bin folder using:
Once the block height set in the software upgrade governance proposal is reached, your node will automatically switch to using the v0.11.0 binary. However, if your node was already halted (you're performing the above steps after the height has already been reached/passed), then simply restart your node once you've completed the steps above.