Introduce flag to enable sentry nodes to participate in grandpa gossip (#3018)

Given the following situation: A validator 'A' is not supposed to be
connected to the public internet to protect it from e.g. a DoS attack.
Instead it connects to a sentry node 'sentry-A' which connects to the
public internet. Validator 'B' can reach validator 'A' via sentry node
'sentry-A' and vice versa.

A sentry node needs to participate in the grandpa gossip without
becoming a validator itself in order to forward these message to its
validator. This commit adds a new command line flag (`--grandpa-voter`)
forcing a node to participate in the grandpa voting process even though
no `--key` was specified. Due to the fact that it does not have a key,
it does not become a validator in the network.

In order to simulate the above situation this commit also adds a Docker
Compose file (`scripts/sentry-node/docker-compose.yml`) with further
documentation.
This commit is contained in:
Max Inden
2019-07-09 18:35:37 +02:00
committed by Gavin Wood
parent 2c5a3b84db
commit 6639ab339a
6 changed files with 153 additions and 3 deletions
+5
View File
@@ -305,6 +305,11 @@ pub struct RunCmd {
#[structopt(long = "no-grandpa")]
pub no_grandpa: bool,
/// Run GRANDPA voter even when no additional key seed via `--key` is specified. This can for example be of interest
/// when running a sentry node in front of a validator, thus needing to forward GRANDPA gossip messages.
#[structopt(long = "grandpa-voter")]
pub grandpa_voter: bool,
/// Experimental: Run in light client mode
#[structopt(long = "light")]
pub light: bool,