Skip to main content

Manual Upgrades

Learn how to manually upgrade your node.

Prerequisites

1. Upgrade the Paxeer Network version

Before upgrading the Paxeer Network version. Stop your instance of hyperpaxd using Ctrl/Cmd+C. Next, upgrade the software to the desired release version. Check the Paxeer Network 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 Paxeer Network
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 Paxeer Network on your system by using the version command:
$ hyperpaxd version --long

name: Paxeer Network
server_name: hyperpaxd
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 hyperpaxd is running. :::

2. Replace Genesis file

:::tip You can find the latest genesis.json file for mainnet or testnet in the following repositories: 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/.hyperpaxd/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 ~/.hyperpaxd/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/.hyperpaxd/config/addrbook.json
hyperpaxd tendermint unsafe-reset-all --home $HOME/.hyperpaxd
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:
hyperpaxd start