Language | Code Coverage |
---|---|
Java | |
Rust |
The Inter-Blockchain Communication protocol (IBC) is an end-to-end, connection-oriented, stateful protocol for reliable, ordered, and authenticated communication between heterogeneous blockchains arranged in an unknown and dynamic topology. xCall, a standard for generic cross-chain messaging along with IBC provides dynamic and coherent solution for inter-connected dapps.
Additional information on how IBC works can be found here. and xCall spec is defined here
This project uses git submodules. Use the following command to clone the repository.
git clone --recurse-submodules https://github.com/icon-project/IBC-Integration
To update submodules, run the following command,
git submodule init
git submodule update --remote
Terminologies used in this project.
- ICON
- Archway
Directory | Description |
---|---|
/contracts/cosmwasm-vm | Includes contracts for cosmwasm based chains |
/contracts/evm | Includes contracts for evm based chains |
/contracts/javascore | Includes contracts for ICON chain |
/docs | Documentation |
/libraries/rust | Common rust libraries used across multiple integrations |
/proto | Proto files used for IBC |
/resources | Static resources in project. For example images, bin files, etc |
/scripts | Scripts to automate task in project, for example build scripts, deploy scripts. |
/test | Test Framework and Test Suite including e2e test and functional test |
/utils | Utilities used for build, setup, CI/CD |
go test -v ./test/integration --args -config=<path to config.json>
go test -v ./test/e2e --args -config=<path to config.json>