End-to-end testing of Cosmos blockchains should be easy and reproducible!
Atomkraft is a python package that provides you with a thin layer for executing
against a Cosmos blockchain.
Atomkraft offers the following features:
Executing Cosmos transactions via CLI.
Querying for account balances via the REST API.
Parsing Informal traces into convenient
python-native data structures.
Our principle design decision was to make Atomkraft as thin as possible and
make it easy to hack, because every blockchain comes with its own quirks, APIs,
and endpoints. Atomkraft does not depend on complex verification/testing tools,
though advanced tools such as Apalache
can be easily integrated into the testing workflow with Atomkraft. This
approach proved itself in several audits, where we had to deal with Cosmos SDK
and Ethereum Virtual Machine (and even both at the same time!).
The diagram below shows the data flow in an Atomkraft setup:
Check how we test Delegation and transfers in Cosmos
To build atomkraft, run the following commands:
git clone [email protected]:informalsystems/atomkraft.git cd atomkraft make build && make install