Formerly known as ibctest, interchaintest was built and initially maintained by Strangelove Ventures.
This fork is maintained by the Interchain Operations team at Hypha Worker Co-operative.
In order to ship production-grade software for the Interchain, we needed sophisticated developer tooling...but IBC and Web3 have a lot of moving parts, which can lead to a steep learning curve and all sorts of pain. Recognize any of these?
- repeatedly building repo-specific, Docker- and shell-based testing solutions,
- duplication of effort, and
- difficulty in repurposing existing testing harnesses for new problem domains.
We built interchaintest to extract patterns and create a generic test harness: a use-case-agnostic framework for generating repeatable, diagnostic tests for every aspect of IBC.
Read more at the Announcing interchaintest blog post.
interchaintest is for developers who expect top-shelf testing tools when working on blockchain protocols such as Cosmos or Ethereum.
interchaintest is a framework for testing blockchain functionality and interoperability between chains, primarily with the Inter-Blockchain Communication (IBC) protocol.
Want to quickly spin up custom testnets and dev environments to test IBC, Relayer setup, chain infrastructure, smart contracts, etc.? interchaintest orchestrates Go tests that utilize Docker containers for multiple IBC-compatible blockchains.
Most people choose to import interchaintest as a module.
- Often, teams will integrate
interchaintestwith a github CI/CD pipeline. - Most teams will write their own suite. Here's a tutorial on Writing Custom Tests.
- You can also utilize our suite of built-in Conformance Tests that exercise high-level IBC compatibility.
There's also an option to build and run interchaintest as a binary (which might be preferable, e.g., with custom chain sets). You can still run Conformance Tests.
Commits will be tagged to signal support for different Cosmos Hub versions. For instance, the v10.0.1 tag targets Gaia v25.1.1.
This allows interchaintest to support combinations of the Cosmos stack that are used in production and are compatible with one another.
| Tag | Gaia | Cosmos SDK | CometBFT | IBC-Go | wasmd | Hermes |
|---|---|---|---|---|---|---|
v10.0.1 |
v25.1.1 |
v0.53 | v38.19 | v10.3.0 | v0.60 | v1.13.1 |
Contributing is encouraged.
Please read the logging style guide.
Significant bugs that were more easily fixed with interchaintest: