Socket
Socket
Sign inDemoInstall

eth-gas-reporter

Package Overview
Dependencies
Maintainers
1
Versions
63
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eth-gas-reporter

Mocha reporter which shows gas used per unit test.


Version published
Weekly downloads
88K
increased by3.31%
Maintainers
1
Weekly downloads
 
Created
Source

eth-gas-reporter

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

Install

// 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: {
    ...etc...
  },
  mocha: {
    reporter: 'eth-gas-reporter'
  }
};

Options

You can also create a .ethgas.js config in the root directory of your project to set gasPrice and currency options. Available currency codes can be found here.

module.exports = {
  currency: "CHF",    // Default: "EUR" (loaded at run-time from the `coinmarketcap` api)
  gasPrice: 21 * 1e9  // Default: (~5 gwei, loaded at run-time from the `blockcypher` api)
}

Examples

Usage Notes

  • Table will not print if any tests fail (this is a bug, possibly rooted in truffle).
  • 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)
  • Tests that make assumptions about the value of block.timestamp sometimes fail using this utility.
  • Tests run slower.

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.

Keywords

FAQs

Package last updated on 16 Nov 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc