-
Notifications
You must be signed in to change notification settings - Fork 326
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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
Why does Hermes need both rpc_addr
and websocket_addr
?
#2658
Comments
Hermes depends on both the gRPC endpoints exposed by the Cosmos SDK as well as the JSON-RPC and WebSocket endpoints exposed by Tendermint. As such you currently need to specify all three of Can you get into more details as to what is the problem with the RPC endpoint? Is the chain you are working with not Tendermint-based? |
rpc_addr
and websocket_addr
?
As per your original question: at the moment there is no way to mock just the light client, but you can either: a) write your own implementation of the As for the WebSocket endpoint, you may not need it if you go with option (a) but you will still need to implement the |
Thank you for your reply. |
At the moment, yes. Many teams are working on forks to support non-SDK, eg Composable Finance to support Substrate (Polkadot ecosystem) networks: https://github.com/ComposableFi/ibc-rs/commits/master. This module captures all the relayer dependencies towards a network (eg Cosmos SDK networks) including Tendermint-level dependencies: https://github.com/informalsystems/ibc-rs/blob/1d56e6db85a25f0c14dd80a6336266118d4c0ead/crates/relayer/src/chain/cosmos.rs#L1 The trait What is the network you're looking to support? |
Technically your chain doesn't need to be built on the Cosmos SDK to work with hermes; it only needs to expose the same gRPC endpoints as the SDK. You can look at basecoin for an example of how that might be implemented. |
basecoin is the application built on tendermint. Hermes needs rpc_addr which is exposed by tendermint. |
That's right.
That's correct, but insufficient. It also needs some gRPC endpoints, which are exposed by the application (e.g. basecoin). So essentially you will need to implement the rpc endpoints coming from tendermint as well as some additional gRPC endpoints exposed directly by the application. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
Summary
hermes
is an implementation on relayer delivering the message between chains.And I thought it would be enough for a node to provide a gRPC service only.
After some exploration, I found rpc_addr is related to check the latest status of a chain for relayer. Is there any
trait
for me to implement a rpc service?Problem Definition
Proposal
Acceptance Criteria
For Admin Use
The text was updated successfully, but these errors were encountered: