Become a Validator

Once you've got your node running and synced, you're ready to become a validator!

You will need to have some layer testnet TRB. See our instructions on getting testnet TRB for help.

Setup Note: Open a new terminal window or screen for running ./layerd commands. You will need to keep your node running, and It helps to have quick access to the node window and the commands window as you go though the steps.

Validator Setup

  1. Check if your node is synced: Run the command

./layerd status
  • If "catching_up": true, your node is not synced.

  • If "catching_up": false, your node is synced!

  1. Check if your address has funds:

./layerd query bank balance $TELLOR_ADDRESS loya --chain-id layertest-1

This outputs something like:

balance:
  amount: "0"
  denom: loya

If you need testnet TRB, see the Getting Testnet TRB section!

  1. Retrieve Your Validator Public Key With your layer folder as the active directory, use the command:

./layerd comet show-validator

This returns your validator pubkey. The pubkey looks like this:

{"@type":"/cosmos.crypto.ed25519.PubKey","key":"FX9cKNl+QmxtLcL926P5yJqZw7YyuSX3HQAZboz3TjM="}

Copy the pubkey to your clipboard for step 4.

  1. Edit the Validator Configuration File

Create (or edit) the validator.json file:

nano validator.json

Edit or add the following code:

{
    "pubkey": {"@type":"/cosmos.crypto.ed25519.PubKey","key":"c+EuycPpudgiyVl6guYG9oyPSImHHJz1z0Pg4ODKveo="},
    "amount": "100000000loya",
    "moniker": "billmoniker",
    "identity": "optional identity signature (ex. UPort or Keybase)",
    "website": "validator's (optional) website",
    "security": "validator's (optional) security contact email",
    "details": "validator's (optional) details",
    "commission-rate": "0.1",
    "commission-max-rate": "0.2",
    "commission-max-change-rate": "0.01",
    "min-self-delegation": "1"
}
  • Edit "pubkey" to match yours from step 4.

  • Edit "amount" to be the amount of testnet TRB that you would like to stake with 6 decimals and the "loya" denom. (For example: if you want to stake 99 TRB use "amount": "99000000loya")

  • Edit "moniker" to match your node moniker variable.

Note: TRB tokens are used for gas on the layer network. As a validator you will need to make transactions to send tokens, become a reporter, unjail, etc. When choosing the amount to stake, it is important to reserve some TRB for gas.

  1. Create Your Validator: A few things need to happen (in order) to successfully start a layer validator. You should have two terminal windows open: a command window and a node window.

These next steps are time sensitive so do them carefully:

  • Do the create-validator tx in command window

  • Count to 10

  • Restart your node in the node window

  • Run the following command to create-validator:

./layerd tx staking create-validator ./validator.json --from $TELLOR_ADDRESS --chain-id layertest-1 --fees 1000loya
  • count to 10 as you open the node window.

  • In your node window, use ctrl^c to stop the node. Enter this command to start it back up:

./layerd start --api.enable --api.swagger --price-daemon-enabled=false --panic-on-daemon-failure-enabled=false --home $HOME/.layer --key-name $ACCOUNT_NAME
  1. Verify Your Validator Creation Ensure your validator was created successfully using the command replacing your_validator_address:

./layerd query staking validator $TELLORVALOPER_ADDRESS --chain-id layertest-1

If status is 3...awesome! If status is 2...still great! If your status is 2, that means that somehow in the process of making your validator you got jailed. It's ok! You can unjail with steps shown in the next section.

Last updated