Skip to content
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

Investigate using gRPC for all queries #2221

Closed
plafer opened this issue May 17, 2022 · 1 comment
Closed

Investigate using gRPC for all queries #2221

plafer opened this issue May 17, 2022 · 1 comment
Milestone

Comments

@plafer
Copy link
Contributor

plafer commented May 17, 2022

I suggest we remove the proven_*() methods from ChainEndpoint and ChainHandle, and change the provable query_*() functions as follows:

I think it makes sense. A note though that the simple query_ APIs are generally (*) gRPC, the proven_ perform abci_query (RPC to tendermint who does app abci_query). When we first implemented the proven_ APIs there was no support for proofs in gRPC. But now there is. Maybe we should then:

  • (*) change all query_.. for application state to use gRPC (we also have query_.. methods that retrieve blockchain info, i.e. they will stay RPCs to tendermint)
  • change all proven_... to use the gRPC

wrt to query height, if you look at the gRPC request proto defs they do not contain the height at which the query should be done. This is "hidden" in the gRPC metadata. For and example on how this is done with gRPC you can take a look at https://github.com/informalsystems/ibc-rs/blob/c5c89dc82b1466101066e69d1228cda439da1d4b/relayer/src/chain/cosmos.rs#L931-L937

Also I don't know if there is a way to make a gRPC request and specify that there shouldn't be any proof included. If that's the case, we should look at performance differences between abci queries without proof and gRCP (with proof always??), especially if the APIs used by the packet relaying are affected.

Originally posted by @ancazamfir in #2200 (comment)

@plafer plafer closed this as completed May 17, 2022
@plafer
Copy link
Contributor Author

plafer commented May 17, 2022

Closed as duplicate of #1088.

@adizere adizere moved this to Backlog in IBC-rs: the road to v1 Jun 17, 2022
@adizere adizere added this to the v1.0.0 milestone Jun 17, 2022
@adizere adizere moved this from Backlog to Closed in IBC-rs: the road to v1 Jun 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Closed
Development

No branches or pull requests

2 participants