#ibc #cosmos #blockchain #data-structures

no-std ibc-data-types

Maintained by ibc-rs, delineates standard data structures and domain types of the Inter-Blockchain Communication (IBC) protocol. Designed for universal application, enabling diverse projects across IBC ecosystem to build using a shared language

7 releases (4 breaking)

new 0.52.0 Apr 26, 2024
0.51.0 Mar 26, 2024
0.50.0 Jan 24, 2024
0.49.1 Jan 4, 2024
0.48.1 Nov 27, 2023

#54 in Magic Beans

Download history 7/week @ 2023-12-29 1/week @ 2024-01-05 3/week @ 2024-01-19 9/week @ 2024-02-23 4/week @ 2024-03-01 80/week @ 2024-03-22 37/week @ 2024-03-29 7/week @ 2024-04-05

124 downloads per month

Apache-2.0

650KB
13K SLoC

IBC Types

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.

Sub-Crates

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:

Core

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

Clients

Specification
Crate
ICS-07: Tendermint Client ibc-client-tendermint-types

Apps

Specification
Crate
ICS-20: Fungible Token Transfer ibc-app-transfer-types

Contributing

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!

Dependencies

~17MB
~351K SLoC