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. BitNet Ops Handbook

Testnet

PreviousRollbackNextMainnet

Last updated 5 days ago

Joining the BitNet Testnet

This guide explains how to connect to the BitNet testnet, configure your node, and become a testnet validator.


1. Select the Testnet

Choose the testnet version by setting the appropriate Chain ID and retrieving the corresponding genesis file and seed peers. You can find these in the .

Ensure your server timezone is set to UTC. Misconfigured timezones may cause LastResultsHash mismatches that halt the node.


2. Install the BitNet Binary

Install the BitNet CLI binary (bitnetd) following the .

Ensure you install the correct version for the current testnet. Run:

bitnetd version

3. Save Chain ID (Optional)

To avoid passing --chain-id in every CLI command, you can set it globally:

bitnetd config chain-id bitnet_testnet_9000

4. Initialize the Node

Initialize your node:

bitnetd init <your_moniker> --chain-id bitnet_testnet_9000

Moniker must contain only ASCII characters.


5. Add Genesis File

Download the testnet genesis.json and place it into your config folder:

wget -P ~/.bitnetd/config https://archive.bitnet.org/testnet/genesis.json
bitnetd validate-genesis

6. Configure Seed and Persistent Peers

Add Seeds

Open ~/.bitnetd/config/config.toml and set:

seeds = "<node_id>@<ip>:<port>"

Or auto-configure using:

SEEDS=$(curl -sL https://raw.githubusercontent.com/bitnet/testnets/main/seeds.txt | awk '{print $1}' | paste -s -d, -)
sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/" ~/.bitnetd/config/config.toml

Add Persistent Peers

PEERS=$(curl -sL https://raw.githubusercontent.com/bitnet/testnets/main/peers.txt | sort -R | head -n 10 | awk '{print $1}' | paste -s -d, -)
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" ~/.bitnetd/config/config.toml

7. Start Your Node

bitnetd start

Once two-thirds of testnet validators are online, block production begins.


8. Create a Validator (Optional)

After getting testnet tokens from the faucet, submit a validator creation transaction:

bitnetd tx staking create-validator \
  --amount=1000000abnc \
  --pubkey=$(bitnetd tendermint show-validator) \
  --moniker="BitNetTester" \
  --chain-id=bitnet_testnet_9000 \
  --commission-rate="0.05" \
  --commission-max-rate="0.20" \
  --commission-max-change-rate="0.01" \
  --min-self-delegation="1" \
  --gas="auto" \
  --gas-prices="0.025abnc" \
  --from=<key_name>

9. Resetting or Restarting the Node

If required, reset data:

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

Then restart:

bitnetd start

10. Share Your Peer

To help others find you, get your node ID:

bitnetd tendermint show-node-id

Share it on the BitNet Discord's #find-peers channel.

BitNet testnet repository
official installation instructions