-
Notifications
You must be signed in to change notification settings - Fork 302
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
upgrades: make sure that relaying works across upgrades #3577
Comments
See #4087: we plan to exercise a chain upgrade Soon™. As long as we were careful to ensure that Hermes is running on the fresh chain pre-upgrade, we'll get clarity on whether we already have upgrade support for IBC by testing transfers after the upgrade, without making new channels. |
Great news, last friday, @avahowell and I paired on this. After a couple tries, we were able to perform a state breaking upgrade and relay Hermes is able to relay across upgrades using a I will close this ticket in favor of two new ones:
The first one is about adding the ability to pause block production while keeping both |
This is already the case, no?
I don't think we should do this, the cost/benefit of adding this additional scope is unclear. I think we can be comfortable with the status quo for other cosmos chains. |
Hermes needs the comet RPC for getting raw block headers, I don't think there's a way currently to run both comet and pd without producing blocks |
I think this can be done completely via comet config options, or so I hope. I tagged it as a |
But in the event of an upgrade, we know there won't be new blocks, or else the chain has faulted, so this seems like low benefit vs cost to configure/support. |
That's a good point, it wasn't the case in our testbed setup where we were effectively running a contentious fork to test this. Another reason to do this was to minimize network layer bandwidth churn, because for some reason, the p2p shell in comet does not penalize peers that repeatedly broadcast invalid blocks. But this hasn't been pinned to be an actual problem yet, so I agree we should default to not do this. |
Is your feature request related to a problem? Please describe.
We should test that ordinary chain state upgrades are not light-client breaking. This should be tested by pointing a relayer to a chain that undergoes a simple upgrade and make sure that there are no errors across the upgrade boundary.
Context: Upgrades that are light-client breaking should be rare, and require a special IBC mechanism (#3356). We want to make sure that we haven't missed something that would make ICS07 clients incapable of verifying our chain state post-upgrade.
The text was updated successfully, but these errors were encountered: