Run a Validator
Prerequisite Readings
Validator Overview
Validator Security
Tip: If you plan to use a Key Management System (KMS), follow these steps first: Using a KMS.
Warning: ⚠️ Ensure your server timezone configuration is set to UTC. A different timezone configuration may cause a LastResultsHash mismatch error, potentially taking down your node.
Creating Your Validator
Your node consensus public key (dhivevalconspub...) can be used to create a new validator by staking DHIVE tokens. You can retrieve your validator public key by running:
Warning: 🚨 Never create your mainnet validator keys using a test keying backend. Doing so may result in a loss of funds by making them remotely accessible via the eth_sendTransaction
JSON-RPC endpoint.
Security Advisory: Insecurely configured Geth can make funds remotely accessible.
To create your validator on the testnet, use the following command:
Tips:
The
commission-max-change-rate
measures percentage point changes over thecommission-rate
. For example, a change from 1% to 2% represents a 100% increase but only one percentage point.Min-self-delegation
is a strictly positive integer defining the minimum voting power your validator must maintain. A value of1000000
ensures your validator never has a self-delegation lower than 1atdhive
.
You can confirm that your validator is in the validator set using a third-party explorer.
Editing Validator Description
You can update your validator's public description, which helps delegators identify and evaluate your validator. Provide input for all necessary flags; missing flags default to empty if never set or retain their previous values.
To edit your validator description, use:
Note:
The
commission-rate
must be between0
and the validator’scommission-max-rate
.The
commission-max-change-rate
determines the maximum percentage point change per day.
To view your validator details, use:
Tracking Validator Signing Information
To monitor past validator signatures, use:
Unjailing Your Validator
If your validator is jailed for downtime, submit an Unjail transaction from the operator account to resume earning block proposer rewards.
To confirm your validator is active, run:
Your validator should now appear in Dhive explorers. Look for the Bech32-encoded address in ~/.dhived/config/priv_validator.json
.
Note: To be in the validator set, you must have more total voting power than the 100th validator.
Halting Your Validator
For maintenance or planned upgrades, halt your validator systematically by setting a halt-height
or using the --halt-height
flag. Your node will shut down gracefully at the specified block height.
Common Problems
Problem #1: My Validator Has voting_power: 0
voting_power: 0
Your validator may be jailed. Validators are jailed if they fail to vote on 500 of the last 10,000 blocks or if they double-sign transactions.
To recover:
If
dhived
is not running, restart it:Allow your full node to sync to the latest block.
Unjail your validator.
Verify your voting power:
If your voting power is lower than before, it means you were slashed for downtime.
Problem #2: My Node Crashes Due to Too Many Open Files
By default, Linux limits the number of open files per process to 1024
. dhived
may exceed this limit, causing crashes. A quick fix is:
Then restart dhived
:
If using systemd
, adjust configurations as follows:
Following these guidelines ensures your validator remains active, secure, and optimally configured on the Dhive network.
Last updated
Was this helpful?