• 如何使用remix验证已部署的合约(以Goerli测试网为例)


    安装 ETHERSCAN - CONTRACT VERIFICATION 插件

    1、打开remix,点击左下角【插件管理】按钮

    在这里插入图片描述

    2、搜索 etherscan - contract verification,并点击激活按钮

    在这里插入图片描述

    3、点击左侧工具栏中的etherscan - contract verification图标

    在这里插入图片描述

    4、获取 Etherscan APIKey

    (1)Etherscan 网站:https://etherscan.io/

    点击右上角 登录注册

    在这里插入图片描述

    点击 左侧工具栏 API Keys,右上角添加 App Name,得到 API Key Token

    在这里插入图片描述

    (2)复制 API Key,并返回remix,点击 按钮 Save API Key

    在这里插入图片描述

    在这里插入图片描述

    5、选中你要验证的合约源码

    以Storage合约为例,之前已经部署到Goerli测试网,但未验证合约。
    在这里插入图片描述

    6、先编译合约,选中Goerli测试网,再打开 验证合约 插件,选择待验证的合约名字,输入构造参数的十六进制数据和 合约地址,点击按钮 Verify Contract

    (1)编译合约

    在这里插入图片描述

    (2)选中Goerli测试网

    在这里插入图片描述

    (3)打开 验证合约 插件,选择待验证的合约名字,输入构造参数的十六进制数据和 合约地址,点击按钮 Verify Contract

    在这里插入图片描述

    (4)此刻查看你部署在Goerli测试网的合约是否已经被验证

    补充

    如何获取构造参数十六进制数据

    以下列代码为例

    // SPDX-License-Identifier: GPL-3.0
    pragma solidity >=0.7.0 <0.9.0;
    
    contract Name {
        constructor(string memory name) {}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    (1)先编译合约,再进入部署页面,之后点击Deploy函数后的小箭头

    在这里插入图片描述

    (2)输入构造参数,点击 2 指向的按钮,可复制 编码后的十六进制数据

    在这里插入图片描述
    abi.encode(“ether”) =
    0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000056574686572000000000000000000000000000000000000000000000000000000

  • 相关阅读:
    深度分析:用户最喜欢用哪种NFT做头像
    Redis -- 主从
    Javaweb基础浅聊下载文件
    CKA场景题
    【测试】时间轴实现
    App Inventor 2 如何比较两个日期/时间?
    面试并发篇
    【Rust日报】2023-10-12 论文:利用公共信息评估 Rust 代码库
    “优化STM32单片机处理大量网络数据的方法“
    Python基础教程:关于序列操作的方式方法
  • 原文地址:https://blog.csdn.net/weixin_43405220/article/details/127779238