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 Keybase 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