This crate serves as a central hub for re-exporting the implemented
Inter-Blockchain Communication (IBC) data structures. It simplifies the
integration of various IBC domain types into your project. IBC is a distributed
protocol facilitating communication between independent sovereign blockchains
and The IBC data structures within this crate abstract various IBC
specifications, offering a convenient means to encode and decode IBC messages to
and from proto types exposed by
ibc-proto
crate. Additionally, it
supports parsing events to and from ABCI event types.
This crate organizes data structures into three main modules: core
, clients
,
and apps
. Each category further re-exports its respective sub data structures,
providing a clear and modular path for easy navigation and usage:
Specification |
Crate |
---|---|
ICS-02: Client Semantics | ibc-core-client-types |
ICS-03: Connection Semantics | ibc-core-connection-types |
ICS-04: Channel and Packet Semantics | ibc-core-channel-types |
ICS-24: Host Requirements | ibc-core-host-types |
ICS-25: Handler Interface | ibc-core-handler-types |
ICS-26: Routing Module | ibc-core-routing-types |
Specification |
Crate |
---|---|
ICS-07: Tendermint Client | ibc-client-tendermint-types |
Specification |
Crate |
---|---|
ICS-20: Fungible Token Transfer | ibc-app-transfer-types |
IBC is specified in English in the cosmos/ibc repo. Any protocol changes or clarifications should be contributed there.
If you're interested in contributing, please take a look at the CONTRIBUTING guidelines. We welcome and appreciate community contributions!