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.
Showing
- substrate/core/cli/src/lib.rs 2 additions, 0 deletionssubstrate/core/cli/src/lib.rs
- substrate/core/cli/src/params.rs 5 additions, 0 deletionssubstrate/core/cli/src/params.rs
- substrate/core/service/src/config.rs 4 additions, 1 deletionsubstrate/core/service/src/config.rs
- substrate/core/service/test/src/lib.rs 1 addition, 0 deletionssubstrate/core/service/test/src/lib.rs
- substrate/node/cli/src/service.rs 3 additions, 2 deletionssubstrate/node/cli/src/service.rs
- substrate/scripts/sentry-node/docker-compose.yml 138 additions, 0 deletionssubstrate/scripts/sentry-node/docker-compose.yml
Please register or sign in to comment