Verify Solidity Smart Contracts on Etherscan & Bscscan
npm install multi-sol-verifier
npm install --save multi-sol-verifier
`
As a development dependency, to use it as :
`
npm install --save-dev multi-sol-verifier
`
As a global npm module, to use sol-verifier as an executable:
`
npm install -g multi-sol-verifier
`How to use
$3
A request object will be passed to verify contract. See below: (Make sure keys of request object will be always same)
`
const verifier = require('multi-sol-verifier');
var data = {
key: 'etherscan-api-key', // Etherscan API key (required)
path : '/path/to/contract/contractName.sol', // Contract file path(required)
contractAddress: '0x123456789.......', // Contract address (required)
network : 'mainnet/ropsten/rinkeby/kovan', // Ethereum network used (required)
contractName: 'contractName' // Contract name, only if contract file has more than one contracts
cvalues : [constructor, values, in, array], // constructor values in array, only if contract has constructor
evmVersion: 'istanbul', // See valid options: https://solidity.readthedocs.io/en/latest/using-the-compiler.html#target-options (optional, default compiler-default)
runs: 200, // Optimizer Runs (optional, default 200)
licenseType: 1, // Valid codes 1-12, see https://etherscan.io/contract-license-types (optional, default 1=No License)
optimizationFlag: false // Set true to enable optimization (default false)
}; await verifier.verifyContract(data);
`
Parameters not applicable can be ignored.
Points to remember
* Add specific version with ^ in your contract pragma. Version should be same as the compiler version used while contract deployment.
* This doesn't provide support for libraries.
* Works for solidity version > 0.4.11`.