🐡
Amoy テストネットのVerify方法 ~Polygon scan~
はじめに
まだPolygonスキャンでAmoyテストネットがサポートされていない時にoklinkでverifyしようと思ったけど、うまくいかなかった。。Polygonスキャンでサポートしてからいつも通りにverifyしたらできたので、特段変わったことはないですが、記録しておきます。
前提
- コントラクトは既にデプロイ済み
- hardhatを使用
- alchemyなどでRPC URL APIを取得済み
手順
- hardhat.config.ts に値をセット
- hardhat コマンドでverify
1. hardhat.config.ts に値をセット
- solidityバージョン、alchemyのAPI KEYなどはご自身のものに置き換えてください
- etherscan以降は設定同じで大丈夫です。
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