Skip to main content

Become a Validator

This guide will show you how to register the running node as a validator. So that the program can fulfill the data on BandChain.

Step 1: Fund the Validator Account

bandd keys show $WALLET_NAME

Then fund tokens into this account ready for staking.

Step 2: Stake Tokens with the Validator Account

bandd tx staking create-validator \
--amount 1000000uband \
--commission-max-change-rate 0.01 \
--commission-max-rate 0.2 \
--commission-rate 0.1 \
--from $WALLET_NAME \
--min-self-delegation 1 \
--moniker "$MONIKER" \
--pubkey $(bandd tendermint show-validator) \
--chain-id $CHAIN_ID

Registered validators can be found on CosmoScan.

Step 3: Register Reporters & Feeders and Become Data Provider

You will need to register Reporters and Feeders to help the validator submit transactions of reporting data.

Firstly, reporter and feeder accounts must be created on BandChain by supplying a small amount of BAND tokens.

# Send 1uband from a wallet to each reporter.
bandd tx bank multi-send $WALLET_NAME $(yoda keys list -a) 1uband \
--chain-id $CHAIN_ID \
--gas 400000
# Send 1uband from a wallet to each feeder.
bandd tx bank multi-send $WALLET_NAME $(grogu keys list -a) 1uband \
--chain-id $CHAIN_ID \
--gas 400000

Secondly, register reporters and feeders to the validator, so that they can send transactions for the validator.

bandd tx oracle add-reporters $(yoda keys list -a) \
--from $WALLET_NAME \
--chain-id $CHAIN_ID \
--gas 400000
bandd tx feeds add-feeders $(grogu keys list -a) \
--from $WALLET_NAME \
--chain-id $CHAIN_ID \
--gas 400000

Finally, activate the validator to become a data provider

bandd tx oracle activate \
--from $WALLET_NAME \
--chain-id $CHAIN_ID

If all procedures are successful, then the data provider status for the validator should be active.

bandd query oracle validator $(bandd keys show -a $WALLET_NAME --bech val)

# {
# "is_active": true,
# "since": ...
# }

And now you have become a validator on BandChain Laozi mainnet.