Manual Upgrades
Learn how to manually upgrade your node.
Pre-requisites
1. Upgrade the Point Chain version
Before upgrading the Point Chain version. Stop your instance of pointd
using Ctrl/Cmd+C
.
Next, upgrade the software to the desired release version. Check the Point Chain 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).
cd point-chain
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 Point Chain on your system by using the version
command:
$ pointd version --long
name: point
server_name: pointd
version: 3.0.0
commit: fe9df43332800a74a163c014c69e62765d8206e3
build_tags: netgo,ledger
go: go version go1.18 darwin/amd64
...
If the software version does not match, then please check your $PATH
to ensure the correct pointd
is running.
2. Replace Genesis file
You can find the latest genesis.json
file for mainnet or testnet in the following repositories:
- Mainnet and Testnet: github.com/pointnetwork/point-chain-config
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/.pointd/config
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.
cd ~/.pointd/config
echo "<expected_hash> genesis.json" | sha256sum -c
3. Data Reset
Remove the outdated files and reset the data:
rm $HOME/.pointd/config/addrbook.json
pointd tendermint unsafe-reset-all --home $HOME/.pointd
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.
🚨 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:
pointd start