0.1.1 • Public • Published


npm version Build Status

A mocha reporter for Truffle.

  • Gas usage per unit test.
  • Average gas usage per method.
  • Contract deployment costs.
  • Real currency costs.

screen shot 2017-10-28 at 1 29 52 pm


// Requires mocha
npm install -g mocha

// Truffle installed globally
npm install -g eth-gas-reporter

// Truffle installed locally (ProTip: This always works.)
npm install --save-dev eth-gas-reporter

Truffle config

module.exports = {
  networks: {
  mocha: {
    reporter: 'eth-gas-reporter',
    reporterOptions : {
      currency: 'CHF',
      gasPrice: 21


Option Type Default Description
currency String 'EUR' National currency to represent gas costs in. Exchange rates loaded at runtime from the coinmarketcap api. Available currency codes can be found here.
gasPrice Number (varies) Denominated in gwei. Default is loaded at runtime from the eth gas station api
outputFile String stdout File path to write report output to
noColors Boolean false Suppress report color. Useful if you are printing to file b/c terminal colorization corrupts the text.
onlyCalledMethods Boolean false Omit methods that are never called from report.


Usage Notes

  • Method calls that throw are filtered from the stats.
  • Not currently shown in the deployments table:
    • Contracts that link to libraries
    • Contracts that never get instantiated within the tests (e.g: only deployed in migrations)
    • Contracts that are only ever created by other contracts within Solidity.
  • Tests run slower.


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.


Package Sidebar


npm i @jaycenhorton/eth-gas-reporter

Weekly Downloads






Unpacked Size

35.6 kB

Total Files


Last publish


  • jaycenhorton