/ibc-go

Interblockchain Communication Protocol (IBC) implementation in Golang.

Primary LanguageGoMIT LicenseMIT

ibc-go

banner

Version License: Apache-2.0 GoDoc Go report card Code Coverage
Lines Of Code Discord Imported by Lint Status

The Inter-Blockchain Communication protocol (IBC) allows blockchains to talk to each other. IBC handles transport across different sovereign blockchains. This end-to-end, connection-oriented, stateful protocol provides reliable, ordered, and authenticated communication between heterogeneous blockchains. This IBC implementation in Golang is built as a Cosmos SDK module.

Contents

  1. Core IBC Implementation

    1.1 ICS 02 Client

    1.2 ICS 03 Connection

    1.3 ICS 04 Channel

    1.4 ICS 05 Port

    1.5 ICS 23 Commitment

    1.6 ICS 24 Host

  2. Applications

    2.1 ICS 20 Fungible Token Transfers

    2.2 ICS 27 Interchain Accounts

  3. Light Clients

    3.1 ICS 07 Tendermint

    3.2 ICS 06 Solo Machine

Note: The localhost client is currently non-functional.

Roadmap

For an overview of upcoming changes to ibc-go take a look at the roadmap.

Resources