😸
polygonscan(testnet)のverifyをhardhatから行う方法
日本語の記事が少なかったので、私の備忘録も含めて記載します。
また、タイトルに違和感を覚える方もいるかもしれませんが、多くの人に読んでもらうためにあえてpolygonscanの
という文言を入れています。
ご了承ください。
環境
- hardhat
- node
- npx
- スマートコントラクトはデプロイ済みを想定
やりたいこと
mumbaiにデプロイしたスマートコントラクトを、verify(polygonscan-testnet)したい。
1.polygonscanのsign-up
アカウント未作成の方は、上のURLからsign-upしましょう。
すでにアカウントがある方はsign-inしましょう。
テストネットではアカウントを作成できないので、メインネットでアカウントを作成しましょう。
2.APIキーの取得
続いてpolygonscanのAPIキーを発行します
Add
からAPIキーを発行します。
3. パッケージをインストール
以下のコマンドで、hardhat-etherscan
をインストールします。
npm install --save-dev @nomiclabs/hardhat-etherscan
または
yarn add --dev @nomiclabs/hardhat-etherscan
▼ 一応リンクも貼っておきます
4.hardhat.config.jsの編集
※コントラクトはすでにminbaiにデプロイ済みを想定しています。
それでは、hardhat.config.js
を編集します。
先ほどインストールしたパッケージを読み込みます。
require("@nomiclabs/hardhat-waffle"); // これはもとからある
require("@nomiclabs/hardhat-etherscan"); // これを追加
module.exports
にetherscan
プロパティを追加します。
YOUR_API_KEY
を先ほど取得したAPIキーに変更してください。
module.exports = {
solidity: "0.8.4",
networks: {
mumbai: {
url: process.env.API_URL, // 環境変数から取得しています
accounts: [process.env.PRIVATE_KEY], // 環境変数から取得しています
},
},
// ここを追加
etherscan: {
apiKey: "YOUR_API_KEY",
},
};
5.hardhatコマンドの実行
以下のコマンドを実行します。
YOUR_CONTRACT_ADDRESS
は、デプロイしたコントラクトのアドレスを入れます。
npx hardhat verify YOUR_CONTRACT_ADDRESS --network mumbai
以下の表示が出たらOKです。
Nothing to compile
Successfully submitted source code for contract
...
Successfully verified contract AAA on Etherscan.
https://mumbai.polygonscan.com/address/YOUR_CONTRACT_ADDRESS#code
表示されたURLをクリックすると、verifyが完了しているはずです。
質問等ありましたら、私のTwitterまでメッセージください!
Discussion