From 44f7d89458f20dfb8c6fbb14946bde7b8f6d55eb Mon Sep 17 00:00:00 2001
From: Radha <86818441+DrW3RK@users.noreply.github.com>
Date: Fri, 3 Mar 2023 21:33:52 +0100
Subject: [PATCH] Improve Validator docs (#4510)
* Improve Validator docs
* minor fixes
* Add info about Kusama chain
* Latest default values
* Update docs/maintain/kusama/maintain-guides-how-to-validate-kusama.md
Co-authored-by: Filippo <110459737+filippoweb3@users.noreply.github.com>
* Update docs/maintain/kusama/maintain-guides-how-to-validate-kusama.md
Co-authored-by: Filippo <110459737+filippoweb3@users.noreply.github.com>
* Update docs/maintain/kusama/maintain-guides-how-to-validate-kusama.md
Co-authored-by: Filippo <110459737+filippoweb3@users.noreply.github.com>
* Update docs/maintain/maintain-guides-how-to-validate-polkadot.md
Co-authored-by: Filippo <110459737+filippoweb3@users.noreply.github.com>
* Implement feedback
---------
Co-authored-by: Filippo <110459737+filippoweb3@users.noreply.github.com>
---
components/RPC-Connection.jsx | 5 +-
components/utilities/filters.js | 6 ++
.../maintain-guides-how-to-validate-kusama.md | 96 +++++++++++++++++--
...aintain-guides-how-to-validate-polkadot.md | 49 ++++++----
4 files changed, 126 insertions(+), 30 deletions(-)
diff --git a/components/RPC-Connection.jsx b/components/RPC-Connection.jsx
index 91cf2b11322f..5a88b61deb94 100644
--- a/components/RPC-Connection.jsx
+++ b/components/RPC-Connection.jsx
@@ -1,6 +1,6 @@
import { useState, useEffect } from "react";
import { ApiPromise, WsProvider } from "@polkadot/api";
-import { HumanReadable, Precise, BlocksToDays, ArrayLength } from "./utilities/filters";
+import { HumanReadable, Precise, BlocksToDays, Percentage, ArrayLength } from "./utilities/filters";
/*
This component connects to the Polkadot/Kusama APIs and renders the response data.
@@ -143,6 +143,9 @@ function applyFilter(value, filter, network, setReturnValue) {
case "blocksToDays":
BlocksToDays(value, setReturnValue);
break;
+ case "percentage":
+ Percentage(value, setReturnValue);
+ break;
case "arrayLength":
ArrayLength(value, setReturnValue);
break;
diff --git a/components/utilities/filters.js b/components/utilities/filters.js
index 36922b45627c..792ef90e91ee 100644
--- a/components/utilities/filters.js
+++ b/components/utilities/filters.js
@@ -61,6 +61,12 @@ module.exports = {
setReturnValue(value.toString());
},
+ Percentage: function (value, setReturnValue) {
+ value = (value) / 10000000;
+ // Update value
+ setReturnValue(value.toString());
+ },
+
ArrayLength: function (value, setReturnValue) {
value = value.split(',').length;
// Update value
diff --git a/docs/maintain/kusama/maintain-guides-how-to-validate-kusama.md b/docs/maintain/kusama/maintain-guides-how-to-validate-kusama.md
index 3de06be9c2d7..7223f3e6d920 100644
--- a/docs/maintain/kusama/maintain-guides-how-to-validate-kusama.md
+++ b/docs/maintain/kusama/maintain-guides-how-to-validate-kusama.md
@@ -7,15 +7,95 @@ keywords: [validate, validator, kusama, stake, maintain]
slug: ../../maintain-guides-how-to-validate-kusama
---
-Running a validator on the Kusama network is identical to running a Polkadot validator. Check out
-the [Polkadot guide](../maintain-guides-how-to-validate-polkadot.md) on how to setup a validator.
+import RPC from "./../../../components/RPC-Connection";
+
+import MinimumStake from "./../../../components/Minimum-Stake";
+
+## Preliminaries
+
+Running a validator on a live network is a lot of responsibility! You will be accountable for not
+only your own stake, but also the stake of your current nominators. If you make a mistake and get
+slashed, your tokens and your reputation will be at risk. However, running a validator can also be
+very rewarding, knowing that you contribute to the security of a decentralized network while growing
+your stash.
+
+:::warning
+
+It is highly recommended that you have significant system administration experience before
+attempting to run your own validator.
+
+You must be able to handle technical issues and anomalies with your node which you must be able to
+tackle yourself. Being a validator involves more than just executing the binary file.
+
+:::
+
+Since security is so important to running a successful validator, you should take a look at the
+[secure validator](maintain-guides-secure-validator.md) information to make sure you understand the
+factors to consider when constructing your infrastructure. As you progress in your journey as a
+validator, you will likely want to use this repository as a _starting point_ for your own
+modifications and customizations.
+
+If you need help, please reach out on the
+[Kusama Validator Lounge](https://matrix.to/#/#KusamaValidatorLounge:polkadot.builders) on Element.
+The team and other validators are there to help answer questions and provide tips from experience.
+
+### How many KSM do I need to become an active Validator?
+
+You can have a rough estimate on that by using the methods listed
+[here](../../general/faq.md/#what-is-the-minimum-stake-necessary-to-be-elected-as-an-active-validator).
+To be elected into the set, you need a minimum stake behind your validator. This stake can come from
+yourself or from [nominators](../../learn/learn-nominator.md). This means that as a minimum, you
+will need enough KSM to set up Stash and Controller [accounts](../learn/learn-cryptography.md) with
+the existential deposit, plus a little extra for transaction fees. The rest can come from
+nominators. To understand how validators are elected, check the
+[NPoS Election algorithms](../../learn/learn-phragmen.md) page.
-Make sure to adjust the Polkadot guide to run a Kusama network validator:
+:::info On-Chain Data for Reference
-1. When starting the node pass `--chain=kusama` CLI flag:
+On Kusama, the minimum stake backing a validator in the active set is
+{{ kusama: :kusama }}
+{{ polkadot: :polkadot }} in the
+era
+{{ kusama: . :kusama }}
+{{ polkadot: . :polkadot }}
+
+On Polkadot, the minimum stake backing a validator in the active set is
+{{ polkadot: :polkadot }}
+{{ kusama: :kusama }} in the era
+{{ polkadot: . :polkadot }}
+{{ kusama: . :kusama }}
+
+:::
+
+:::tip Join the Thousand Validator Programme
+
+[The Thousand Validator Programme](../../general/thousand-validators.md) is an initiative by Web3
+Foundation and Parity Technologies to use the funds held by both organizations to nominate
+validators in the community.
+
+:::
+
+**Warning:** Any KSM that you stake for your validator is liable to be slashed, meaning that an
+insecure or improper setup may result in loss of DOT tokens! If you are not confident in your
+ability to run a validator node, it is recommended to nominate your DOT to a trusted validator node
+instead.
+
+### Validator Rewards
+
+On Kusama, one day is approximately four eras whereas on Polkadot, one era is approximately a day.
+In each era, the validators elected to the active set earn era points which correspond to the actual
+rewards earned that are distributed proportionally to the nominators after deducting the validator
+commission. Currently, the minimum validator commission is set to
+{{ kusama: %. :kusama }}
+{{ polkadot: %. :polkadot }}
+For more information, check the [validator payout](../maintain-guides-validator-payout.md) document.
+
+## Run a Kusama Validator
+
+Running a validator on the Kusama network is identical to running a Polkadot validator. Check out
+the [Polkadot guide](../maintain-guides-how-to-validate-polkadot.md) on how to setup a validator.
-```sh
-./target/release/polkadot --pruning=archive --chain kusama
-```
+Make sure to adjust the Polkadot guide to run a Kusama network validator (the instructions will also
+be available in the Polkadot Validator guide):
-2. Similar to Polkadot network Kusama has its own token called KSM
+- When starting the node pass `--chain=kusama` CLI flag
diff --git a/docs/maintain/maintain-guides-how-to-validate-polkadot.md b/docs/maintain/maintain-guides-how-to-validate-polkadot.md
index 322ea7e45f12..48041b279e23 100644
--- a/docs/maintain/maintain-guides-how-to-validate-polkadot.md
+++ b/docs/maintain/maintain-guides-how-to-validate-polkadot.md
@@ -11,12 +11,11 @@ import RPC from "./../../components/RPC-Connection";
import MinimumStake from "./../../components/Minimum-Stake";
-:::info
-
-The following information applies to the Polkadot network. If you want to set up a validator on
-Kusama, check out the [Kusama guide](kusama/maintain-guides-how-to-validate-kusama.md) instead.
+:::tip
-This guide will instruct you how to set up a validator node on the Polkadot network.
+If you are a beginner, it is recommended that you start your validator journey on Kusama network.
+Check the [Kusama guide](kusama/maintain-guides-how-to-validate-kusama.md) for details on how to get
+started.
:::
@@ -24,7 +23,7 @@ This guide will instruct you how to set up a validator node on the Polkadot netw
Running a validator on a live network is a lot of responsibility! You will be accountable for not
only your own stake, but also the stake of your current nominators. If you make a mistake and get
-slashed, your money and your reputation will be at risk. However, running a validator can also be
+slashed, your tokens and your reputation will be at risk. However, running a validator can also be
very rewarding, knowing that you contribute to the security of a decentralized network while growing
your stash.
@@ -40,19 +39,16 @@ tackle yourself. Being a validator involves more than just executing the Polkado
Since security is so important to running a successful validator, you should take a look at the
[secure validator](maintain-guides-secure-validator.md) information to make sure you understand the
-factors to consider when constructing your infrastructure. Web3 Foundation also maintains a
-[reference implementation for a validator set-up](https://github.com/w3f/polkadot-validator-setup)
-that you can use by deploying yourself (video walkthrough is available
-[here](https://www.youtube.com/watch?v=tTn8P6t7JYc)). As you progress in your journey as a
+factors to consider when constructing your infrastructure. As you progress in your journey as a
validator, you will likely want to use this repository as a _starting point_ for your own
modifications and customizations.
If you need help, please reach out on the
-[Polkadot Validator Lounge](https://matrix.to/#/!NZrbtteFeqYKCUGQtr:matrix.parity.io?via=matrix.parity.io&via=matrix.org&via=web3.foundation)
-on Riot. The team and other validators are there to help answer questions and provide tips from
+[Polkadot Validator Lounge](https://matrix.to/#/#polkadotvalidatorlounge:web3.foundation) on
+Element. The team and other validators are there to help answer questions and provide tips from
experience.
-### How many DOT do I need?
+### How many DOT do I need to become an active Validator?
You can have a rough estimate on that by using the methods listed
[here](../general/faq.md/#what-is-the-minimum-stake-necessary-to-be-elected-as-an-active-validator).
@@ -66,17 +62,17 @@ understand how validators are elected, check the
:::info On-Chain Data for Reference
On Polkadot, the minimum stake backing a validator in the active set is
-{{ polkadot: :polkadot }}
-{{ kusama: :kusama }} in the era
-{{ polkadot: . :polkadot }}
-{{ kusama: . :kusama }}
+{{ polkadot: :polkadot }}
+{{ kusama: :kusama }} in the era
+{{ polkadot: . :polkadot }}
+{{ kusama: . :kusama }}
On Kusama, the minimum stake backing a validator in the active set is
-{{ kusama: :kusama }}
-{{ polkadot: :polkadot }} in the
+{{ kusama: :kusama }}
+{{ polkadot: :polkadot }} in the
era
-{{ kusama: . :kusama }}
-{{ polkadot: . :polkadot }}
+{{ kusama: . :kusama }}
+{{ polkadot: . :polkadot }}
:::
**Warning:** Any DOT that you stake for your validator is liable to be slashed, meaning that an
@@ -373,6 +369,17 @@ validator mode right away:
./target/production/polkadot
```
+:::info
+
+If you want to run a validator on Kusama, you have an option to specify the chain. With no
+specification, this would default to Polkadot.
+
+```sh
+./target/production/polkadot --chain=kusama
+```
+
+:::
+
```
2021-06-17 03:07:07 Parity Polkadot
2021-06-17 03:07:07 ✌️ version 0.9.5-95f6aa201-x86_64-linux-gnu