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

Проверка контрактов

Rome использует размещённый Sourcify сервис верификации. После проверки контракта его исходный код и ABI становятся общедоступно воспроизводимыми и отображаются с ✓ Исходный код проверен значком в блок-эксплорере Rome (Via).

Верификация работает со стандартными forge verify-contract и hardhat-verify процессами — достаточно указать им верификатор Rome.

Конечная точка верификатора

Среда
URL верификатора

Testnet и Devnet

https://verify.testnet.romeprotocol.xyz

Один общий экземпляр обслуживает все цепочки Rome testnet/devnet — вы выбираете цепочку с помощью стандартного --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 определяет chain ID из --rpc-url).

Hardhat

Добавьте Sourcify в hardhat.config.js и выполните hardhat verify:

Проверка статуса верификации

Эксплорер получает статус верификации из API верификатора. Вы можете запросить его напрямую:

Проверенный контракт возвращает совпадение поле:

  • exact_match — байткод и совпадение хеша метаданных (идеальное, «полное» совпадение).

  • совпадение — байткод совпадает; метаданные немного отличаются (всё равно подлинное, проверенное совпадение).

  • 404 / null — не проверено.

Примечания

  • Для верификации нужны только развернутый байткод вашего контракта, исходный код и параметры компилятора, которые вы предоставляете, — те же входные данные, что и в любой сети EVM.

  • Новые цепочки Rome автоматически подключаются к верификатору; если вы развернули контракт в новой цепочке, а верификация пока не находит её, подождите немного или свяжитесь с нами.

Последнее обновление

Это было полезно?