./hmy --node="https://api.s0.t.hmny.io" blockchain median-stake | grep median
Reasons why your validator is not elected & how to get elected.
Harmony operates with Effective Proof of Stake (EPoS) to keep the network security from collecting in the hands of a few validators. You can find our full Medium article on EPoS here!
TL;DR Validators are elected based on their effective stake, instead of their absolute stake. The effective stake is calculated based on the median stake in the network. The top 900 BLS keys with the highest effective stake will be elected for the epoch.
The value returned by the CLI is in Atto, which is equivalent to Gwei in Ethereum.
Visit https://staking.harmony.one/validators/<youroneaccount>
Example : https://staking.harmony.one/validators/one1u6c4wer2dkm767hmjeehnwu6tqqur62gx9vqsd
Your Total Staked
divided by the number of BLS keys you set on your validator will give you the effective bidding stake. This effective bidding stake will be used to bid in the 900 slots available each epoch. Bidding above the median stake is the safest way to get your keys elected each epoch. Bidding below the median stake is riskier, as you may be kicked out of the committee for 1 epoch in case you outbid. For more information on the bidding process check here.
We recommend that you start bidding above or around the median stake, so you are likely to always stay elected each epoch.
Run the command below:
Output:
If not eligible, activate it for the next epoch election:
Run the command below:
Output:
For your validator to stay elected, you wanna make sure the current-epoch-signing-percentage
is above 66% (0.66).
To fix the above, we have to make sure the node is working correctly and below are few pointers
Compare your node block height with the network block height.
Check your node block height:
If the above doesn’t work and you have an error message similar to this: commit: v304-0e26945, error: dial tcp4 127.0.0.1:9500: connect: connection refused It means the harmony node binary is not running. Please follow this documentation on how to run the node.
Check the network block height:
Make sure network height and your current height are very close or equal. Additionally if your node is validating for a
The above command is for network height on shard 0, change s0 to s1, s2, .. to match the shard you want to check.
When you are fully synced and your validator profile is satisfactory you should start having BINGOs in your validator log file at epoch change.
You can check BINGOs via this command:
And you’ll notice in your validator information that you started signing blocks.
Output:
If you fail to sign blocks, verify your machine/vps doesn't have CPU/memory/hard disk/internet issues. When you fail to sign more than 66% of the blocks in an epoch, you’ll be kicked out from the committee.