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.
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
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
...
Please check your $PATH
to make sure the right humansd
is running if the software version does not match.
2. Replace Genesis file
The following repositories include the most recent versions of the genesis.json
file for mainnet and testnet:
- Mainnet: github.com/humansdotai/mainnets
- Testnet: github.com/humansdotai/testnets
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
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
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.
🚨 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