Hardhat

【Hardhat】驗證智能合約 使用 Etherscan Bscscan 區塊鏈瀏覽器

【Hardhat】驗證智能合約 使用 Etherscan Bscscan 區塊鏈瀏覽器

驗證智能合約是指對智能合約代碼進行驗證以確保其正確性和安全性的過程。這可以通過使用工具來檢查代碼錯誤和漏洞,並確保代碼符合業界標準和最佳實踐。在部署之前驗證智能合約是非常重要的,因為一旦部署,就不能更改代碼。


文章目錄

  1. 登入區塊鏈瀏覽器 取得API KEY
  2. 安裝 hardhat-etherscan
  3. 區塊鏈環境配置
  4. 驗證智能合約
  5. 驗證有參數的智能合約
  6. 驗證 Proxy 智能合約與邏輯合約

1.登入區塊鏈瀏覽器 取得API KEY

Bscscan

右上角登入

登入帳號密碼

選擇 API-KEYS

創建 API-KEYS

命名

創建完成

2.安裝 hardhat-etherscan

npm i @nomiclabs/hardhat-etherscan

3.區塊鏈環境配置

hardhat.config.js

Ethersacn Bscscan 都是共用的
require("@nomicfoundation/hardhat-toolbox");
require("@nomiclabs/hardhat-etherscan");

const PRIVATE_KEY = "錢包私鑰";

module.exports = {
    solidity: {
        version: "0.8.19",
        settings: {
            optimizer: {
                enabled: true,
                runs: 200
            }
        }
    },
    networks: {
        bsc: {
            url: "https://rpc.ankr.com/bsc",
            accounts: [PRIVATE_KEY]
        },
        bscTestnet: {
            url: "https://data-seed-prebsc-2-s3.binance.org:8545",
            accounts: [PRIVATE_KEY]
        }
    },
    etherscan: {
        apiKey: "UMD653D3H2GUHZZRICP5VEVTJ7KFAR7MBB"
    }
};

4.驗證智能合約

network可以換已配置好的區塊鏈
artifacts cache 資料夾不能刪除不然就無法驗證
npx hardhat verify 智能合約地址 --network bscTestnet

BSC Testnet Hello

5.驗證有參數的智能合約

scripts/argument.js
填建構子的參數
module.exports = [
    "wade"
];
network可以換已配置好的區塊鏈
artifacts cache 資料夾不能刪除不然就無法驗證
npx hardhat verify --constructor-args .\scripts\argument.js 智能合約地址 --network bscTestnet

BSC Testnet Hello

6.驗證 Proxy 智能合約與邏輯合約

network可以換已配置好的區塊鏈
artifacts cache 資料夾不能刪除不然就無法驗證
npx hardhat verify 智能合約地址 --network bscTestnet

BSC Testnet GameV2

代理合約

BSC Testnet Proxy

區塊鏈瀏覽器會詢問合約是否為代理合約

選擇 Is this a proxy

代理合約地址

是否綁定此邏輯合約地址

驗證完成

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *