Verify Your Contract on BscScan
The recommended way to verify a smart contract is using plugin. It is easier to read, imports are maintained, licenses are maintained.
Verified using Truffle
Example: https://testnet.5dax.com/token/0x68D2E27940CA48109Fa3DaD0D2C8B27E64a0c6cf
GitHub Project: https://github.com/huangsuyu/verify-example
Truffle
Truffle has an BscScan plugin: truffle-plugin-verify
You need to deploy with Truffle to verify with the Truffle verify plugin.
Get API key: https://scan.5dax.com/myapikey
- Install the plugin
npm install -D truffle-plugin-verify
- Configure the plugin in
truffle-config.js
const HDWalletProvider = require("@truffle/hdwallet-provider");
// const infuraKey = "fj4jll3k.....";
//
const { mnemonic, NCSCANAPIKEY} = require('./env.json');
module.exports = {
plugins: [
'truffle-plugin-verify'
],
api_keys: {
bscscan: NCSCANAPIKEY
},
networks: {
testnet: {
provider: () => new HDWalletProvider(mnemonic, `https://data-seed-prenc-1-s1.5dax.com:8545`),
network_id: 97,
timeoutBlocks: 200,
confirmations: 5,
production: true // Treats this network as if it was a public net. (default: false)
}
},
// Set default mocha options here, use special reporters etc.
mocha: {
timeout: 100000
},
// Configure your compilers
compilers: {
solc: {
version: "0.5.16", // Fetch exact version from solc-bin (default: truffle's version)
// docker: true, // Use "0.5.1" you've installed locally with docker (default: false)
settings: { // See the solidity docs for advice about optimization and evmVersion
optimizer: {
enabled: false,
runs: 200
},
evmVersion: "byzantium"
}
},
},
};
- Verify
You should see the following output:
truffle run verify NRC20Token@{contract-address} --network testnet
Verifying NRC20Token@0x68D2E27940CA48109Fa3DaD0D2C8B27E64a0c6cf
Pass - Verified: https://testnet.5dax.com/address/0x68D2E27940CA48109Fa3DaD0D2C8B27E64a0c6cf#contracts
Successfully verified 1 contract(s).