🐡

Amoy テストネットのVerify方法 ~Polygon scan~

2024/04/19に公開

はじめに

まだPolygonスキャンでAmoyテストネットがサポートされていない時にoklinkでverifyしようと思ったけど、うまくいかなかった。。Polygonスキャンでサポートしてからいつも通りにverifyしたらできたので、特段変わったことはないですが、記録しておきます。

前提

  • コントラクトは既にデプロイ済み
  • hardhatを使用
  • alchemyなどでRPC URL APIを取得済み

手順

  1. hardhat.config.ts に値をセット
  2. hardhat コマンドでverify

1. hardhat.config.ts に値をセット

  • solidityバージョン、alchemyのAPI KEYなどはご自身のものに置き換えてください
  • etherscan以降は設定同じで大丈夫です。

https://hardhat.org/hardhat-runner/plugins/nomicfoundation-hardhat-verify#adding-support-for-other-networks

import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
require('dotenv').config();

const config: HardhatUserConfig = {
  solidity: {
    compilers: [
      { version: "0.8.18",
        settings: {
          optimizer: {
            enabled: true,
            runs: 200,
          },
        },
       },
    ]
  },
  networks: {
    polygonAmoy: {
      url: "https://polygon-amoy.g.alchemy.com/v2/<alchemyで取得したapi key>", // Amoy RPC URL
      accounts: [`0x${process.env.AMOY_PRIVATE_KEY}`]
    },
    polygon: {
      url: "https://polygon-mainnet.g.alchemy.com/v2/<alchemyで取得したapi key>", // Polygon Mainnet RPC URL
      accounts: [`0x${process.env.POLYGON_MAINNET_PRIVATE_KEY}`]
    },
  }, 
  etherscan: {
    apiKey: process.env.POLYGONSCAN_API_KEY,
    customChains: [
      {
        network: "polygonAmoy",
        chainId: 80002,
        urls: {
          // oklinkでうまくいかなかった
          // apiURL:
          //   "https://www.oklink.com/api/explorer/v1/contract/verify/async/api/polygonAmoy",
          // browserURL: "https://www.oklink.com/polygonAmoy",
          apiURL:
          "https://api-amoy.polygonscan.com/api",
          browserURL: "https://api-amoy.polygonscan.com", 
        },
      },
    ],
  }
};

export default config;

2. hardhatコマンドでverify

コントラクトやコントラクトアドレスを指定して下記コマンドを実行されてください。

npx hardhat verify --network polygonAmoy --contract contracts/<ファイル名>.sol:<コントラクト名> <コントラクトアドレス> <コンストラクタの引数などあれば>

私の場合の実行結果は下記のようになりました。

これでverify完了です!

Discussion