eth-gas-reporter
A mocha reporter for Truffle.
- Gas usage per unit test.
- Average gas usage per method.
- Contract deployment costs.
- Real currency costs.
Install
// Truffle installed globally
npm install -g eth-gas-reporter
// Truffle installed locally (ProTip: This always works.)
npm install --save-dev eth-gas-reporter
Configure for truffle
module.exports = {
networks: {
development: {
host: "localhost",
port: 8545,
network_id: "*"
}
},
mocha: {
reporter: 'eth-gas-reporter'
}
};
Usage Notes
- Euro/Eth rates are loaded at run-time from the
coinmarketcap
api - Gas prices are
safe-low
and loaded at run-time from the blockcypher
api - Method calls that throw are filtered from the stats.
- Contracts that link to libraries are not shown in the deployments table.
Credits
All the ideas in this utility have been borrowed from elsewhere. Many thanks to:
- @maurelian - Mocha reporting gas instead of time is his idea.
- @cag - The table borrows from / is based his gas statistics work for the Gnosis contracts.
- Neufund - Block limit size ratios for contract deployments and euro pricing are borrowed from their
ico-contracts
test suite.