Работает на: публичных сетях (mainnet и testnet). Чтобы верифицировать контракт в Virtual Environment, см. Деплой и верификация контрактов.
Предварительные требования
Для верификации контракта необходимо предоставить:- Исходный код
- Точные настройки компилятора, использованные при компиляции развёрнутой версии
- Загрузив JSON-файл с метаданными контракта, сгенерированными компилятором
- Вставив исходный код напрямую
- Загрузив файл исходного кода с вашей файловой системы
- Загрузив всю директорию со всеми смарт-контрактами. Это упрощает верификацию контрактов, которые импортируют другие файлы.
Публичная и приватная верификация
При верификации смарт-контрактов необходимо выбрать один из двух режимов: приватный или публичный.- Публичный (в Tenderly): верифицированный контракт и его исходный код доступны всем пользователям Tenderly. Вам комфортно делиться контрактом с пользователями за пределами вашего проекта. Вы хотите разрешить вызывающим ваш контракт использовать инструменты мониторинга.
- Приватный (в Tenderly): верифицированный контракт виден только команде/соавторам. Подходит на этапе разработки контракта.
Столбец Verification во вкладке Contracts показывает, верифицирован ли ваш контракт вообще, и если да — приватно или публично.

Руководство по верификации контрактов через Dashboard
После того как вы добавили неверифицированный контракт в проект Tenderly, вот шаги для его верификации через Dashboard.1
Найдите неверифицированный контракт
2
В Dashboard найдите свой неверифицированный контракт в списке Contracts и нажмите кнопку Verify рядом со статусом верификации.
3
4
Выберите способ загрузки
5
Выберите один из вариантов:
6

7
Выберите контракт и видимость
8
Если загрузка содержит несколько контрактов, выберите тот, который соответствует адресу, показанному на предыдущем шаге. Переключите Make Private для приватной верификации.
9
10
Если каких-то импортов не хватает, Dashboard предложит добавить их перед продолжением.
11
Задайте настройки компилятора
12
Заполните версию компилятора, настройки оптимизатора (включён / runs), версию EVM и пары адресов библиотек, если ваш контракт использует связанные библиотеки. Любое несоответствие с развёрнутым байткодом приведёт к сбою верификации.
13
14
Завершение
15
Нажмите Finish для отправки. Статус верификации контракта обновится в списке Contracts.
Как верифицировать смарт-контракты пакетно
Если вы добавили в проект несколько неверифицированных контрактов, их можно верифицировать пакетно. Выполните следующие шаги:1
Найдите все неверифицированные контракты
2
Нажмите Verify All Contracts в разделе Contract.
Откроется модальное окно со списком всех неверифицированных контрактов вашего проекта.
3
4
Добавьте исходный код для каждого контракта
5
Нажмите Add Source рядом с каждым контрактом и укажите загрузку, настройки компилятора и переключатель видимости так же, как в сценарии с одним контрактом выше.
6
7
Завершение
8
Нажмите Finish для отправки. После верификации всех контрактов выберите, отображать ли их в списке транзакций проекта.