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-addris 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.