Node upgrades follow a standard stop-replace-restart procedure. Autheo Chain uses Cosmos SDK governance-based upgrades where the network reaches consensus on an upgrade height, after which nodes must be running the new binary.
Before upgrading
Upgrade procedure
Download the new binary
# Check current version
autheod version
# Download the new binary (replace X.Y.Z with the target version)
wget https://github.com/autheo-blockchain/autheo-chain-core/releases/download/vX.Y.Z/autheod-linux-amd64 \
-O /tmp/autheod-new
chmod +x /tmp/autheod-new
# Verify the version
/tmp/autheod-new version
Stop the node at the upgrade height
The node will automatically halt at the governance-specified upgrade height if the upgrade handler is built into the binary. If performing a manual upgrade:sudo systemctl stop autheod
Replace the binary
sudo cp /tmp/autheod-new /usr/local/bin/autheod
autheod version # confirm new version
Restart the node
sudo systemctl start autheod
sudo journalctl -u autheod -f
Watch the logs for committed state messages indicating the node is producing or following blocks.Verify sync
autheod status | jq '.SyncInfo'
Confirm catching_up: false and that the latest_block_height is advancing.
Build from source (alternative)
git clone https://github.com/autheo-blockchain/autheo-chain-core.git
cd autheo-chain-core
git checkout vX.Y.Z
make build
sudo cp build/autheod /usr/local/bin/autheod
Rollback
If the upgrade fails and you need to roll back:
- Stop the node:
sudo systemctl stop autheod
- Restore the previous binary
- Restore
data/priv_validator_state.json from your backup (critical — prevents double-signing)
- Start the node
Never restore an older priv_validator_state.json than the most recent backup. Using a stale state file will cause the node to double-sign blocks, resulting in permanent tombstoning.
Cosmovisor (automatic upgrades)
For automated upgrade management, consider running the node under Cosmovisor. Cosmovisor monitors for on-chain upgrade proposals and automatically swaps the binary at the target height.