Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Version to ConsensusParams #2671

Closed
ebuchman opened this issue Oct 18, 2018 · 2 comments
Closed

Add Version to ConsensusParams #2671

ebuchman opened this issue Oct 18, 2018 · 2 comments
Labels
C:abci Component: Application Blockchain Interface C:consensus Component: Consensus
Milestone

Comments

@ebuchman
Copy link
Contributor

ebuchman commented Oct 18, 2018

Follow up to #2468, this is the final piece of ADR-016, to allow apps to update their version without a restart.

Originally ADR-016 proposed adding a new field to EndBlock for updating versions, but it was realized in #2636 (comment) that it might make more sense to just add it directly to the ConsensusParams.

Note we forgot to update the changelog in ADR-016 when it was updated for this change in #2667

@ebuchman ebuchman added C:abci Component: Application Blockchain Interface C:consensus Component: Consensus T:breaking Type: Breaking Change protocol labels Oct 18, 2018
@ebuchman ebuchman added this to the launch milestone Oct 18, 2018
@ebuchman ebuchman modified the milestones: launch, v0.29.0, v0.30.0 Jan 13, 2019
@ebuchman
Copy link
Contributor Author

#3152 makes this non protocol breaking. Bumping it back

@ebuchman ebuchman removed the T:breaking Type: Breaking Change label Jan 19, 2019
@ebuchman ebuchman modified the milestones: v0.29.0, v0.31.0 Jan 19, 2019
@b00f
Copy link
Contributor

b00f commented Feb 1, 2019

I have an idea. Out of box idea, Instead of changing protocol. What we need is an external application, lets call it AppSelector.
Changing protocol to support possible fork or updates will make codebase nasty. This messy code currently is applied Ethereum. Look here

AppSelector will run the application but it can manage versioning. AppSelector:

  • Monitor the blockchain. Anytime the AppVersion changes it will automatically find the new version (possibly from GitHub release page) and run the required verision
  • It can be programmed to start new version at a certain height.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C:abci Component: Application Blockchain Interface C:consensus Component: Consensus
Projects
None yet
Development

No branches or pull requests

4 participants