Skip to content


Repository files navigation



IBC implementations in Solidity.

IBC compatibility: v8

This is available not only for Ethereum and Hyperledger Besu, but also for Polygon PoS and other EVM-compatible chains.

DISCLAIMER: This project is still under development and has not been audited.



Supported Light Client

You can deploy a Light Client that implements the ILightClient interface to integrate with ibc-solidity.

Here are some such examples:

IBC relayer support

Related projects

For Developers

Unit test

$ make test

E2E test

Launch two Hyperledger Besu chains(ethereum-compatible) with the contracts deployed with the following command:

$ make network-qbft

After launch the chains, execute the following command:

$ make e2e-test

E2E-test with IBC-Relayer

An example of E2E with IBC-Relayer(yui-relayer) can be found here:


To generate the proto encoders and decoders in solidity from proto files, you need to use the code generator solidity-protobuf

Currently, v0.1.0 is required.

If you edit the proto definitions, you should execute the following command:

$ make SOLPB_DIR=/path/to/solidity-protobuf proto-sol