> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tenderly.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Верификация смарт-контрактов

> Верифицируйте смарт-контракт в Tenderly, чтобы декодировать его транзакции, события и изменения состояния, а также отлаживать выполнение по исходному коду Solidity.

Верификация контракта отправляет исходный код развёрнутого контракта, чтобы Tenderly мог сопоставить его с байткодом в сети. После верификации Tenderly может декодировать транзакции этого контракта, события и изменения состояния в:

* **Декодированные транзакции**: трассы вызовов, события, изменения состояния и расход газа становятся читаемыми.
* **Debugger**: пошагово проходите по выполнению относительно исходного кода Solidity, задавайте приоритеты и комментируйте трассы.
* **Gas profiler**: постройковая атрибуция газа относительно исходного кода.
* **Общий доступ**: делитесь верифицированными контрактами с соавторами и аудиторами.

Без верификации во всех инструментах Tenderly, которые касаются этого контракта, вы будете видеть только сырой байткод.

## Выберите метод

Для верификации в **публичных сетях** (mainnet и testnet) выберите руководство, соответствующее вашим инструментам:

* [Dashboard](/contract-verification/dashboard): верификация только через браузер в Tenderly Dashboard.
* [Foundry](/contract-verification/foundry): `forge verify-contract` и деплой с верификацией через `forge create` / `forge script`.
* [Hardhat](/contract-verification/hardhat): плагин `@tenderly/hardhat-tenderly`, автоматически или вручную.
* [Hardhat (прокси-контракты)](/contract-verification/hardhat-proxy): UUPS-, Transparent- и Beacon-прокси.

Чтобы верифицировать контракты в **Virtual Environment**, см. [Деплой и верификация контрактов](/virtual-environments/develop/deploy-contracts) и [Верификация прокси-контрактов с помощью Foundry](/virtual-environments/develop/verify-proxy-contracts) в разделе Virtual Environments.

## Публичная и приватная видимость

В **публичных сетях** вы выбираете один из двух режимов видимости:

* **Публичная верификация.** Исходный код виден всем в Tenderly и распространяется в публичные реестры верификации.
* **Приватная верификация.** Исходный код виден только внутри вашего проекта и организации в Tenderly.

В **Virtual Environments** верификации всегда ограничены вашим проектом и организацией. Публичного режима здесь нет; см. [Деплой и верификация контрактов](/virtual-environments/develop/deploy-contracts).

| Кто может видеть верифицированный исходный код | Публичная верификация (публичная сеть) | Приватная верификация (публичная сеть) | Virtual Environment |
| ---------------------------------------------- | :------------------------------------: | :------------------------------------: | :-----------------: |
| Все пользователи Tenderly                      |                    ✓                   |                                        |                     |
| Соавторы проекта                               |                    ✓                   |                    ✓                   |          ✓          |
| Участники организации                          |                    ✓                   |                    ✓                   |          ✓          |

Как переключиться на приватный режим — зависит от метода:

* **Hardhat**: установите `tenderly.privateVerification: true` в `hardhat.config.ts`. См. [Настройку Hardhat](/contract-verification/hardhat#configure-authentication-and-verification-visibility).
* **Foundry**: добавьте `/public` к URL верификатора для публичной верификации, опустите — для приватной. См. [URL верификатора Foundry](/contract-verification/foundry#verifier-url).
* **Dashboard**: переключите **Make Private** в диалоге верификации. См. [Верификацию через Dashboard](/contract-verification/dashboard#public-and-private-verification).
