The Inter-Blockchain Communication protocol (IBC) is a blockchain interoperability solution that allows blockchains to talk to each other. Blockchains that speak IBC can transfer any kind of data encoded in bytes — including tokens, messages, and arbitrary application logic. IBC is secure, permissionless, and designed to connect sovereign blockchains into a single interoperable network. For a high-level explanation of what IBC is and how it works, please read this article.
The IBC implementation in Golang ibc-go
has been used in production by the majority of the 200+ chains that have utilized IBC. It is built as a Cosmos SDK module. To understand more about how to use the ibc-go
module as well as learn more about the IBC Protocol, please check out our docs.
The release lines currently supported are v7, v8, and v10. Please note that v9 has been retracted and has been replaced by v10.
Please refer to our versioning guide for more information on how to understand our release versioning.
IBC has an extensive list of applications, middleware, and tools, including relayers. View the list on the IBC technical resource catalogue on our website.
The issue list of this repo is exclusively for bug reports and feature requests. We have active, helpful communities on Discord, Telegram, and Slack.
| Need Help? | Support & Community: Discord - Telegram - Talk to an Expert - Join the #Cosmos-tech Slack Channel |
To report a security vulnerability, see our Coordinated Vulnerability Disclosure Policy.
The following audits have been performed on the ibc-go
source code:
- ICS20 Fungible Token Transfer by Informal Systems.
- ICS20 Fungible Token Transfer V2 by Atredis Partners.
- ICS27 Interchain Accounts by Trail of Bits and Informal Systems.
- ICS08 Wasm Clients by Ethan Frey/Confio.
- ICS04 Channel upgradability by Atredis Partners.
Cosmos Labs maintains the core components of the stack: Cosmos SDK, CometBFT, IBC, Cosmos EVM, and various developer tools and frameworks. In addition to developing and maintaining the Cosmos Stack, Cosmos Labs provides advisory and engineering services for blockchain solutions. Get in touch with Cosmos Labs.
Cosmos Labs is a wholly-owned subsidiary of the Interchain Foundation, the Swiss nonprofit responsible for treasury management, funding public goods, and supporting governance for Cosmos.
The Cosmos Stack is supported by a robust community of open-source contributors.
If you're interested in contributing to ibc-go, please take a look at the contributing guidelines. We welcome and appreciate community contributions!
To help contributors understand which issues are good to pick up, we have the following two categories:
- Issues with the label
good first issue
should be pretty well defined and are best suited for developers new to ibc-go. - Issues with the label
help wanted
are a bit more involved and they usually require some familiarity already with the codebase.
If you are interested in working on an issue, please comment on it. We will be happy to answer any questions you may have and help you out while you work on the issue.
-
1.1 ICS 02 Client
1.3 ICS 04 Channel
1.4 ICS 05 Port
1.6 ICS 24 Host
-
Applications
-
Middleware
-
Light Clients
4.3 ICS 09 Localhost
- Cosmos SDK - A framework for building applications in Golang
- CometBFT - High-performance, 10k+ TPS configurable BFT consensus engine.
- Cosmos EVM - Native EVM layer for Cosmos SDK chains.