Resources / plutus / Echidna.md

You are browsing a mirror of a file hosted on GitHub. View original

Echidna

Echidna is a Haskell library for property-based testing of Solidity smart contracts on the basis of a state machine model of the contract. It uses Hedgehog as its testing framework. Based on the state-machine model, the library supports writing commands that perform state transitions and properties that assert invariants. The latter involve randomly generating sequences of commands, executing them in the EVM, and checking that the resulting EVM state matches that of the Haskell model.