Skip to main content

Validator Operations

Day-to-day operations of your validator node.

Monitoring Node Status

Check Node Status

# Get the overall node status
nuklaid status

# Check the sync status
nuklaid status | jq '.SyncInfo'

# Check the validator voting power
nuklaid status | jq '.ValidatorInfo'

Monitor Node Logs

journalctl -u nuklai-chain -f

# Finding specific logs
journalctl -u nuklai-chain | grep "ERR"

Validator Management

Editing Validator Information

Update your validator's public info:

nuklaid tx staking edit-validator \
--new-moniker="NEW_MONIKER" \
--website="https://website.com" \
--identity="KEYBASE_ID" \
--details="DESCRIPTION" \
--security-contact="EMAIL" \
--from=validator \
--chain-id=nuklai \
--gas-prices=0.025nai \
--keyring-backend=test

Adjusting Commission Rate

nuklaid tx staking edit-validator \
--commission-rate="0.15" \
--from=validator \
--chain-id=nuklai \
--gas-prices=0.025nai \
--keyring-backend=test

Self-Delegation

Increase your self-delegation:

nuklaid tx staking delegate \
$(nuklaid keys show validator --bech val -a --keyring-backend test) \
1000000nai \
--from=validator \
--chain-id=nuklai \
--gas-prices=0.025nai \
--keyring-backend=test

Check Rewards

# View accumulated rewards
nuklaid query distribution rewards \
$(nuklaid keys show validator -a --keyring-backend test) \
$(nuklaid keys show validator --bech val -a --keyring-backend test)

# Withdraw rewards
nuklaid tx distribution withdraw-rewards \
$(nuklaid keys show validator --bech val -a --keyring-backend test) \
--from=validator \
--chain-id=nuklai \
--gas-prices=0.025nai \
--keyring-backend=test

Security

Checking for Double-Signing

nuklaid query slashing signing-info \
$(nuklaid tendermint show-validator)

Backup key Files

Regularly backup these files:

  • Private validator key: ~/.nuklai/config/priv_validator_key.json
  • Node key: ~/.nuklai/config/node_key.json
  • Validator keyring: ~/.nuklai/keyring-test/*
# Create backup
mkdir -p ~/nuklai-backup/$(date +%Y%m%d)
cp ~/.nuklai/config/priv_validator_key.json ~/nuklai-backup/$(date +%Y%m%d)/
cp ~/.nuklai/config/node_key.json ~/nuklai-backup/$(date +%Y%m%d)/
cp -r ~/.nuklai/keyring-test ~/nuklai-backup/$(date +%Y%m%d)/
chmod -R 600 ~/nuklai-backup

Maintenance Tasks

Version Upgrades

When governance approves an upgrade:

  1. Wait for the upgrade height

  2. Stop the validator service

    systemctl stop nuklai-chain
  3. Upgrade the binary

    # Download and install new version
    cp new-nuklaid /app/nuklaivm/bin/nuklaid
    chmod +x /app/nuklaivm/bin/nuklaid
  4. Restart the service

    systemctl start nuklai-chain

State Pruning

To reduce disk space:

sed -i 's/pruning = "default"/pruning = "custom"/g' ~/.nuklai/config/app.toml
sed -i 's/pruning-keep-recent = "0"/pruning-keep-recent = "100"/g' ~/.nuklai/config/app.toml
sed -i 's/pruning-keep-every = "0"/pruning-keep-every = "0"/g' ~/.nuklai/config/app.toml
sed -i 's/pruning-interval = "0"/pruning-interval = "10"/g' ~/.nuklai/config/app.toml

# Restart the node
systemctl restart nuklai-chain

Validator Recovery

Unjailing

If your validator is jailed for downtime:

nuklaid tx slashing unjail \
--from=validator \
--chain-id=nuklai \
--gas-prices=0.025nai \
--keyring-backend=test

Complete Node Recovery

In case of catastrophic failure:

  1. Set up a new server following the setup guide
  2. Copy your backed up private keys
  3. Start the node and wait for sync
  4. Create the validator again if needed