Skip to content

Validator Guide

Mathieu Hofman edited this page Jan 5, 2024 · 182 revisions

Note: See also the Agoric community forum, especially the Validators category and the Network Upgrades category.

Devnet

Everyone is more than welcome to run a node on devnet. See:

Mainnet

Mainnet validators should have experience operating proof-of-stake nodes sufficient to safeguard security of significant assets. You are welcome to set up a node to follow the Agoric mainnet, but note that until BLD holders stake 10s of thousands of BLD with your validator, it will not participate in voting nor receive a share of rewards.

For validators part of the genesis, most BLD assets were locked under the Cosmos "vesting" contract, but you can still use them to tx staking create-validator or tx staking delegate.

Note: If you require Ledger (hardware wallet) support with ag0, use --coin-type=118.

Runbooks

see Runbooks on Recommended Hardware Baseline, Security Coordination, etc.

State-sync

Mainnet began Nov 2021. Unless you are planning to start a new archive node which keeps a full copy of the chain's history, you should use state-sync to start a new node using recent state automatically obtained from peers and validated to match the consensus. You will need to use the latest released software version passed by chain governance.

You can find guides for state-sync from polkachu and kjnodes. You may need to adjust the instructions for the allowed sync height to be 5000 blocks before the latest height (due to how long it takes for the periodical snapshots generated by other peers to become available). The restore process can be lengthy itself, and appear to stall at times. After restoring from state-sync (about an hour once a snapshot was found), your node will automatically catch up to the current chain state.

Syncing from genesis

Mainnet began Nov 2021 with a Cosmos-SDK-only phase 0 soft-launch, followed by multiple upgrades. See Historical data on Agoric network upgrades for up to date information on the timeline of chain software upgrades applied to mainnet.

See also ag0 to agd upgrade for mainnet 1 launch

Testnet

See https://emerynet.agoric.net/

FAQs

What does Power Change: 49 -> 0 mean?

Your validator was jailed. If your validator never signed any blocks be sure to read the next section before trying to unjail.

How can I verify my validator is properly created?

You can run a simple check script to ensure the node on the current machine has a public key that has a gentx or tx create-validator on the chain.

If this script runs to completion but fails to find your key on-chain, then no amount of unjailing will help you.

You should try to recover the validator node key from the ~/.agoric/config/*_key.json files that were present when you ran your gentx or tx create-validator (this is NOT the same as the operator key you manage with ag0 or agd). After that, you can rerun the script, and it should complete successfully. After that, restart (but don't reset), and unjail your node.

If you can't, you'll have to make a new operator account, transfer tokens to it, and tx create-validator again.

How do I unjail my validator?

First, ensure your validator is caught up.

Run:

# Set the chainName value again
chainName=`curl https://main.agoric.net/network-config | jq -r .chainName`
# Confirm value: should be something like agoric-N
echo $chainName
# Replace <key_name> with the key you created previously
agd tx slashing unjail \
  --broadcast-mode=block \
  --from=<your-key-name> \
  --chain-id=$chainName \
  --gas=auto \
  --gas-adjustment=1.4

How do I move my validator to another machine?

To preserve your validator's identity and state, you must copy the $HOME/.agoric directory to the new machine. Be sure that your agd start is not running on the old machine. If it is, you will be slashed for double-signing.

Finally, just agd start on the new machine. If your validator has been jailed due to downtime, you may have to unjail it.

How do I recover a key?

You should have your 24-word mnemonic; then run:

Most keys

You should try the following:

agd keys add <your-new-key-name> --recover

Use agd keys list to confirm.

Private key only; no mnemonic recovery phrase

Cosmos-SDK supports only recovery from a mnemonic recovery phrase.

If you have only a private key and you want to import it, see the keyFmt work-around.


Disclaimer: This content is provided for informational purposes only, and should not be relied upon as legal, business, investment, or tax advice. You should consult your own advisors as to those matters. References to any securities or digital assets are for illustrative purposes only and do not constitute an investment recommendation or offer to provide investment advisory services. Furthermore, this content is not directed at nor intended for use by any investors or prospective investors, and may not under any circumstances be relied upon when making investment decisions.

Clone this wiki locally