Skip to main content

Validator Cheat Sheet (~15 min)

🖨 🍝 Quick instructions to get your Validator running on Pocket Network ✅

warning

Table of Contents

Prerequisites

pocket user

If you followed the Full Node Cheat Sheet, switch to the user running the full node (with pocketd installed):

su - pocket # or use your chosen username

Account Setup

Create Validator Account

Generate a new validator key pair:

pocketd keys add validator

Set Up Environment

Set environment variables:

cat << 'EOT' > ~/.pocketrc
export QUERY_FLAGS="--network=<NETWORK>" # local, alpha, beta, main
export TX_PARAM_FLAGS="--fees 200000upokt --network=<NETWORK>" # local, alpha, beta, main
export ADDR=$(pocketd keys show validator -a)
export VALIDATOR_ADDR=$(pocketd keys show validator -a --bech val)
EOT

echo "source ~/.pocketrc" >> ~/.bashrc

Fund Validator Account

Show your validator address:

echo "Validator address: $ADDR"
pocketd tx bank send <SOURCE ADDRESS> $ADDR <AMOUNT_TO_STAKE>upokt $TX_PARAM_FLAGS

Check your balance:

pocketd query bank balances $ADDR
tip

Know someone at Grove on Beta TestNet? Ask them to run:

pkd_beta_tx tx bank send faucet_beta $ADDR 6900000000042upokt

Back up Keys 🔑

warning

Before you proceed ensure you have securely backed up your keys!!! Losing validator keys will result in SLASHING!

  • Back up your validator address key
  • Back up your priv_validator_key.json - used to sign blocks. Found in /pocketd/config/
  • Back up your node_key.json - used for P2P. Found in /pocketd/config/

Configure Validator

Get Validator PubKey

Get your validator's pubkey:

pocketd comet show-validator

Example output:

{ "@type": "/cosmos.crypto.ed25519.PubKey", "key": "YourPublicKeyHere" }

Create Validator JSON

Create validator.json and update:

  • "pubkey": Use your pubkey from above
  • "amount": Amount to stake (e.g., "1000000upokt")
  • "moniker": Your validator's name (default: validator)
  • Optionally fill in "identity", "website", "security", "details"
cat << 'EOF' > validator.json
{
"pubkey": {
"@type": "/cosmos.crypto.ed25519.PubKey",
"key": "YdlQyhjtrq9pk7afmz6oQ275L4FElzjzEJvB1fj3e1w="
},
"amount": "1000000upokt",
"moniker": "validator",
"identity": "",
"website": "",
"security": "",
"details": "",
"commission-rate": "0.100000000000000000",
"commission-max-rate": "0.200000000000000000",
"commission-max-change-rate": "0.010000000000000000",
"min-self-delegation": "1"
}
EOF

Create Validator

Register your validator:

pocketd tx staking create-validator ./validator.json --from=validator $TX_PARAM_FLAGS

Check Validator Status

Check your validator status:

pocketd query staking validator $VALIDATOR_ADDR $QUERY_FLAGS