Skip to main content

Become a Validator at Soarchain

Overview

This guide provides a comprehensive overview of how to become a validator on Soarchain. There are two primary methods to become a validator:

  1. Being Pre-established in the Genesis State: Validators can be part of the initial setup.
  2. Change in Response to the EndBlock Message: The existing validator set can be altered based on the ABCI application's EndBlock message.

Step 1: Initialize Wallet Keyring

To become a validator, first, you need to set up your wallet keyring. You have two options:

  • Add an Existing Wallet: Use your seed phrase to add an existing wallet.
  • Create a New Wallet: Generate a new wallet.

Add or Create a Wallet

soarchaind keys add YOUR_KEY_NAME

Check Your Mnemonic

soarchaind keys list

Step 2: Obtain Validator Public Key

Before initializing your validator, you need to retrieve your validator public key.

Retrieve Validator Public Key

soarchaind tendermint show-validator

Step 3: Create Validator Transaction

Ensure you have a small amount of $SOAR in your wallet for transaction fees.

Command to Create a Validator

soarchaind tx staking create-validator \
--from=[KEY_NAME] \
--amount=[staking_amount] \
--pubkey=$(soarchaind tendermint show-validator) \
--moniker="[moniker_id_of_your_node]" \
--chain-id="[chain-id]" \
--commission-rate="[commission_rate]" \
--commission-max-rate="[maximum_commission_rate]" \
--commission-max-change-rate="[maximum_rate_of_change_of_commission]" \
--min-self-delegation="[min_self_delegation_amount]" \

Example Command

soarchaind tx staking create-validator \
--from=flyingcar \
--amount=2000000utsoar \
--pubkey=$(soarchaind tendermint show-validator) \
--moniker="flyingcar" \
--chain-id="soarchaintestnet" \
--commission-rate="0.1" \
--commission-max-rate="0.2" \
--commission-max-change-rate="0.05" \
--min-self-delegation="1" \
--gas=203173 \
--gas-prices="0.0001utsoar"

If you require additional clarification regarding any of the command flags,

Check them
  • the from flag is the KEY_NAME you created when initializing the key on your keyring
  • the amount flag is the amount you will place in your own validator in $SOAR (in the example, 500000000soar is 500soar(basically delete 6 zero))
  • the pubkey is the validator public key found earlier
  • the moniker is a human readable name you choose for your validator
  • the chain-id is whatever chain-id you are working with (in the soarchain testnet case it is soarchaintestnet)
  • the commission-rate is the rate you will charge your delegates (in the example above, 10 percent)
  • the commission-max-rate is the most you are allowed to charge your delegates (in the example above, 20 percent)
  • the commission-max-change-rate is how much you can increase your commission rate in a 24 hour period (in the example above, 5 percent per day until reaching the max rate)
  • the min-self-delegation is the lowest amount of personal funds the validator is required to have in their own validator to stay bonded (in the example above, 500soar)
  • the gas-prices is the amount of gas used to send this create-validator transaction