Skip to content

cosmos/ibc

Repository files navigation

IBC

banner

Synopsis

This repository is the canonical location for development and documentation of the inter-blockchain communication protocol (IBC).

It shall be used to consolidate design rationale, protocol semantics, and encoding descriptions for IBC, including both the core transport, authentication, & ordering layer (IBC/TAO) and the application layers describing packet encoding & processing semantics (IBC/APP).

Contributions are welcome. See CONTRIBUTING.md for contribution guidelines.

What is IBC?

For a high-level explanation of what IBC is and how it works, please read this blog post.

Interchain Standards

All standards at or past the "Draft" stage are listed here in order of their ICS numbers, sorted by category.

Meta

Interchain Standard Number Standard Title Stage Maintainer
1 ICS Specification Standard N/A Protocol team

Core Transport

Interchain Standard Number Standard Title Stage Implementations Maintainer
2 Client Semantics Candidate ibc-go, ibc-rs Protocol team
3 Connection Semantics Candidate ibc-go, ibc-rs Protocol team
4 Channel & Packet Semantics Candidate ibc-go, ibc-rs Protocol team
5 Port Allocation Candidate ibc-go Protocol team
23 Vector Commitments Candidate ibc-go, ibc-rs Protocol team
24 Host Requirements Candidate ibc-go, ibc-rs Protocol team
25 Handler Interface Candidate ibc-go, ibc-rs Protocol team
26 Routing Module Candidate ibc-go, ibc-rs Protocol team
33 Multi-hop Messaging Candidate ibc-go Protocol team

Light Clients

Interchain Standard Number Standard Title Stage Implementations Maintainer
6 Solo Machine Client Candidate ibc-go Protocol team
7 Tendermint Client Candidate ibc-go, ibc-rs Protocol team
8 Wasm Client Draft Protocol team / Composable Finance
9 Loopback Client Draft ibc-go Protocol team
10 GRANDPA Client Draft Octopus Network

Relayer

Interchain Standard Number Standard Title Stage Implementations Maintainer
18 Relayer Algorithms Finalized go-relayer, rust-relayer, ts-relayer Protocol team

App

Interchain Standard Number Standard Title Stage Implementations Maintainer
20 Fungible Token Transfer Candidate ibc-go, ibc-rs Protocol team
27 Interchain Accounts Candidate ibc-go Protocol team
28 Cross-Chain Validation Candidate interchain-security Cosmos Hub team
29 General Relayer Incentivization Mechanism Candidate ibc-go Protocol team
30 IBC Application Middleware N/A N/A Protocol team
31 Cross-Chain Queries Draft N/A Protocol team
32 Interchain Queries Candidate async-icq Strangelove Ventures
100 Interchain Atomic Swap Candidate ibcswap Side Labs
721 Non-Fungible Token Transfer Candidate nft-transfer IRIS Network

Translations

The Interchain Standards are also translated into the following languages: