Relayer support for non-Cosmos based chains #1318
Replies: 6 comments 2 replies
-
@jackzampolin started to implement some interfaces here for the Go relayer that might be a good start for Hermes https://github.com/strangelove-ventures/relayer/blob/6e2b3393eeffa7beaec6fa2537e222ac31ddf4e1/relayer/provider.go we should setup a meeting with Hermes team and Jack to discuss this. |
Beta Was this translation helpful? Give feedback.
-
One issue raised about non-Cosmos support in Hermes: #1456 |
Beta Was this translation helpful? Give feedback.
-
Continuing here the thread from https://github.com/informalsystems/ibc-rs/issues/1214#issuecomment-975427666 Hey @lightyear15 Thank you for your patience.
This sounds right: client-related verification should be be encapsulated in the light client. Misbehavior detection is fundamentally an off-chain process, but that's a different story so for the purpose of this discussion we can just ignore that component. The Hermes relayer runs a light client for all chains it communicates with, for the reasons I described above. It's feasible to have a relayer that does not run a light client, so I guess that's your question here, namely: can we modify Hermes to support IBC relaying without running a light client for Wasm clients? The answer is: probably yes, most of the changes would need to be supported at the level of these traits:
More specifically, I think we need new implementations of these traits that handle communication and interfacing with non-SDK chain and non-Tendermint clients. Does this make sense? |
Beta Was this translation helpful? Give feedback.
-
An issue about client update based on a consensus other than Terdermint: https://github.com/informalsystems/ibc-rs/issues/1775 |
Beta Was this translation helpful? Give feedback.
-
An issue about on-chain storage verification based on a consensus other than Terdermint: #1845 |
Beta Was this translation helpful? Give feedback.
-
An issue about the data structure of commitment proof from non-cosmos chain: #1945 |
Beta Was this translation helpful? Give feedback.
-
Relayer support for non-Cosmos based chains
In the near future, it's expected that IBC will be implemented on non-Cosmos based blockchains, e.g. Substrate and Celo based blockchains. In order to support this scenario, we need to start thinking how this can be possible from a relayer's perspective. In particular with Hermes, we currently support Gaia chains. There are a lot of logic that is still coupled with Gaia chains (e.g. calls to the gRPC endpoints, watching events, etc.). We need to start thinking how these things can be better abstracted away in order to allow Hermes to relay packets between a Gaia to a Substrate chain for example.
I believe the most affected crate will be the
relayer
since it has logic to connect with the chains. But in this discussion thread we can try to outline the required effort, missing pieces, blockers, etc.Beta Was this translation helpful? Give feedback.
All reactions