

要通过 Hardhat 进行智能合约验证,您需先安装 Hardhat Etherscan 插件。该插件可让 Hardhat 开发环境与 BSCScan 等区块链浏览器无缝集成,便于您在区块链上验证已部署的智能合约。
请在项目目录下运行以下命令安装插件:
npm install --save-dev @nomiclabs/hardhat-etherscan
安装完成后,前往目标网络的区块链浏览器注册 API key。该 API key 用于验证请求身份,并将在配置阶段使用。
插件安装后,需在 hardhat.config.js 文件中进行配置。这样可确保 Hardhat 能与区块链浏览器正常通信,并具备验证合约所需的全部凭证。
请在 hardhat.config.js 文件中添加如下配置:
require("@nomiclabs/hardhat-etherscan") 引入 Hardhat Etherscan 插件以下为配置示例:
// hardhat.config.js
const { mnemonic, explorerApiKey } = require('./secrets.json');
require('@nomiclabs/hardhat-[etherscan](https://web3.gate.com/crypto-wiki/article/how-to-use-etherscan-to-navigate-the-blockchain-20251127)');
/**
* @type {import('hardhat/config').HardhatUserConfig}
*/
module.exports = {
networks: {
testnet: {
url: `https://data-seed-prebsc-1-e05a8b61d2d5ddd83ebdd5dc0ee2d25c6330ee4393a2d6a27465d41bc47f274a.bnbchain.org:2053`,
accounts: { mnemonic: mnemonic }
},
mainnet: {
url: `https://bsc-dataseed1.bnbchain.org:443`,
accounts: { mnemonic: mnemonic }
}
},
etherscan: {
apiKey: explorerApiKey
},
solidity: "0.5.12"
};
请确保网络配置指向正确的 RPC 节点,并且 Solidity 编译器版本与您的智能合约相符。
完成插件安装与配置后,即可在区块链浏览器上验证智能合约。建议在执行验证命令前,移除不相关的合约并清空 artifacts 目录,以防无关合约干扰验证流程。
执行以下命令进行验证:
npx hardhat verify --network mainnet DEPLOYED_CONTRACT_ADDRESS "Constructor argument 1"
例如,在 testnet 验证合约,命令如下:
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](https://web3.gate.com/crypto-wiki/article/849b8dd7-2cc3-4d63-90ea-8438c4ed8a17) on Etherscan.
此输出表明智能合约已成功验证,可在区块链浏览器中公开查看。
利用 Hardhat 的 verify 功能结合区块链浏览器进行合约验证,流程简明高效,有助于提升区块链生态透明度和安全性。通过安装 Hardhat Etherscan 插件、正确配置 hardhat.config.js 的 API key 及网络参数,并执行验证命令,即可保证已部署的智能合约可被验证和审计。该流程让您的合约源码公开,便于用户和利益相关方进行查验和信任背书。
Hardhat 是以太坊智能合约的开发环境,支持开发者在本地网络和测试网高效编译、部署、测试和调试代码。
利用验证工具确认字节码与源码一致,提交合约源码、编译器版本和构造参数至验证服务。验证后,合约源码将公开可查并获得信任。
在区块链浏览器上核查合约地址,检查最新交易记录,确认关联代币的合法性,并确保合约功能与声明用途一致。











