《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证)

文章目录

  • 一、验证说明
  • 二、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] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

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

三、验证插件

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

图片[2] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL
图片[3] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

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

图片[4] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

四、源码认证

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

4.1 Remix验证(推荐)

4.1.1 无构造参数合约验证

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

图片[5] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

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

图片[6] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

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

4.1.2 有构造参数合约验证

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

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

图片[7] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

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

图片[8] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

  1. 复制构造参数

图片[9] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

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

图片[10] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

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

4.2 单文件验证(不推荐)

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

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

图片[11] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

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

4.3 Hardhat部署(按照需要)

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

五、验证结果

无参构造合约:0x9a9560272b12cd56b11f547c2f7092c274a9ff52

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

图片[12] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

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

图片[13] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

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

图片[14] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

有参构造合约:0xae8ee7b8355190b47665511e15824eed2b55b1d5

图片[15] - 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证) - MaxSSL

六、文章预告

  1. 以上都是普通智能合约部署,后续会上代理合约部署和代理合约验证
  2. 代理合约部署和验证比较复杂,将会采用较多图示进行演示
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享