As we known, the ethereum have soft and hard fork to upgrade network. If we modify the private ethereum code, how to notify other nodes to upgrade their geth? What if they do not upgrade the network? In the technical opinion, could you give some solutions to upgrade the ethereum network ? And is there any other solution to upgrade the ethereum solutions ?
1 Answer
If we modify the private ethereum code, how to notify other nodes to upgrade their geth?
This is mainly an organizational issue: Who maintains the code? How do you keep connected to the people/organizations running the node?
What if they do not upgrade the network?
In this case the chain will fork.
In the technical opinion, could you give some solutions to upgrade the ethereum network ?
In order to avoid a hard fork on upgrade, you can shutdown and upgrade all nodes at once (eventually feasible in a small private network) or define a block for the activation of the new feature so that all clients have enough time to upgrade before that block occurs.
-
A provider could provide two service: 1. check the version is the latest or not 2.download the latest setup program, then the other nodes have two program: 1.go-ethereum 2. query process(or thread) , then query the provider the version situlation, if behind the latest version, then kill the go-ethereum and downlad the latest program, then setup and boot. How do you think of this? Oct 8, 2018 at 7:29
-
This can work, but you're introducing strong centralization aspects with it. It depends on your usecase if this is bad or not. IMHO, I wouldn't automate this. Every node should explicitly check and decide to apply an update.– ivicaaOct 8, 2018 at 7:32
-
While, we don't want to see the case that it will occur two hard-fork If some nodes does not upgrade . Oct 8, 2018 at 7:42
-
How to do what you said " define a block for the activation of the new feature so that all clients have enough time to upgrade before that block occurs " ??? Does it also need upgrade the network ? Oct 9, 2018 at 2:02
-