Developer Docs
  • Overview
  • Setup & Configuration
    • Run a Validator
    • Configuration
    • Disk Usage Optimization
    • State Sync
    • Mempool
    • Validator FAQ
  • Security Essentials
    • Security
    • Tendermint KMS
    • Validator Security Checklist
  • Upgrades Overview
    • Upgrades
    • List of Upgrades
    • Hard Fork Upgrades
    • Manual Upgrades
    • Rollback
  • BitNet Ops Handbook
    • Testnet
    • Mainnet
    • Run an IBC Relayer
Powered by GitBook
On this page
  1. Upgrades Overview

Manual Upgrades

Manual Upgrade Procedure for BitNet Nodes

This section provides instructions for BitNet validators and node operators who prefer to perform manual upgrades instead of using automation tools like Cosmovisor. Manual upgrades are also necessary when handling emergency forks, state resets, or custom genesis updates.


1. Stop the Node

Before beginning any upgrade, gracefully shut down your node:

Ctrl + C

2. Install the New BitNet Version

Switch to the correct GitHub release and compile the updated binary:

cd bitnet
git fetch --all && git checkout <new_version>
make install

Confirm the new binary is installed:

bitnetd version --long

Ensure the binary version matches the expected upgrade version for your environment (mainnet or testnet). Use the correct Go version as specified in the release notes.


3. Replace the Genesis File (If Required)

If the upgrade requires a genesis change, download the latest genesis.json from the appropriate BitNet repository and verify it:

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

echo "<expected_sha256_hash>  genesis.json" | sha256sum -c

4. Reset Node Data (If Required)

If the upgrade is a breaking change that requires a full data reset:

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

Never reuse the same priv_validator_key.json across multiple nodes. Doing so can result in double-signing and slashing.


5. Restart the Node

Once the upgrade and optional reset are complete:

bitnetd start

Your node will resync from the latest height or from scratch (if reset), and join the network using the new software version.


This completes the manual upgrade process. BitNet node operators should monitor network announcements, upgrade proposals, and release timelines to avoid downtime or consensus errors.

PreviousHard Fork UpgradesNextRollback

Last updated 5 days ago