Перейти к основному содержанию

Я верифицировал свой контракт публично, но хочу, чтобы он был приватным. Можно ли убрать публичную верификацию контракта?


Чтобы вернуть контракт в приватное состояние и сделать его видимым только в рамках вашего проекта, обратитесь в нашу службу поддержки или напишите на support@tenderly.co. Обязательно предоставьте своё имя пользователя, проект и адрес контракта. Наша команда удалит публичную верификацию для указанного контракта.

Как приватно верифицировать контракты из публичных сетей (Mainnet, Holesky и т. д.) в Tenderly?


Приватная верификация означает, что контракты будут видны только пользователям Tenderly, имеющим доступ к вашему проекту.
  • При верификации через Hardhat необходимо установить флаг config.tenderly.private в hardhat.config.ts. Контракты будут верифицированы публично, если вы не укажете этот флаг.
  • При верификации через Foundry Verifier URL должен заканчиваться на /public:
    ## private verification URL
    https://api.tenderly.co/api/v1/account/me/project/project/etherscan/verify/network/8253
    
    ## public verification URL
    https://api.tenderly.co/api/v1/account/me/project/project/etherscan/verify/network/8253/public
    

Если я публично верифицирую контракт в Tenderly, будет ли он оставаться видимым после того, как я удалю его из своих контрактов?


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

Как верифицировать контракты с помощью hardhat-ignition?


Разверните с помощью hardhat ignition deploy и обязательно добавьте --deployment-id с конкретным значением при запуске команды.
TENDERLY_AUTOMATIC_VERIFICATION=true \
npx hardhat ignition deploy ./ignition/modules/Lock.ts \
    --network virtual_base \
    --deployment-id deploy-to-virtual-base

Как автоматически верифицировать контракты с помощью плагина hardhat-tenderly?


  • Для версий >= 2.4.0 и >=1.10.0 плагин распознаёт переменную окружения TENDERLY_AUTOMATIC_VERIFICATION. Используйте её, чтобы включать или отключать автоматическую верификацию. Пример:
    TENDERLY_AUTOMATIC_VERIFICATION=true npx hardhat deploy
    
    • Для версий < 2.4.0 и < 1.10.0 необходимо вызвать tenderly.setup в hardhat.config.ts следующим образом, чтобы управлять автоматической верификацией.
      tenderly.setup({ automaticVerifications: !!process.env.TENDERLY_AUTOMATIC_VERIFICATION })
      

Нужно ли вызывать tenderly.setup() в hardhat.config.ts?


Начиная с версий 2.4.0 и 1.10.0, вам не нужно вызывать метод tenderly.setup.

Как называть сети в hardhat.config.ts?


  • Публичные сети могут иметь любое имя. Для виртуальных окружений, в зависимости от версии @tenderly/hardhat-tenderly:
    • имя сети должно быть tenderly в версиях < 2.4.0 и < 1.10.0.
    • имя сети может быть любым в версиях >= 2.4.0 и >= 1.10.0.

Как верифицировать прокси-контракты в Hardhat?