.github
[chore] bump deps Go 1.26.2 + update cosmos-sdk/cometbft tags (#10)
cmd
ci: use thelper (#3809)
contrib
chore: makefile cleanup/fixes (#2549)
e2e
[chore] bump deps Go 1.26.2 + update cosmos-sdk/cometbft tags (#10)
internal
replace all instances of collections.Contains with slices.Contains across the entire codebase (#4685)
modules
[chore] bump deps Go 1.26.2 + update cosmos-sdk/cometbft tags (#10)
proto
refactor!: Bump CometBFT to v1.x-inj and Cosmos SDK to v0.50.9-comet1-inj (#6)
scripts
[chore] bump deps Go 1.26.2 + update cosmos-sdk/cometbft tags (#10)
simapp
[chore] bump deps Go 1.26.2 + update cosmos-sdk/cometbft tags (#10)
testing
refactor!: Bump CometBFT to v1.x-inj and Cosmos SDK to v0.50.9-comet1-inj (#6)
.clang-format
repo utils (#84)
.codecov.yml
IBC Testing Package v2 (#114)
.gitignore
test: run tests of all go.mods (#4468)
.golangci.yml
chore: adding legacy gov proposal handler for client updates (#4729)
.goreleaser.yml
fixes for go-releaser configuration (#1148)
.markdownlint-cli2.jsonc
feat(docs): migrate docs to docusaurus (#4693)
.markdownlint.jsonc
feat(docs): migrate docs to docusaurus (#4693)
buf.work.yaml
deps: update to cosmos-sdk v0.47 (#2672)
CHANGELOG.md
chore: update changelog and retract v8.6.1
cliff.toml
chore: integrated git cliff into the code base to automate generation of changelogs
CODE_OF_CONDUCT.md
feat(docs): migrate docs to docusaurus (#4693)
CONTRIBUTING.md
feat(docs): migrate docs to docusaurus (#4693)
Dockerfile
[chore] bump deps Go 1.26.2 + update cosmos-sdk/cometbft tags (#10)
go.mod
[chore] bump deps Go 1.26.2 + update cosmos-sdk/cometbft tags (#10)
go.sum
[chore] bump deps Go 1.26.2 + update cosmos-sdk/cometbft tags (#10)
go.work.example
correct applications -> apps (#4414)
LICENSE
Update LICENSE (#728)
maintainership.png
docs: add request for maintainership md file (#2453)
Makefile
test: run tests of all go.mods (#4468)
README.md
feat: channel upgradability (backport #1613) (#5478)
releases-decision-tree.png
update releases decision tree (#429)
RELEASES.md
feat(docs): migrate docs to docusaurus (#4693)
SECURITY.md
feat(docs): migrate docs to docusaurus (#4693)

ibc-go

The Inter-Blockchain Communication protocol (IBC) allows blockchains to talk to each other. 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. To understand more about how to use the ibc-go module as well as about the IBC protocol, please check out the Interchain Developer Academy section on IBC, or our docs.

Roadmap

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

This roadmap is also available as a project board.

For the latest expected release timelines, please check here.

For the latest information on the progress of the work or the decisions made that might influence the roadmap, please follow our engineering updates.

Releases

The release lines currently supported are v4, v5, v6 and v7.

Please refer to the Stable Release Policy section of RELEASES.md for more details.

Please refer to our versioning guide for more information on how to understand our release versioning.

Ecosystem

Discover more applications and middleware in the cosmos/ibc-apps repository.

Support

We have active, helpful communities on Discord and Telegram.

For questions and support please use the developers channel in the Cosmos Network Discord server or join the IBC Gang Discord server. The issue list of this repo is exclusively for bug reports and feature requests.

To receive announcements of new releases or other technical updates, please join the Telegram group that we administer.

Contributing

If you're interested in contributing to ibc-go, please take a look at the contributing guidelines. We welcome and appreciate community contributions!

This project adheres to ibc-go's code of conduct. By participating, you are expected to uphold this code.

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; then we will be able to assign it to you. We will be happy to answer any questions you may have and help you out while you work on the issue.

If you have any general questions or feedback, please reach out to us in the IBC Gang Discord server.

Security

To report a security vulnerability, see our Coordinated Vulnerability Disclosure Policy.

Audits

The following audits have been performed on the ibc-go source code:

Quick Navigation

  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. Middleware

    3.1 ICS 29 Fee Middleware

    3.2 Callbacks Middleware

  4. Light Clients

    4.1 ICS 07 Tendermint

    4.2 ICS 06 Solo Machine

    4.3 ICS 09 Localhost

  5. E2E Integration Tests

Documentation and Resources