IBC implementations in solidity.
This is available not only for Ethereum and Hyperledger Besu, but also for Binance Smart Chain and other blockchains that run smart contract in EVM.
NOTE: This is yet pre-alpha non-production-quality software.
- Implementation of ICS
- Implementation of ICS-20 that can integrate with ERC20 token
- IBFT 2.0 Light Client
Please see here.
Launch two Besu chains with IBC Contract deployed with the following command:
# If NO_GEN_CODE is empty, setup-script will generate a proto3 marshaler in solidity
$ NO_GEN_CODE=1 ./scripts/setup.sh testtwochainz
An example of E2E working can be found here:
- https://github.com/hyperledger-labs/yui-relayer/tree/main/tests/cases/tm2eth
- https://github.com/hyperledger-labs/yui-relayer/blob/main/.github/workflows/test.yml
After launch the chains, execute the following command:
$ make e2e-test
To develop this project, you need the code generator solidity-protobuf to generate encoders and decoders in solidity from proto files.
Currently, you need to use this version.