← All repos

ibc-go

Inter-Blockchain Communication Protocol (IBC) implementation in Golang.

cosmos
Browse cluster: Cosmos blockchain and smart contract languages
3,095commits
249contributors
6languages

Tech stack & purpose

ibc-go is a Golang implementation of the Inter-Blockchain Communication Protocol (IBC), which enables communication between separate blockchain networks. The project is organized as a multi-module Go implementation supporting both IBC v1 and v2 protocols, with production code organized into IBC core, applications and middleware, and light-client implementations. The codebase is built with Go modules and uses Makefile-driven build and verification workflows, protobuf for data serialization, and a test infrastructure spanning unit tests, integration tests via shared helpers in the `testing/` directory, and Docker-backed end-to-end tests. The project maintains comprehensive documentation built with Docusaurus and records architectural decisions through Architecture Decision Records (ADRs).

Community & reference links

Languages

Go
95.2%
TLA
3.8%
Python
0.4%
Makefile
0.4%
Shell
0.2%
Dockerfile
0.1%

Contributors (top 30 of 249)