#grpc #ibc #cosmos #blockchain #rpc #client-connection

no-std ibc-query

Maintained by ibc-rs, contains essential IBC query types, utility functions and gRPC service implementations for the IBC core

10 releases (breaking)

0.53.0 May 14, 2024
0.51.0 Mar 26, 2024
0.48.2 Dec 22, 2023
0.48.1 Nov 27, 2023

#2395 in Magic Beans

Download history 12/week @ 2024-02-26 137/week @ 2024-03-25 33/week @ 2024-04-01 76/week @ 2024-04-22 18/week @ 2024-04-29 184/week @ 2024-05-13

278 downloads per month
Used in ibc-testkit

Apache-2.0

155KB
3.5K SLoC

IBC Query

Overview

This crate offers a comprehensive set of utility types, traits, and functions designed for integrating either a gRPC query server or implementing RPC methods in hosts. It specifically facilitates querying the state of the IBC core client, connection, and channel layers of a chain enabled with ibc-rs.

Features

  • Provides essential utility request/response domain types and their conversions to the proto types for efficient integration.
  • Provides convenient query objects with pre-implemented gRPC query services.
  • Offers convenient objects on which query service has been implemented and
  • Includes convenient QueryContext and ProvableContext traits that extend the capabilities of an implemented IBC module, enabling the retrieval of state from the chain.
  • Derives serde and schema for all the domain types enabling easy (de)serialization. This feature is particularly beneficial for JSON RPC implementations.

Remarks

  • At present, the Protobuf representation of request types does not include support for querying at a specific height. Consequently, the current state of ibc-query allows conversion from protos as a compatible direction but does not support conversion into protos due to the absence of the query_height fields.

  • Currently ibc-query does not support pagination. If pagination is a requirement for your project, please open an issue and provide details about your usage.

Dependencies

~24–37MB
~588K SLoC