Skip to content

How to Become a Validator

This document explains the steps to become a validator on the Sunrise chain.

Before operating a validator, you must set up a Full Consensus Node and be fully synchronized with the network.

For mainnet, it is strongly recommended to use Cosmovisor to run your node. Cosmovisor allows you to perform chain upgrades smoothly with minimal downtime.

Follow the Cosmovisor setup tutorial for details.

It is recommended to set the following environment variable to enable automatic upgrades:

Terminal window
export DAEMON_ALLOW_DOWNLOAD_BINARIES=true

When setting up a validator, it is crucial to use the correct version of the binary and genesis.json.

There are two ways to create a validator: joining at genesis and joining after the chain has started.

To join as a validator before the network starts (as a genesis validator), you need to generate and submit a gentx (genesis transaction).

For detailed instructions, please refer to the README in the sunriselayer/network repository.

Join as a Validator After the Chain Has Started

Section titled “Join as a Validator After the Chain Has Started”

If the chain is already running, you can create a validator with the following method.

This is the standard Cosmos SDK method, which uses a validator.json file to create a validator. This method requires vRISE for self-delegation. This method requires vRISE for self-delegation.

  1. Get the Validator’s Public Key

    Run the sunrised tendermint show-validator command to get the validator’s public key (pubkey).

    Terminal window
    sunrised tendermint show-validator
  2. Create the validator.json file

    Create a validator.json file with the following content. Set the pubkey with the value obtained above.

    {
    "pubkey": {"@type":"/cosmos.crypto.ed25519.PubKey","key":"oWg2ISpLF405Jcm2vXV+2v4fnjodh6aafuIdeoW+rUw="},
    "amount": "1000000uvrise",
    "moniker": "myvalidator",
    "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"
    }
    • The amount is specified in uvrise.
    • The min-self-delegation is also the amount of vRISE.
  3. Send the create-validator transaction

    Terminal window
    sunrised tx staking create-validator path/to/validator.json --from <keyname> --chain-id <chain-id> --gas="auto" --gas-prices=<gas-prices> -y

    Usage:

    Terminal window
    sunrised tx staking create-validator [path/to/validator.json] [flags]

Backing up key files is crucial for validator operations. Please back up the following files to a secure location:

  • ~/.sunrise/config/priv_validator_key.json
  • ~/.sunrise/config/node_key.json

It is strongly recommended to encrypt these backup files.