Brownie is a Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.
All code starting with
$ is meant to be run on your terminal. Code starting with
>>> is meant to run inside the Brownie console.
This project relies heavily upon
web3.py and the documentation assumes a basic familiarity with it. You may wish to view the Web3.py docs if you have not used it previously.
- Full support for Solidity and Vyper
- Contract testing via pytest, including trace-based coverage evaluation
- Property-based and stateful testing via hypothesis
- Powerful debugging tools, including python-style tracebacks and custom error strings
- Built-in console for quick project interaction
- Support for ethPM packages