Intermediate

 

How to monitor a validator on the Solana blockchain network

This tutorial provides a comprehensive guide on how to check the status and activity of a validator on the Solana network. It includes steps on how to check the IP address and pubkey of a validator on the gossip network, balance, vote activity, cluster information, and publishing validator information. Additionally, the tutorial covers how to connect your validator pubkey with Keybase for enhanced visibility and to display public profile information. The tutorial uses the Solana CLI to perform these tasks and includes examples of the commands to run.

Check Gossip

Confirm the IP address and identity pubkey of your validator is visible in the gossip network by running:

solana gossip

 

Check Your Balance

Your account balance should decrease by the transaction fee amount as your validator submits votes, and increase after serving as the leader. Pass the --lamports are to observe in finer detail:

solana balance --lamports

 

Check Vote Activity

The solana vote-account command displays the recent voting activity from your validator:

solana vote-account ~/vote-account-keypair.json

 

Get Cluster Info

There are several useful JSON-RPC endpoints for monitoring your validator on the cluster, as well as the health of the cluster:

# Similar to solana-gossip, you should see your validator in the list of cluster nodes
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1, "method":"getClusterNodes"}' http://api.devnet.solana.com
# If your validator is properly voting, it should appear in the list of `current` vote accounts. If staked, `stake` should be > 0
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1, "method":"getVoteAccounts"}' http://api.devnet.solana.com
# Returns the current leader schedule
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1, "method":"getLeaderSchedule"}' http://api.devnet.solana.com
# Returns info about the current epoch. slotIndex should progress on subsequent calls.
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1, "method":"getEpochInfo"}' http://api.devnet.solana.com

 

Publishing Validator Info

You can publish your validator information to the chain to be publicly visible to other users.

Run solana validator-info

Run the solana CLI to populate a validator info account:

solana validator-info publish --keypair ~/validator-keypair.json <VALIDATOR_INFO_ARGS> <VALIDATOR_NAME>

 

For details about optional fields for VALIDATOR_INFO_ARGS:

 

solana validator-info publish --help

 

Example Commands

Example publish command:

solana validator-info publish "Elvis Validator" -n elvis -w "https://elvis-validates.com"

 

Example query command:

 
solana validator-info get

 

which outputs

Validator info from 8WdJvDz6obhADdxpGCiJKZsDYwTLNEDFizayqziDc9ah
  Validator pubkey: 6dMH3u76qZ7XG4bVboVRnBHR2FfrxEqTTTyj4xmyDMWo
  Info: {"keybaseUsername":"elvis","name":"Elvis Validator","website":"https://elvis-validates.com"}

 

Keybase

Including a Keybase username allows client applications (like the Solana Network Explorer) to automatically pull in your validator public profile, including cryptographic proofs, brand identity, etc. To connect your validator pubkey with Keybase:

Join and complete the profile for your validator

Add your validator identity pubkey to Keybase:

Create an empty file on your local computer called validator-<PUBKEY>

In Keybase, navigate to the Files section, and upload your pubkey file to

a solana subdirectory in your public folder: /keybase/public/<KEYBASE_USERNAME>/solana

To check your pubkey, ensure you can successfully browse to

https://keybase.pub/<KEYBASE_USERNAME>/solana/validator-<PUBKEY>

Add or update your solana validator-info with your Keybase username. The

CLI will verify the validator-<PUBKEY> file