Register a validator
This is a detailed step-by-step guide for setting up a JMES validator. Please be aware that while it is easy to set up a rudimentary validating node, running a production-quality validator node with a robust architecture and security features requires an extensive setup.
Prerequisites
- You have completed how to run a full JMES node, which outlines how to install, connect, and configure a node.
- You are familiar with JMESd.
- You have read through the validator FAQ
- You understand the different keys of a validator in the FAQ
1. Get a JMES account key
Generate a JMES account key. Replace the variable with your account key name:
_1jmesd keys add <key-name>
Please keep your account key information safe.
2. Create a new validator
For the jmes-testnet-1
, use the faucet to send JMES to your account - you need at least 100 JMES for self-delegation.
To create the validator and initialize it with a self-delegation, run the following command. key-name
is the name of the Application Operator Key that is used to sign transactions.
_11jmesd tx staking create-validator \_11 --amount=100000000ujmes \_11 --pubkey="$(jmesd tendermint show-validator)" \_11 --moniker="<your-moniker>" \_11 --chain-id="<chain-id>" \_11 --from="<key-name>" \_11 --commission-rate="0.10" \_11 --commission-max-rate="0.20" \_11 --commission-max-change-rate="0.01" \_11 --min-self-delegation="1" \_11 --fees=30000ujmes
When you specify commission parameters, the commission-max-change-rate
is measured as a percentage-point change of the commission-rate
. For example, a change from 1% to 2% is a 100% rate increase, but the commission-max-change-rate
is measured as 1%.
3. Confirm your validator is active
If running the following command returns something, your validator is active:
_1jmesd query tendermint-validator-set | grep "$(jmesd tendermint show-address)"
You are looking for the bech32
encoded address
in the ~/.jmes/config/priv_validator.json
file.
Only the top 100 validators in voting power are included in the active validator set.
4. Secure your keys and have a backup plan
Protecting and having a contingency backup plan for your keys will help mitigate catastrophic hardware or software failures of the node. It is a good practice to test your backup plan on a testnet node in case of node failure.