Before creating a testnet validator, ensure you have first followed the instructions on running the testnet node.
Create Wallet If you decided to participate in the validator set, you will first need a wallet added to your node. You can create a wallet with following command (Replace validator with a name of your choosing):
fairyringd keys add validator
Ensure you write down the mnemonic as you can not recover the wallet without it. To ensure the wallet you created was saved to your node, run the following command to see if your wallet is in the list:
fairyringd keys list
Create validator command Make sure that your wallet has enough tokens to become validator. You may check your balance by the following command (Replace ADDRESS with the wallet address you just created):
amount is the amount you stake in your own validator (in this example it is 10000000000ufairy)
commission-max-change-rate is how much you can increase your commission rate in a 24 hour period (in the example above, 1% per day until reaching the max rate)
commission-max-rate is the most you are allowed to charge your delegates (in the example above, 20%)
commission-rate is the rate you will charge your delegates (in the example above, 5%)
from is the account name of the wallet you just created
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, 1ufairy)
moniker is your validator name
security-contact is your email address
website is the URL of your website
details is detail of your validator node
pubkey is the validator public key
chain-id in this case is fairyring-testnet-1, or whatever chain-id you are working with
If you are joining the validator set after the genesis creation, that will be all you need to do.
If you are joining the validator set before the genesis creation, here is the steps on creating the gentx:
Create Gentx Create a genesis transaction to become validator:
If you would like to know the explanation on each of flags, please see the explanation above.
After running the command above, it will create a gentx-XXXXXX.json file under this directory:
$HOME/.fairyring/config/gentx/gentx-XXXXXX.json
Copy the contents inside $HOME/.fairyring/config/gentx/gentx-XXXXXX.json to fairyring/gentxs/ directory (replace VALIDATOR_NAME to your validator name):
Create a json file with all your node information like the example below, and name it peers-VALIDATOR_NAME.json (replace VALIDATOR_NAME to your validator name)