Run Validator - Manual setup
1. Install node (
lavad) & Join network
Running as a validator requires a Lava Node running, Please refer to our guide for joining Testnet for details.
2. Prepare an account & Fund it
If you don't have an account (wallet) on Lava yet, Refer to creating new accounts and the faucet.
3. Stake & start validating
Once your account is funded, run this to stake and start validating.
- Verify that your node has finished synching and it is caught up with the network
$current_lavad_binary status | jq .SyncInfo.catching_up
# Wait until you see the output: "false"
- Verify that your account has funds in it in order to perform staking
# Make sure you can see your account name in the keys list
$current_lavad_binary keys list
# Make sure you see your account has Lava tokens in it
YOUR_ADDRESS=$($current_lavad_binary keys show -a $ACCOUNT_NAME)
$current_lavad_binary query \
bank balances \
Back up your validator's consensus key
A validator participates in the consensus by sending a message signed by a consensus key which is automatically generated when you first run a node. You must create a backup of this consensus key in case that you migrate your validator to another server or accidentally lose access to your validator.
A consensus key is stored as a json file in
$lavad_home_folder/config/priv_validator_key.jsonby default, or a custom path specified in the parameter
Here's an example with Values which starts with a stake of
<<moniker_node>> With a human readable name you choose for your validator.
$current_lavad_binary tx staking create-validator \
--pubkey=$($current_lavad_binary tendermint show-validator --home "$HOME/.lava/") \
--gas-adjustment "1.5" \
Once you have finished running the command above, if you see
code: 0 in the output, the command was successful
- Verify validator setup
# Check that the validator node is registered and staked
validator_pubkey=$($current_lavad_binary tendermint show-validator | jq .key | tr -d '"')
$current_lavad_binary q staking validators | grep $validator_pubkey
# Check the voting power of your validator node - please allow 30-60 seconds for the output to be updated
$current_lavad_binary status | jq .ValidatorInfo.VotingPower | tr -d '"'
# Output should be > 0