Truffle Verify Plugin の使い方
Truffle Verify Pluginは、EtherscanやPolygonscanにコントラクトのコードを登録するためのプラグイン。 Flattenせずに、ちゃんと複数ファイルで登録してくれる。
インストール
> npm i -D truffle-plugin-verify
Ethescan(Polygonscan)のAPI keyを取得
アカウントを作成して、API Keyを発行する。
secrets.jsonに追加
{ "mnemonic": "...", "polygonscanApiKey": "...", "etherscanApiKey": "..." }
truffle-config.jsに追加
const { mnemonic, polygonscanApiKey, etherscanApiKey } = require("./secrets.json"); (中略) api_keys: { etherscan: etherscanApiKey, polygonscan: polygonscanApiKey, }, plugins: [ 'truffle-plugin-verify' ] };
実行
コントラクト名とネットワークを指定して実行。
> truffle run verify HelloNft --network matic_testnet
しばらく待つと完了する。
Verifying HelloNft Pass - Verified: https://mumbai.polygonscan.com/address/...#code Successfully verified 1 contract(s).
エラー
最初に実行したときはエラーが出た。
Fail - Unable to verify
デプロイしたときは、Solidityのバージョンが 0.8.7 だったのが、 その後 0.8.8 にアップデートしていたことが原因だった。
truffle-config.jsでコンパイラバージョンを ^0.8.0 から 0.8.7 に変更したらうまくいった。