Validator Upgrade Guide
Introduction
Validators are crucial to the stability and security of the Tangle Network. This guide provides detailed steps for upgrading validators while maintaining strict uptime requirements to avoid slashing.
Preparation
- Stay informed about new releases (opens in a new tab) from the Tangle Network community.
- Plan the upgrade process to minimize downtime.
Key Components
Session Keys
- Stored in the client, linking your node to the staking proxy.
- Changing keys requires waiting for the current session to finish plus two more sessions.
Keystore
- Located at
/chains/Tangle/keystore
. - Contains private keys for signing transactions.
- Do not clone or copy the keystore; generate new keys for each validator instance.
Upgrade Steps
Setting Up Validator B (Your New Validator)
- Start and sync a second node (Validator B) with the
--validator
flag. - Generate session keys for Validator B.
- Submit a
set_key
extrinsic from your staking proxy with Validator B's session key. - Note the session when this extrinsic is executed.
- Keep Validator A running until two full sessions have elapsed after the current one.
Switching to Validator B
- After Session N+3, Validator B will act as your validator.
- Perform maintenance on Validator A.
Restoring Validator A
- Restart Validator A with the
--validator
flag and sync it. - Generate new session keys for Validator A.
- Submit a
set_key
extrinsic with Validator A's new session key. - Keep Validator B running until two full sessions have elapsed after the current session.
Monitoring the Transition
Verify the session change by looking for log messages like:
2019-10-28 21:44:13 Applying authority set change scheduled at block #450092
2019-10-28 21:44:13 Applying GRANDPA set change to new set with 20 authorities