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: https://luiserebii.github.io/solidity-deploy/
A mirror of this repository is available at: https://serebii.io:2501/Luiserebii/solidity-deploy
Thanks to those generous developers who entertained my questions, and helped me understand npm module design better!