Manual Updates

Learn how to manually upgrade your node.

Prerequisites

  • Install egaxd

1. Upgrade the Egaxd version

Before upgrading the Egaxd version. Stop your instance of egaxd using Ctrl/Cmd+C.

Next, upgrade the software to the desired release version. Check the Egaxd releases page for details on each release.

DANGER

Ensure that the version installed matches the one needed for the network you are running (mainnet or testnet).

cd egaxd
git fetch --all && git checkout <new_version>
make install

TIP

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 egaxd on your system by using the version command:

$ egaxd version --long

name: egaxd
server_name: egaxd
version: 3.0.0
commit: fe9df43332800a74a163c014c69e62765d8206e3
build_tags: netgo,ledger
go: go version go1.20 darwin/amd64
...

TIP

If the software version does not match, then please check your $PATH to ensure the correct egaxd is running.

2. Replace Genesis file

TIP

You can find the latest genesis.json file for mainnet or testnet in the following repositories:

  • Mainnet

  • Testnet

Save the new genesis as new_genesis.json. Then, replace the old genesis.json located in your config/ directory with new_genesis.json:

cd $HOME/.egaxd/config
cp -f genesis.json new_genesis.json
mv new_genesis.json genesis.json

TIP

We recommend using sha256sum to check the hash of the downloaded genesis against the expected genesis.

cd ~/.egaxd/config
echo "<expected_hash>  genesis.json" | sha256sum -c

3. Data Reset

DANGER

Check here if the version you are upgrading require a data reset (hard fork). If this is not the case, you can skip to Restart.

Remove the outdated files and reset the data:

rm $HOME/.egaxd/config/addrbook.json
egaxd tendermint unsafe-reset-all --home $HOME/.egaxd

Your node is now in a pristine state while keeping the original priv_validator.json and 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 been upgraded.

DANGER

🚨 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 start command:

egaxd start

Last updated