PoA - Boot nodes - What's the proper way of configuring them? #429
-
PoA - Boot nodes - What's the proper way of configuring them?DescriptionImagine the following deployment flow:
Why am I exposing this case? Well, it's a thing that could happen, it's possibly an edge case. I'm running PoA network deployments using Kubernetes and nodes can join and leave the network dynamically, meaning that the bootstrap node can leave the network. OPEN QUESTIONS:
Your environment
Steps to reproduceSee the description. Expected behaviourI would expect to have a way for configuring the bootnodes that are up when starting a new node. Actual behaviourWhat I do right now is: modify the LogsNot needed, it's easy to reproduce. Proposed solutionPossibly adopting what Hyperledger Besu does is the way to go? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
Hello @inglkruiz thank you for raising this issue! It's important to note that the list of bootnodes, e.g. the nodes a single node will attempt to connect to is completely separate from the validator set that changes with the existing validators voting a validator in or out. As every Polygon Edge can serve as a bootnode (inherently), my suggestion is to spin up a set of non-validator nodes that will always be active and use them as bootnodes in your local client configurations. To answer your open questions:
Polygon Edge supports the
The repercussions are that the bootnode in that case is not persisted anywhere and you would need to supply it each time that the node is starting. If it suits your workflow, feel free to use it. Please let me know if I managed to help you and covered all of your questions. Thanks |
Beta Was this translation helpful? Give feedback.
-
Hi @lazartravica thanks for your quick response. Based on your answers, I consider that the best approach for such case is to make every node a bootnode (Validators and Non-Validators), meaning that I'll be modifying the Now, the One last thing to mention, I run a scenario where a Non-Validator is left alone in the network, then new blocks won't be mine (All Validators voted for leaving the network). I wanted to restart the mining process, adding a new validator did not work. I imagine it's not possible to restart the mining. Kind of silly but it could happen. |
Beta Was this translation helpful? Give feedback.
-
I'm moving this Issue to Discussion |
Beta Was this translation helpful? Give feedback.
Hello @inglkruiz thank you for raising this issue!
It's important to note that the list of bootnodes, e.g. the nodes a single node will attempt to connect to is completely separate from the validator set that changes with the existing validators voting a validator in or out.
As every Polygon Edge can serve as a bootnode (inherently), my suggestion is to spin up a set of non-validator nodes that will always be active and use them as bootnodes in your local client configurations.
To answer your open questions:
genesis.json
, apart from holding the initial blockchain state of the genesis block (in this case just the initial validator se…