Skip to main content

Validator Management

You should replace <serviceName> with the name of the service that you created to run your node. For instance, wardend, hedged, or 0gchain are the names of example services that are commonly used to operate nodes of corresponding projects.

Use your own <walletName> e.g. wardend keys add NGSolutions.

  1. Create New Validator

    <serviceName> tx staking create-validator \
    --amount 1000000<uToken> \
    --from $WALLET \
    --commission-rate 0.1 \
    --commission-max-rate 0.2 \
    --commission-max-change-rate 0.01 \
    --min-self-delegation 1 \
    --pubkey $(<serviceName> tendermint show-validator) \
    --moniker "$MONIKER" \
    --identity "" \
    --details "NGSolutions was here." \
    --chain-id <chain-id> \
    --gas auto --gas-adjustment 1.5 --fees 600<uToken> \
    -y
  2. Edit Existing Validator

    <serviceName> tx staking edit-validator \
    --commission-rate 0.1 \
    --new-moniker "$MONIKER" \
    --identity "" \
    --details "NGSolutions was here." \
    --from $WALLET \
    --chain-id <chain-id> \
    --gas auto --gas-adjustment 1.5 --fees 600<uToken> \
    -y
  3. Validator info

    <serviceName> status 2>&1 | jq
  4. Validator Details

    <serviceName> q staking validator $(<serviceName> keys show $WALLET --bech val -a) 
  5. Jailing info

    <serviceName> q slashing signing-info $(<serviceName> tendermint show-validator) 
  6. Slashing parameters

    <serviceName> q slashing params 
  7. Unjail validator

    <serviceName> tx slashing unjail --from $WALLET --chain-id <chain-id> --gas auto --gas-adjustment 1.5 --fees 600<uToken> -y 
  8. Active Validators List

    <serviceName> q staking validators -oj --limit=2000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " 	 " + .description.moniker' | sort -gr | nl 
  9. Check Validator key

    [[ $(<serviceName> q staking validator $VALOPER_ADDRESS -oj | jq -r .consensus_pubkey.key) = $(<serviceName> status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "Your key status is ok" || echo -e "Your key status is error"
  10. Signing info

    <serviceName> q slashing signing-info $(<serviceName> tendermint show-validator)