Skip to main content

Manual Upgrades

Learn how to upgrade your node manually.

Prerequisites

1. Upgrade the Humans.ai version

Prior to a version upgrade for Humnas.ai. Ctrl/Cmd+C will terminate your instance of humansd.

The software should then be upgraded to the desired release version. For information on each version, visit the Humans.ai releases website.

danger

Make that the version you have installed is the one required for the mainnet or testnet you are using.

cd humans
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 Humans.ai on your system by using the version command:

$ humansd version --long

name: humans
server_name: humansd
version: 1.0.0
commit: 76d2778bd2608e76712ebc54d320c85f8f098117
build_tags: netgo,ledger
go: go version go1.20.3 linux/amd64
...
tip

Please check your $PATH to make sure the right humansd is running if the software version does not match.

2. Replace Genesis file

tip

The following repositories include the most recent versions of the genesis.json file for mainnet and testnet:

The new genesis should be saved as new_genesis.json. After that, replace the outdated version of genesis.json in your config/ directory with new_genesis.json:

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

To compare the hash of the downloaded genesis to the anticipated genesis, we advise using sha256sum.

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

3. Data Reset

danger

If the version you are upgrading needs a data reset (hard fork), check here. If not, proceed to restart instead.

Reset the data and delete any out-of-date files:

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

Your node is now in a perfect condition while retaining the original versions of config.toml and priv_validator.json. If you previously put up any sentry nodes or complete nodes, your node will continue attempt to connect to them, but it might not succeed if they haven't also been upgraded.

danger

🚨 IMPORTANT 🚨: priv_validator.json must be unique for each node. The priv_validator.json file should not be copied from one old node to several new nodes. You will double sign if you run two nodes with the same 'priv_validator.json.

4. Restart Node

Once the new genesis has been updated, use the start command to restart your node:

humansd start