验证 Hardhat 合约

当你的合约被部署到区块链实时网络中,下一步将是在区块浏览器上验证其源代码。

验证合约意味着将合约源代码以及用于编译代码的设置上传到存储库(通常由区块资源管理器维护)。这样,任何人都可以对合约进行编译,并将生成的字节码与部署在链上的字节码进行比较。对于 Monad 这样的开放区块链平台来说,这样做极为重要。

注意:目前,开发网区块浏览器尚未公开。如公开,此页面将更新,感谢您的耐心等待。

本章节将阐述如何在 Monad 区块浏览器中执行Hardhat 合约验证。

设置配置变量

Hardhat 项目可以将配置变量用于用户特定值,或用于不应包含在代码存储库中的数据。

运行以下命令,设置配置变量:

npx hardhat vars set <variable_name>

例如,运行以下命令,设置 MONAD_RPC_URL 变量:

npx hardhat vars set MONAD_EXPLORER_URL

注意:在设置 MONAD_EXPLORER_URL 配置变量时,请勿包含 /api 部分。

接下来,在提示符中,为此变量输入自定义值:

Enter value: ********************************

同样,你还可以设置 MONAD_CHAIN_ID 变量。

更新 hardhat.config.ts 文件以生效 monadDevnet 配置

注意:目前 Monad 区块浏览器是基于 Blockscout 的,因此不需要 API 密钥。现阶段使用了虚拟占位符值DUMMY_VALUE_FOR_BLOCKSCOUT,以避免错误。

验证智能合约

运行以下命令,验证智能合约:

结果输出如下示例,表示合约成功验证:

使用上方输出结果末尾的链接,可以在区块浏览器中查看经过验证的智能合约。

注意:目前,开发网区块浏览器尚未公开。如公开,此页面将更新,感谢您的耐心等待。

最后更新于