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

Support binary upgrades #63

Open
RiccardoM opened this issue May 9, 2022 · 0 comments
Open

Support binary upgrades #63

RiccardoM opened this issue May 9, 2022 · 0 comments
Assignees

Comments

@RiccardoM
Copy link
Contributor

Feature description

Currently, Cosmos chains that Juno supports may be using the x/upgrade module in order to perform seamless on-chain upgrades from one binary version to the other. Due to the fact that a new binary version might present breaking changes, Juno operators need to remember when those upgrade happen and quickly replace the Juno binary with the new version that supports such changes. As more and more chains are managed by the same operator, handling such upgrades will be harder and harder.

To solve the problem, we should allow Juno to react to on-chain upgrades when they happen in a reactive way (only after the upgrade happened successfully).

Implementation proposal

One idea might be to leverage the x/upgrade itself: one an on-chain upgrade proposal passes, the upgrade details will be stored on the chain itself. Such details include also the upgrade height. What we could do is leveraging that upgrade height and the corresponding upgrade name to make sure that Juno panics when such upgrade happens. This, combined with something like Cosmovisor should make it fairly easy to implement a way to switch from one Juno binary to another after an on-chain upgrade is successful.

@MonikaCat MonikaCat self-assigned this May 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants