2

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 ?

  • It’s not clear what the question is. More context please. – ivicaa Oct 8 '18 at 6:40
  • @ivicaa thanks for your kind. If I modify the ethereum code, how to make other nodes come to an agreement about this upgrading? – Jim Green Oct 8 '18 at 6:47
1

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? – Jim Green Oct 8 '18 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. – ivicaa Oct 8 '18 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 . – Jim Green Oct 8 '18 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 ? – Jim Green Oct 9 '18 at 2:02
  • if(currentBlock>=activationBlock) doFeatureX() <— like this. – ivicaa Oct 9 '18 at 3:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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