验证智能合约

部署智能合约后,在我们的区块浏览器上验证您的代码非常重要。这可以使用您的开发者工具或使用Blockscout的网页以自动化方式完成。

使用开发者工具

大多数智能合约工具都有插件,可以在Etherscan上轻松验证您的合约。Blockscout支持Etherscan的合约验证API,将这些工具与Scroll Sepolia测试网一起使用非常简单。

网络ScrollScroll Sepolia
Scrollscanhttps://api.scrollscan.com/apihttps://api-sepolia.scrollscan.com/api
Blockscouthttps://blockscout.scroll.io/apihttps://sepolia-blockscout.scroll.io/api

Hardhat

首先,修改 hardhat.config.ts 以指向 Scroll 的 RPC 和 sepolia-blockscout.scroll.io/api. apyKey 设置为虚拟值是必需的,但任何内容都适合其 apyKey 值。

例如,如果您在 Blockscout 上使用 Scroll Sepolia,您的配置将如下所示:

...
const config: HardhatUserConfig = {
...
networks: {
scrollSepolia: {
url: 'https://sepolia-rpc.scroll.io' || '',
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
},
etherscan: {
apiKey: {
scrollSepolia: 'abc',
},
customChains: [
{
network: 'scrollSepolia',
chainId: 534351,
urls: {
apiURL: 'https://sepolia-blockscout.scroll.io/api',
browserURL: 'https://sepolia-blockscout.scroll.io/',
},
},
],
},
}
...

现在,您可以通过运行以下命令来验证智能合约。

npx hardhat verify --network scrollSepolia <contract address> <space separated constructor parameters>

例如,如下是在智能合约的构造函数中接收两个 uint 参数的:

npx hardhat verify --network scrollSepolia 0xD9880690bd717189cC3Fbe7B9020F27fae7Ac76F 123 456

Foundry

在使用 Foundry 时,verify-contract 命令有助于自动化合约验证的过程。如果您的合约具有构造函数参数,您可以使用 --constructor-args 选项以 ABI 编码形式指定这些参数。例如,如果您的构造函数接受两个 uint256 变量:

--constructor-args $(cast abi-encode "constructor(uint256,uint256)" 0 7)

请参考 Foundry 文档 以获取您可以指定的更多选项。

Scrollscan

forge verify-contract <contract address> <contract name> \
--verifier-url https://api-sepolia.scrollscan.com/api \
--etherscan-api-key <your Scrollscan API key> \
--constructor-args <your constructor arguments>

Blockscout

将验证提供者指定为 blockscout

Scroll
forge verify-contract <contract address> <contract name> \
--verifier-url https://blockscout.scroll.io/api\? \
--verifier blockscout \
--constructor-args <your constructor arguments>
Scroll Sepolia
forge verify-contract <contract address> <contract name> \
--verifier-url https://sepolia-blockscout.scroll.io/api\? \
--verifier blockscout \
--constructor-args <your constructor arguments>

接下来是什么

随时了解最新的 Scroll 新闻
路线图更新,虚拟和现场活动,生态机会等等
感谢您的订阅!

资源

关注我们