Strangelove Labs has built an icq module for ibc that allows two chains that both have the async-icq module installed on them to query each other.
The code for async-icq is here:
Async-icq is well-maintained software, with releases for ibc v4, v5, v6, and v7. I’ve personally contributed linting and various small fixes, and async-icq is in use on a number of Cosmos chains today.
vote YES to add async-icq to Gaia
all other vote options are defined by proposals 6, 75, or the cosmos-sdk, with the governance proposals taking precedence over the code and docs.
Hey Jacob! Some quick comments:
- Could you say more about the use cases / strategy of this on the Hub?
- Would you also want the hub to be querying other chains or is this for other chains to query the Hub?
- What would the implementation of this look like?
- Just as a note, this module is also in the ibc-apps repo!
- For context (in case anyone doesn’t know), IBC apps is a collaboration between teams like ibc-go and Strangelove (and other contributors) to provide “an easily discoverable, navigable, central place for modules and middleware.”
Well I think that it’s mainly going to be other chains querying the hub because we want to keep any fancy logic away from the hub where that’s possible.
I’m actually thinking about the liquid staking chains. In particular. Right now, each liquid’s taking chain uses its own bespoke relayer configuration and in some ways this configuration is more efficient for a liquid staking chain, however, the benefit of having an ecosystem standard is overwhelming. Once we have standardized on a query technique across the whole Cosmos ecosystem, many things will be much simpler, including operating a relayer.