Run a Validator

How to Run a Validator Node on BitNet

This section provides a step-by-step guide for setting up and running a validator node on BitNet.

Prerequisites

Before you begin, review the Validator Overview and Validator Security Guidelines. Ensure your system is configured in UTC timezone to avoid consensus errors like LastResultsHash mismatches that may halt your node.

Step 1: Generate Your Validator Key

Your validator's consensus public key is required to register a validator on the BitNet network. To retrieve this key, run:

bitnetd tendermint show-validator
triangle-exclamation

Step 2: Create the Validator

To register your validator on the network, use the command below. Adjust values based on your validator’s intended settings:

bitnetd tx staking create-validator \
  --amount=1000000abnc \
  --pubkey=$(bitnetd tendermint show-validator) \
  --moniker="YourValidatorName" \
  --chain-id=bitnet-mainnet \
  --commission-rate="0.05" \
  --commission-max-rate="0.10" \
  --commission-max-change-rate="0.01" \
  --min-self-delegation="1000000" \
  --gas="auto" \
  --gas-prices="0.025abnc" \
  --from=<wallet_name>
  • Commission Parameters define validator earnings.

  • Min Self-Delegation enforces a minimum stake the validator must maintain at all times.

  • Validators must rank in the top active set to start validating blocks.

Step 3: Add Public Description

You can personalize your validator by providing a public-facing profile:

circle-check

Step 4: Check Validator Status

Confirm your validator’s registration:

You may also track your validator’s block-signing activity using:

Step 5: Unjail If Slashed

If your validator was jailed (due to downtime or misbehavior), you can rejoin the active set using:

Ensure your node is synced before sending the unjail transaction.

Step 6: Halt Gracefully (Optional)

For planned upgrades or maintenance, halt your validator gracefully at a specific height:

Common Issues

  • Zero Voting Power?

    • You may be jailed. Restart your node and submit an unjail transaction.

  • Too Many Open Files?

    • Increase file limit:

    • For systemd:

Last updated