Replies: 3 comments 3 replies
-
I'm also available for forking the repo, making it satisfy my exact needs (so we have a second usecase), and then later on we can discuss how to build abstractions and make it possible (and easier) for everyone. If you can provide any tip or guidance on where to look I think it can save me a lot of time 😄 |
Beta Was this translation helpful? Give feedback.
-
At the moment, we only issue gRPC queries to the staking module for Cosmos-based chains (the only instance is here), and this only used in the health check so you can either just ignore the warnings. As far as I know, we don't issue any queries to the
One way you can go about this is to implement a new instance of the Then you need to register this implementation as a new type of chain and hook it up in various places. I can provide more info on that if needed, but grepping for That does not quite give you a Relayer SDK but it would allow you to customize how the relayer interacts with your chain. We do have plans for modularizing the relayer and essentially turn into a framework/SDK, but we are not there yet.
Sure, I would be happy to look at what you end up with! That said, I can't guarantee that we will integrate it into the relayer or base our next abstractions on it since we already have a pretty good idea of how it is going to look. |
Beta Was this translation helpful? Give feedback.
-
Thank you opening this discussion! I see that most of the conversation so far is centered on the gRPC requirements. The Cosmos SDK implements these gRPC endpoints. In addition, Hermes also requires several other, non-gRPC, endpoints for Tendermint-based networks. These endpoints are provided by Tendermint's RPC and Websocket interfaces. We document these here, in case you need a handy reference: https://hedgedoc.informal.systems/FmNN0xuESR2wS1ZoRhuU8g |
Beta Was this translation helpful? Give feedback.
-
Hi!
As far as I know,
ibc-go
is pretty coupled with thestaking
module for accessingHistoricalInfo
data (i.e. block headers). Still, I think I can easily implement a new module that satisfies the required StakingKeeper interface, so on chain I should be fine.My problem now is that all relayers I found make some assumptions about the modules installed, i.e.:
auth
andstaking
.I understand my use case is different from the bigger chains we're used to, but do you think it would be possible to provide an alternative implementation to the query logic?
So for example instead of receiving a query on path
cosmos.staking.v1beta1.Query
I can pick a different one, and maybe even provide my custom parsing logic to deal with the response. I guess in a sense I want a relayer SDK 🤣On a side note: if these informations are needed by IBC protocol itself, why are they not being provided by
ibc-go
modules themselves? Am I missing something?Thanks for all the great work so far!
Beta Was this translation helpful? Give feedback.
All reactions