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

Create a generic reset upgrade hardfork sub command #1367

Open
evan-forbes opened this issue Feb 10, 2023 · 0 comments
Open

Create a generic reset upgrade hardfork sub command #1367

evan-forbes opened this issue Feb 10, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@evan-forbes
Copy link
Member

For less user facing testnets that use versions of the app that we don't want to (yet!) provide guarantees for maintaining certain features, we often upgrade via a reset height hardfork. This typically involves copying over the balances from the first chain into a new genesis, along with optionally copying over any other state that we want, such as the validator set and delegations.

One easy and consistent way to do this is to initialize a new blank genesis, then arbitrarily read the bank module's balances and push them to the new genesis by creating a creating a new genesis account. After that is completed, then we must arbitrarily query the delegations, and add the amount of funds delegated to the user's balances from the first step.

This results in a hardforked genesis file that is flexible and ready for an arbitrary version upgrade without the need to worry about further version proprietary version upgrades. From this step, we can also add genesis validators as needed to start up the new hardforked chain.

We should create the above described logic in a sub command.

@evan-forbes evan-forbes added this to the Mainnet milestone Feb 10, 2023
@evan-forbes evan-forbes added the enhancement New feature or request label Feb 10, 2023
@evan-forbes evan-forbes removed this from the Mainnet milestone Apr 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant