Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


npm version GitHub Language grade: JavaScript Total alerts

solidity-deploy is an npm module which allows someone to create custom contract deployment scripts, including an abstracted compiler and flattener. Ideally, it also allows for smart contracts to be verified on Etherscan smoothly (still buggy).

Sample run of a script using solidity-deploy. Full video


Currently structured as a node module, with tests passing; however, there are a number of changes this project will go through, including but not limited to:

  • Addition of proper Mocha tests (tests at this point are limited to a .sh script and mini-node script which runs deployments and flattening, respectively.)
  • API documentation

At the moment, the module is currently reliant on truffle-flattener for flattening; however, in the future, this will be phased out for a more general flattener, or at least give the user some choice on which flattener to use.

Verification is still very buggy, needs success cases of verification via Etherscan's Contract API. The class holding Etherscan verification (verify/etherscan-verify.js) may not be up to date with a few things on the rest of repository (may work in a vacuum, but not optimized for the module as a whole)

The general entry point of this module offers both initialization of a SolidityDeploy object, or access to any of the other classes directly. The advantage of using a SolidityDeploy object is avoiding repetition in passing options/config; the object supplies functions with the create prefix which handles this minimized


Documentation is currently hosted on GitHub Pages at:


A mirror of this repository is available at:


Thanks to those generous developers who entertained my questions, and helped me understand npm module design better!


✈️ A tool to handle deployment of Solidity smart contracts, while guaranteeing correct verification on Etherscan.




No packages published