AstarテストネットにデプロイしたコントラクトをHardhatからVerifyする
概要
Astarの公式DocにあるVerify手順が多少不親切という話を小耳に挟んだので、手順をまとめてみました。
ただし、Astar上へのコントラクトデプロイがRPCの問題でうまくいかなかったので、AstarのテストネットであるShibuyaでの実績をもとに記載します。
とりあえず方法を知りたい方向け
参考:https://docs.blockscout.com/for-users/verifying-a-smart-contract/hardhat-verification-plugin
※コントラクトはデプロイ済みであること前提
- 以下にサインインし、AccountページからAPI Keyを取得する
https://blockscout.com/xdai/mainnet/ - hardhat.config.jsに以下のように記載
module.exports = {
solidity: "0.8.9",
networks: {
shibuya: {
url: 'YOUR_RPC_URL',
accounts: [secret.key],
}
},
etherscan: {
apiKey: {
shibuya: "手順1で取得したAPI Keyを記載"
},
customChains: [
{
network: "shibuya",
chainId: 81,
urls: {
apiURL: "https://blockscout.com/shibuya/api",
browserURL: "https://blockscout.com/shibuya"
}
}
]
}
- 以下コマンドを実行
npx hardhat verify --network <network> DEPLOYED_CONTRACT_ADDRESS "Constructor argument 1"
ハマりどころ(?)解説
Astar公式Docには手順がなく、Blockscoutのページに飛ばされる
-
Verifyに関するページはちゃんとあるものの、ほぼ内容がなくBlockscoutのページを見てねと言われる
https://docs.astar.network/docs/EVM/verify-sc/ -
Blockscoutのページを見るとちゃんと手順が書いてあるが、Astar専用ページではではないため、設定項目に何を入れればいいのかすぐ分からない
https://docs.blockscout.com/for-users/verifying-a-smart-contract/hardhat-verification-plugin
BlockscoutのAPI Keyの取得方法が分からない
-
BlockscoutのAPI Keyを取得するためにドキュメントを探すと、ちゃんと以下のページがあった
https://docs.blockscout.com/for-users/my-account
Etherescanなどと同様に、アカウントを作成してAPI Keyを取得するよう。ここまでは問題なし
-
では早速アカウントを作成しようとAstar公式Doc内のリンクからblockscoutにアクセスする
https://blockscout.com/astar
すると…
サインインボタンがない!!!
どうもBlockscoutのドキュメント内画像にあるように、Gnosis Chainのページからでないとサインインできない模様…どうして…
後書き
Astarではまだ試せていないので、そちらもできたらアップデート予定です
Discussion