All of the steps in this document will be supported by the UI soon. If it is too complicated, just stay patient and there will be an easy UI to do it.

If you can't wait to get staking, here are the instructions.

Setting Up Stash/Controller.

  1. create 2 new accounts. one we will call the stash and one the controller
  2. get some DOT on stash and controller (most of it on stash). You should make sure each account has at least 100 milli DOT for the existential deposit. 150 or more is recommended so the accounts can pay tx fees too.
  3. do a transaction session::setKey with the controller
  4. do a transaction staking::bond with the stash, targeting the controller. The value should be most of, but not all of, the DOT on the stash. Until the UI is updated, use the 0x01 value I used in the image.

The 0x01 controls where rewards are given.
You can use these 3 values:
0x00: Pay into the stash account, increasing the amount at stake accordingly.
0x01: Pay into the stash account, not increasing the amount at stake.
0x02: Pay into the controller account.

How to stake on the new system

  1. Set up a stash/controller if you haven't already
  2. Start your validator node using the controller key.
  3. do a transaction staking::validate with the controller. Until the UI is updated, use the 0x0c00 value I used in the image.

Now you're staking!

How to nominate

Same as steps 1-4 in Staking.

  1. Set up a stash/controller if you haven't already
  2. do a transaction staking::nominate with the *controller. Provide a list of the controllers you are nominating for.

You cannot nominate and stake from the same controller at the same time.

How to stop nominating

  1. Use the stash/controller you set up before
  2. do a transaction staking::chill with the controller.

How to unbond.

  1. Assuming you have a stash/controller with X DOT bonded.
  2. Do a transaction staking::unbond from the controller with value as how much you'd like to unbond. Can be up to the full bonded value.
  3. Wait for the bonding period, currently 600 blocks.
  4. Do a transaction staking::withdraw_unbonded from the controller. Now that much value will be free on the stash account.
Select a repo