Skip to main content

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

1. Get a JMES account key

Generate a JMES account key. Replace the variable with your account key name:


_1
jmesd keys add <key-name>

Please keep your account key information safe.

2. Create a new validator

💡Get coins

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.


_11
jmesd 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

☢️caution

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:


_1
jmesd 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.

📝note

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.