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

验证合约

通过托管的 Sourcify 服务在 Rome 上验证 Solidity 合约源码——标准的 forge verify-contract 和 hardhat-verify 流程,以及 Via 浏览器上的徽章。

Rome 提供一个托管的 Sourcify 验证服务。一旦您验证了某个合约,其源代码和 ABI 就会变得可公开复现,并会显示一个 ✓ 源代码已验证 徽章,出现在 Rome 区块浏览器(Via)上。

验证可与标准的 forge verify-contract 和 hardhat-verify 流程配合使用——您只需将其指向 Rome 的验证器即可。

验证器端点

环境
验证器 URL

测试网与开发网

https://verify.testnet.romeprotocol.xyz

主网(Rubicon)

https://verify.mainnet.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 … --verify 或 forge script … --verify (Foundry 会从 --rpc-url).

Hardhat

hardhat-verify 随 Hardhat 3 工具箱一起提供。在 hardhat.config.ts 中将其 Sourcify 提供者指向 Rome 的验证器,然后运行 hardhat verify:

验证成功后,验证器会链接已发布的源代码,例如 https://verify.testnet.romeprotocol.xyz/repo-ui/<CHAIN_ID>/<ADDRESS>.

检查验证状态

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

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

  • exact_match — 字节码 和 元数据哈希匹配(完美的“完整”匹配)。

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

  • 404 / null — 未验证。

说明

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

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

最后更新于

这有帮助吗?