55 - Etheno
Etheno is the Ethereum testing Swiss Army knife. It’s a JSON RPC multiplexer, analysis tool wrapper, and test integration tool.
- JSON RPC Multiplexing: Etheno runs a JSON RPC server that can multiplex calls to one or more clients:
- API for filtering and modifying JSON RPC calls
- Enables differential testing by sending JSON RPC sequences to multiple Ethereum clients
- Deploy to and interact with multiple networks at the same time
- Analysis Tool Wrapper: Etheno provides a JSON RPC client for advanced analysis tools like Manticore
- Lowers barrier to entry for using advanced analysis tools
- No need for custom scripts to set up account and contract state
- Analyze arbitrary transactions without Solidity source code
- Integration with Test Frameworks like Ganache and Truffle:
- Run a local test network with a single command
- Use Truffle migrations to bootstrap Manticore analyses
- Symbolic semantic annotations within unit tests
- Testing Tool
- Trail of Bits
- JSON RPC multiplexer: Diff Tests, Multiple Clients
- Analysis Tool Wrapper: Manticore, Echidna
- Test Frameworks: Ganache, Truffle