合约验证
部署智能合约之后,在区块链浏览器上验证代码是非常重要的。 这可以通过使用开发者工具或 Web UI 以自动化的方式完成。
使用开发者工具
大多数智能合约工具都有插件,可以轻松地在 ConfluxScan 上验证合约。
网络名称 | 区块链浏览器 API |
---|---|
主网 | https://evmapi.confluxscan.io/api/ |
测试网 | https://evmapi-testnet.confluxscan.io/api/ |
Hardhat
修改 hardhat.config.ts
以指向 Conflux eSpace 的 RPC 和区块浏览器 API。 需要一个虚拟的 apiKey
值,但它的值可以是任何内容。
例如,如果您使用的是 eSpace 测试网,您的配置将如下所示:
...
const config: HardhatUserConfig = {
...
solidity: "0.8.19",
networks: {
espaceTestnet: {
url: "https://evm.confluxrpc.com",
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
},
sourcify: {
enabled: false,
},
etherscan: {
apiKey: {
espaceTestnet: 'espace',
},
customChains: [
{
network: 'espaceTestnet',
chainId: 71,
urls: {
apiURL: 'https://evmapi-testnet.confluxscan.io/api/',
browserURL: 'https://evmtestnet.confluxscan.io/',
},
},
],
},
}
...
现在您可以通过运行以下命令来验证智能合约。
npx hardhat verify --network espaceTestnet <contract address> <space separated constructor parameters>
例如,这是一个在构造函数中接收两个 uint 参数的智能合约的验证方式:
npx hardhat verify --network espaceTestnet 0xD9880690bd717189cC3Fbe7B9020F27fae7Ac76F 123 456