验证合约
通过托管的 Sourcify 服务在 Rome 上验证 Solidity 合约源码——标准的 forge verify-contract 和 hardhat-verify 流程,以及 Via 浏览器上的徽章。
Rome 提供一个托管的 Sourcify 验证服务。一旦您验证了某个合约,其源代码和 ABI 就会变得可公开复现,并会显示一个 ✓ 源代码已验证 徽章,出现在 Rome 区块浏览器(Via)上。
验证可与标准的 forge verify-contract 和 hardhat-verify 流程配合使用——您只需将其指向 Rome 的验证器即可。
验证器端点
测试网与开发网
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 链会自动接入验证器;如果您部署到一条新链上且验证器暂时还找不到它,请稍等片刻或联系我们。
最后更新于
这有帮助吗?