Verify with Hardhat

Hardhat has an Etherscan plugin: Hardhat Etherscan plugin

Note: Hardhat was previously Buidler.

Install the plugin

npm install --save-dev @nomiclabs/hardhat-etherscan

Configure the plugin in buidler.config.js

  • Add require("@nomiclabs/hardhat-etherscan");
  • Add Bscscan API key

Warning

keep secret and don’t commit to version control)

Go to register and get API key: https://bscscan.com/myapikey

  • Set compiler version to match what was deployed

Warning

Remove any unnecessary contracts and clear the artifacts otherwise these will also be part of the verified contract.

Run the following command:

npx buidler verify --network mainnet DEPLOYED_CONTRACT_ADDRESS "Constructor argument 1"
  • Example
$ npx hardhat  verify --network testnet 0xbF39886B4F91F5170934191b0d96Dd277147FBB2
Nothing to compile
Compiling 1 file with 0.5.16
Successfully submitted source code for contract
contracts/BEP20Token.sol:BEP20Token at 0xbF39886B4F91F5170934191b0d96Dd277147FBB2
for verification on Etherscan. Waiting for verification result...

Successfully verified contract BEP20Token on Etherscan.
https://testnet.bscscan.com/address/0xbF39886B4F91F5170934191b0d96Dd277147FBB2#code