Intermediate
How to Check and update Validator Information
This tutorial explains how to check information about a Harmony validator using the CLI. The command and parameters for checking information for Mainnet and Testnet are provided. An example is shown to demonstrate how to check the information of a specific validator. The information returned includes the validator’s performance, delegation details, BLS public key, reward accumulation, effective stake, identity, and more. Note that a validator must sign at least 2/3 of the blocks in an epoch, or risk being removed from the pool of eligible validators.
How to see your current validator information
You can check your validator’s information using the CLI with the following command:
Mainnet
./hmy blockchain validator information [ONE ADDRESS] --node="https://api.s0.t.hmny.io"
Testnet
./hmy blockchain validator information [ONE ADDRESS] --node="https://api.s0.b.hmny.io"
Example:
./hmy blockchain validator information one1925zlp5celp8r8jj3utpcxpjtncuuv2nu2449v --node="https://api.s0.t.hmny.io"
Output:
{ "id": "0", "jsonrpc": "2.0", "result": { "current-epoch-performance": { "current-epoch-signing-percent": { "current-epoch-blocks-left": 9, "current-epoch-signed": 29, "current-epoch-signing-percentage": "1.000000000000000000", "current-epoch-to-sign": 29 } }, "currently-in-committee": true, "epos-status": "currently elected and signing enough blocks to be eligible for election next epoch", "lifetime": { "apr": "0.000000000000000000", "blocks": { "signed": 5879, "to-sign": 5880 }, "reward-accumulated": 6.966841018353012e+21 }, "metrics": { "by-shard": [ { "bls-public-key": "3a26c230170cb295a20931661967ebc3bd817859e11d1eecda5cabb9ad372cd6cbba7843a72a24f24352dc3757aad014", "earning-account": "one1925zlp5celp8r8jj3utpcxpjtncuuv2nu2449v", "effective-stake": "250000000000000000000000.000000000000000000", "group-percent": "0.035843835577157440", "overall-percent": "0.011470027384690381", "shard-id": 0 } ], "total-effective-stake": "250000000000000000000000.000000000000000000" }, "total-delegation": 2.5e+23, "validator": { "address": "one1925zlp5celp8r8jj3utpcxpjtncuuv2nu2449v", "bls-public-keys": [ "3a26c230170cb295a20931661967ebc3bd817859e11d1eecda5cabb9ad372cd6cbba7843a72a24f24352dc3757aad014" ], "creation-height": 12037, "delegations": [ { "amount": 1.5e+23, "delegator-address": "one1925zlp5celp8r8jj3utpcxpjtncuuv2nu2449v", "reward": 6.149775864909033e+21, "undelegations": [] }, { "amount": 1e+23, "delegator-address": "one1jjq5pl4le0fhhu3n2znkkt9tydrzjcyzaljtnl", "reward": 620363080921910600000, "undelegations": [] } ], "details": "S0", "identity": "J", "last-epoch-in-committee": 471, "max-change-rate": "0.100000000000000000", "max-rate": "0.500000000000000000", "max-total-delegation": 1e+25, "min-self-delegation": 1e+22, "name": "[R]", "rate": "0.100000000000000000", "security-contact": "J", "update-height": 12037, "website": "harmony.one" } } }
If your validator does not sign more than 2/3 of the blocks in an epoch, the validator will be removed from the pool of eligible validators.
In order to be included in the pool again, you will have to use send an Edit Validator transaction with --active true.
Changing Validator Information
How to update your validator information
You can edit your validator’s information using the CLI with the following command:
Mainnet
./hmy --node="https://api.s0.t.hmny.io" staking edit-validator \ --validator-addr [ONE ADDRESS] [FIELDS TO EDIT] --passphrase
Testnet
./hmy --node="https://api.s0.b.hmny.io" staking edit-validator \ --validator-addr [ONE ADDRESS] [FIELDS TO EDIT] --passphrase
The CLI will prompt you to enter your BLS key file password. Only the --validator-addr
field is required; all other fields are optional.
--validator-addr
is the validator ONE address that you want to edit (string)
--active
to set validator as eligible or not to be elected (bool)
--name
to change the name displayed on the Staking Explorer (string)
--identity
to change the identity field (string)
--website
to change the website field (string)
--details
to change the details field (string)
--security-contact
to change the security contact field (string)
--rate
to change the current commission rate (float)
--min-self-delegation
to change the minimum stake by the validator (float)
--max-total-delegation
to change the maximum stake that the validator can take (float)
--remove-bls-key
to remove a BLS public key associated with your validator (string)
--add-bls-key
to add another BLS public key to your validator (string)
When you add or remove keys from your validator (using--add-bls-key
or --remove-bls-key
) make sure to restart the harmony service so it accounts for the BLS keys you are using.
--validator-addr
is the only field that is required.
Sending the command without the arguments will leave those fields of your validator as is.
--max-rate
and --max-change-rate
cannot be changed after creation.
--min-self-delegation
must be at least 10,000 ONE.