0

I implemented a PoA network as per this example, and it states:

If N sealers are defined in the genesis file, clique will only work if int(N/2+1) (source code) nodes are online. This means that if we define 5 sealers in the genesis file, we will need a minimum of 3 nodes to be mining (sealing) for the blockchain to work. If we define 4 sealers we’ll also need at least 3 mining nodes.

I am wanting test how many bootnodes are needed. I had assumed we should keep the number of bootnodes to a minimum. But should there be one bootnode per server (ie instance in the cloud)?

2
  • your question title refers to bootnodes but the text you've quoted is referring to sealers - do you mean to ask how many sealing nodes you need? In a private network you don't need any bootnodes necessarily - we simply provide the enode address of some existing nodes on our network and let the P2P discovery happen from there
    – TC8
    Apr 16, 2018 at 8:06
  • I guess I was thinking in terms of bootnodes related to sealers. I am a little unclear on the difference between a signer, a sealer, a miner, a voter, and a bootnode. So I was trying to establish how these terms are related and implemented. I have been getting numerous errors with proposals under clique and I want to understand more about the structure under PoA. Apr 17, 2018 at 6:24

1 Answer 1

2

This depends entirely on how failsafe you want the network to be and how good the uptime of your infrastructure is. For example, Ethereum mainnet has 6 bootnodes, geographically distributed, Ropsten has 4, Rinkeby has 3.

The number of bootnodes is not related to the number of sealers.

As far as Ethereum/Clique terminology goes:

  • Signer: The account that was used to signed a transaction. The private key is used to sign.
  • Sealer: A node that can sign blocks. Synonymous to authority node.
  • Miner: Same thing as sealer or authority node.
  • Voter: A node that can vote other authorities in or out. In Clique, it must be an authority node/miner/sealer.
  • Bootnode: A node that is used to bootstrap the P2P network discovery. May be a dedicated bootnode (see the bootnode executable) or a normal node (authority or not). Must have a static IP address and a known nodekey, so that you can create the enode URL and pass it as --bootnodes argument to the other nodes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.