文章目录

  • 一、验证说明
  • 二、Etherscan Key
  • 三、验证插件
  • 四、源码认证
    • 4.1 Remix验证(推荐)
      • 4.1.1 无构造参数合约验证
      • 4.1.2 有构造参数合约验证
    • 4.2 单文件验证(不推荐)
    • 4.3 Hardhat部署(按照需要)
  • 五、验证结果
  • 六、文章预告

前置参考文档:https://blog.csdn.net/sinat_34104446/article/details/130557703

一、验证说明

  1. 合约验证是上传合约源代码到etherscan过程,在智能合约项目中,通常都是提供源码验证,增加项目信任度
  2. 验证合约后可以直接在etherscan上执行获取和设置方法,方便日常的管理员维护
  3. 以下使用remix进行验证并使用较多的图片示例进行说明
  4. 每个部署都有对应的合约,点击合约地址即可查看代码示例

温馨提示:Etherscan需要梯子

二、Etherscan Key

  1. 验证合约需要使用到etherscan的api key
  2. 进入到etherscan登录账号后进入个人中心
    • https://etherscan.io/myapikey

  1. 保管好个人api,防止泄漏

三、验证插件

  1. 验证源码需要remix插件 ETHERSCAN – CONTRACT VERIFICATION 的支持
  2. 增加 ETHERSCAN – CONTRACT VERIFICATION 插件,验证的时候部署环境需要切换到对应的部署钱包


  1. 填写完成后点击 Save API key,然后点击填写 api key右上角的小房子图标回到插件首页

四、源码认证

源码的验证必须要和原始部署代码保持一致,否则将验证失败

4.1 Remix验证(推荐)

4.1.1 无构造参数合约验证

  1. 无参构造只需要在Remix上使用合约验证插件直接验证即可

  1. 选择 Verify Contract,等待验证成功

  1. 验证结果参考 第五节、验证结果

4.1.2 有构造参数合约验证

remix可以验证单文件和多文件

  1. 点击合约信息中的 Verify and Publish,此处操作的目的是为了获取remix验证插件需要的构造参数信息

  1. 按照图示填写信息,然后continue

  1. 复制构造参数

  1. remix进行合约验证,按照下面的参数填写

  1. 查看合约验证结果参考第五节

4.2 单文件验证(不推荐)

如果存在多文件,例如有import,则需要借助插件将多文件合并成一个单文件
如果不借助插件则只能手动将多个文件的源代码全部合并为一个,且需要重新部署合约

  1. 如果仅仅只是普通合约不存在import的,可以在合约部署完成进行手动验证
  2. 单文件验证和remix验证的etherscan部署完全一致,只需要在源码处填写源码后验证即可

  1. 填写完成之后点击 Verify and Publish即可

4.3 Hardhat部署(按照需要)

hardhat部署需要网络友好软件且需要全局配置,故推荐使用Remix验证

五、验证结果

无参构造合约:0x9a9560272b12cd56b11f547c2f7092c274a9ff52

  1. Remix验证之后,到Etherscan的contract菜单刷新页面

  1. 查看合约提供的读取方法

  1. 查看合约提供的设置方法

有参构造合约:0xae8ee7b8355190b47665511e15824eed2b55b1d5

六、文章预告

  1. 以上都是普通智能合约部署,后续会上代理合约部署和代理合约验证
  2. 代理合约部署和验证比较复杂,将会采用较多图示进行演示