Run a Validator
What is a Validator?
Validators are responsible for committing new blocks to the blockchain through an automated voting process. A validator's stake is slashed if they become unavailable or sign blocks at the same height. Because there is a chance of slashing, we suggest you read about Sentry Node Architecture to protect your node from DDOS attacks and to ensure high-availability.
The following instructions assume you have already set up a full-node and are synchonised to the latest blockheight.
Creating Your Validator
check your balances:
Create Your Validator
If you need further explanation for each of these command flags:
the
from
flag is the KEY_NAME you created when initializing the key on your keyringthe
amount
flag is the amount you will place in your own validator in usidethe
pubkey
is the validator public key found earlierthe
moniker
is a human-readable name you choose for your validatorthe
security-contact
is an email your delegates are able to contact you atthe
chain-id
is whatever chain-id you are working withthe
commission-rate
is the rate you will charge your delegatesthe
commission-max-rate
is the most you are allowed to charge your delegatesthe
commission-max-change-rate
is how much you can increase your commission rate in a 24 hour periodthe
min-self-delegation
is the lowest amount of personal funds the validator is required to have in their own validator to stay bondedthe
gas-prices
is the amount of gas used to send this create-validator transaction
Editing Validator Description
You can edit your validator's public description. This info is to identify your validator, and will be relied on by delegators to decide which validators to stake to. Make sure to provide input for every flag below. If a flag is not included in the command the field will default to empty (--moniker
defaults to the machine name) if the field has never been set or remain the same if it has been set in the past.
The <key_name>
specifies which validator you are editing. If you choose to not include some flags below, remember that the --from
flag must be included to identify the validator to update.
The --identity
can be used as to verify identity with systems like Keybase or UPort. When using Keybase, --identity
should be populated with a 16-digit string that is generated with a keybase.io (opens new window)account. It's a cryptographically secure method of verifying your identity across multiple online networks. The Keybase API allows us to retrieve your Keybase avatar. This is how you can add a logo to your validator profile.
Note: The commission-rate
value must adhere to the following rules:
Must be between 0 and the validator's
commission-max-rate
Must not exceed the validator's
commission-max-change-rate
which is maximum % point change rate per day. In other words, a validator can only change its commission once per day and withincommission-max-change-rate
bounds.
Viewing Validator Description
View the validator's information with this command:
Unjail Validator
When a validator is "jailed" for downtime, you must submit an Unjail transaction from the operator account in order to be able to get block proposer rewards again (depends on the zone fee distribution).
Confirm Your Validator is Running
Your validator is active if the following command returns anything:
You should now see your validator in one of Side Chain explorers. You are looking for the bech32 encoded address in the ~/.side/config/priv_validator.json
file.
Halting Your Validator
When attempting to perform routine maintenance or planning for an upcoming coordinated upgrade, it can be useful to have your validator systematically and gracefully halt. You can achieve this by either setting the halt-height
to the height at which you want your node to shutdown or by passing the --halt-height
flag to sided. The node will shutdown with a zero exit code at that given height after committing the block.
Advanced configuration
You can find more advanced information about running a node or a validator on the CometBFT Core documentation.
Last updated