Become a Reef chain nominator and earn rewards.
Who is this for?
Anyone interested in Reef chain governance can become a Nominator. The main responsibility of Nominators is to vote for and elect competent Validators (block producers).
Nominators are rewarded with part of the revenue share generated by the Validators. However in the event that the Validator misbehaves, Nominators can lose their bonded stake.
Become a nominator
After careful consideration of the best Validator candidates - based on their technical abilities and community contributions - we are ready to vote.
The first step towards becoming a nominator is bonding (staking) Reef tokens.
Before we do, we should explain the stash/controller accounts. The stash account is an account that holds large amounts of funds (ie. cold wallet), while the controller account is the hot wallet account we use to perform various on chain actions. Having a stash/controller account is not a requirement - we could use the same account for both. It is however a recommended security practice.
Once the tokens are bonded they become the basis for our voting weight in a Proof-of-Stake system. We can use our bonded amount to either Nominate or Validate.
Bonding is as simple as calling the
staking.bond(controller, amount, payee) extrinsic. The
payee field dictates where our future rewards will be credited (it can be either automatically re-bonded, or deposited into our stash account or controller account or an arbitrary account of choice).
As mentioned before, we can use our bonded amount to either Nominate or Validate, but not both at the same time. To signal that we want to use our bonded amount to Nominate we have to call the
candidates argument is a list of Account Id’s of Validators we are voting for.
At the end of each era we can collect our Nominator earnings. If our bond declared
Staking as the
payee, the rewards will be automatically added to our bond position.
Managing the bond
We can add additional funds to our existing bond position by calling
We can always start the unbonding process by calling
staking.unbond(). Note that the unbonded funds will become available for withdrawal after the unbonding cooling period (2 days).