For the complete documentation index, see llms.txt. This page is also available as Markdown.

验证合约

Rome 运行一个托管的 Sourcify 验证服务。一旦您验证了合约,其源代码和 ABI 就可以公开复现,并会在 ✓ 源码已验证 徽章与 Rome 区块浏览器(Via)中显示。

验证可与标准的 forge verify-contracthardhat-verify 流程配合使用——您只需将它们指向 Rome 的验证器。

验证器端点

环境
验证器 URL

测试网与开发网

https://verify.testnet.romeprotocol.xyz

一个共享实例为每条 Rome 测试网/开发网链提供服务——您使用标准的 --chain-id 标志进行选择。

Foundry

在部署后(见 部署 Solidity 合约):

forge verify-contract <CONTRACT_ADDRESS> src/MyContract.sol:MyContract \
  --verifier sourcify \
  --verifier-url https://verify.testnet.romeprotocol.xyz/ \
  --chain-id <YOUR_CHAIN_ID> \
  --compiler-version 0.8.20

如果构造函数接受参数,请传入它们,以便字节码匹配:

  --constructor-args $(cast abi-encode "constructor(uint256)" 42)

您也可以在部署时使用以下方式进行验证: forge create … --verifyforge script … --verify (Foundry 会从 --rpc-url).

Hardhat

将 Sourcify 添加到 hardhat.config.js 并运行 hardhat verify:

检查验证状态

区块浏览器从验证器的 API 读取验证状态。您可以直接查询:

已验证的合约会返回一个 match 字段:

  • exact_match — 字节码 元数据哈希匹配(完全、"完整"匹配)。

  • match — 字节码匹配;元数据略有差异(仍然是一个真实、已验证的匹配)。

  • 404 / null — 未验证。

注意事项

  • 验证只需要您合约已部署的字节码 + 您提交的源代码和编译器设置——与任何 EVM 链上的输入相同。

  • 新的 Rome 链会自动接入验证器;如果您部署到一条新链上而验证暂时还找不到它,请稍等片刻或联系我们。

最后更新于

这有帮助吗?