Learn how to manually upgrade your node.
1. Upgrade the Evmos version
Before upgrading the Evmos version. Stop your instance of
Next, upgrade the software to the desired release version. Check the Evmos releases page for details on each release.
Ensure that the version installed matches the one needed for the network you are running (mainnet or testnet).
git fetch --all && git checkout <new_version>
If you have issues at this step, please check that you have the latest stable version of Golang installed.
Verify that you've successfully installed Evmos on your system by using the
$ evmosd version --long
go: go version go1.20 darwin/amd64
If the software version does not match, then please check your
$PATH to ensure the correct
evmosd is running.
2. Replace Genesis file
You can find the latest
genesis.json file for mainnet or testnet in the following repositories:
- Mainnet: github.com/evmos/mainnet
- Testnet: github.com/evmos/testnets
Save the new genesis as
new_genesis.json. Then, replace the old
genesis.json located in your
config/ directory with
cp -f genesis.json new_genesis.json
mv new_genesis.json genesis.json
We recommend using
sha256sum to check the hash of the downloaded genesis against the expected genesis.
echo "<expected_hash> genesis.json" | sha256sum -c
3. Data Reset
Remove the outdated files and reset the data:
evmosd tendermint unsafe-reset-all --home $HOME/.evmosd
Your node is now in a pristine state while keeping the original
config.toml. If you had any
sentry nodes or full nodes setup before,
your node will still try to connect to them, but may fail if they haven't also
🚨 IMPORTANT 🚨
Make sure that every node has a unique
priv_validator.json. DO NOT copy the
priv_validator.json from an old node
to multiple new nodes. Running two nodes with the same
priv_validator.json will cause you to double sign.
4. Restart Node
To restart your node once the new genesis has been updated, use the