If you wish to remain a validator or nominator (e.g. you're only stopping for planned downtime or
server maintenance), submitting the
chill extrinsic in the
staking pallet should suffice. It is
only if you wish to unbond funds or reap an account that you should continue with the following.
To ensure a smooth stop to validation, make sure you should do the following actions:
- Chill your validator
- Purge validator session keys
- Unbond your tokens
These can all be done with PolkadotJS Apps interface or with extrinsics.
Purge validator session keys
Purging the validator's session keys removes the key reference. This can be done through the
session.purgeKeys() extrinsic. The key reference exists on the account that originally called the
session.set_keys() extrinsic, which could be the stash or the controller (at the time the keys
Make sure to call the session.purge_keys() extrinsic from the same account that set the keys in the
first place in order for the correct reference to be removed. Calling the
the wrong account, although it may succeed, will result in a reference on the other account that
cannot be removed, and as a result that account cannot be reaped.
If you skip this step, you will not be able to reap your stash account, and you will also need to rebond, purge the session keys, unbond, and wait the unbonding period again before being able to transfer your tokens.
See Unbonding and Rebonding for more details.
Unbond your tokens
Unbonding your tokens can be done through the
Network > Staking > Account actions page in
PolkadotJS Apps by clicking the corresponding stash account dropdown and selecting "Unbond funds".
This can also be done through the
staking.unbond() extrinsic with the controller account.