跳转到主要内容

我公开验证了合约,但希望它变为私有。可以移除该合约的公开验证吗?


要将您的合约恢复为私有并仅在您的项目内可见,请联系我们的支持团队或发送邮件至 support@tenderly.co。请务必提供您的用户名、项目和合约地址。我们的团队将删除该指定合约的公开验证。

如何在 Tenderly 中私有验证来自公共网络(Mainnet、Holesky 等)的合约?


私有验证意味着合约将仅对拥有您项目访问权限的 Tenderly 用户可见。
  • 使用 Hardhat 进行验证时,必须hardhat.config.ts 中设置 config.tenderly.private 标志。除非指定此标志,否则合约将被公开验证。
  • 使用 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,您必须以如下方式在 hardhat.config.ts 中调用 tenderly.setup 来控制自动验证。
      tenderly.setup({ automaticVerifications: !!process.env.TENDERLY_AUTOMATIC_VERIFICATION })
      

我需要在 hardhat.config.ts 中调用 tenderly.setup() 吗?


从 2.4.0 和 1.10.0 起,您无需调用 tenderly.setup 方法。

在 hardhat.config.ts 中应如何命名网络?


  • 公共网络可以使用任意名称。 对于 Virtual Environments,取决于 @tenderly/hardhat-tenderly 的版本:
    • 版本 < 2.4.0< 1.10.0 中,网络名称必须为 tenderly
    • 版本 >= 2.4.0>= 1.10.0 中,网络名称可以任意指定。

如何在 Hardhat 中验证代理合约?


  • 版本 >= 2.1.0>= 1.10.0 中,代理合约的自动验证开箱即用。
    npm update @tenderly/hardhat-tenderly