Skip to content

Commit

Permalink
Merge pull request #3 from webb-tools/dec-5
Browse files Browse the repository at this point in the history
  • Loading branch information
drewstone authored Dec 5, 2023
2 parents af3f131 + 9f4c973 commit a8d4f7d
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 0 deletions.
1 change: 1 addition & 0 deletions pages/docs/node/validator/_meta.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"requirements": "Start Validating",
"upgrade-node": "Upgrade your Validator",
"proxyaccount": "Proxy Accounts",
"validator-rewards": "Rewards"
}
58 changes: 58 additions & 0 deletions pages/docs/node/validator/upgrade-node.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# 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](https://github.com/webb-tools/tangle/) from the Tangle Network community. We publish these on the [Webb twitter, and in Discord.](../../community.mdx)
- 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)

1. Start and sync a second node (Validator B) with the `--validator` flag.
2. Generate session keys for Validator B.
3. Submit a `set_key` extrinsic from your staking proxy with Validator B’s session key.
4. Note the session when this extrinsic is executed.
5. Keep Validator A running until two full sessions have elapsed after the current one.

### Switching to Validator B

1. After Session N+3, Validator B will act as your validator.
2. Perform maintenance on Validator A.

### Restoring Validator A

1. Restart Validator A with the `--validator` flag and sync it.
2. Generate new session keys for Validator A.
3. Submit a `set_key` extrinsic with Validator A’s new session key.
4. 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
```

## Troubleshooting and Support

For additional support, [join our Validator channel in Discord.](../../community.mdx)

0 comments on commit a8d4f7d

Please sign in to comment.