🦁

AstarテストネットにデプロイしたコントラクトをHardhatからVerifyする

2022/11/23に公開

概要

Astarの公式DocにあるVerify手順が多少不親切という話を小耳に挟んだので、手順をまとめてみました。
ただし、Astar上へのコントラクトデプロイがRPCの問題でうまくいかなかったので、AstarのテストネットであるShibuyaでの実績をもとに記載します。

とりあえず方法を知りたい方向け

参考:https://docs.blockscout.com/for-users/verifying-a-smart-contract/hardhat-verification-plugin
※コントラクトはデプロイ済みであること前提

  1. 以下にサインインし、AccountページからAPI Keyを取得する
    https://blockscout.com/xdai/mainnet/
  2. 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"
      }
    }
  ]
}
  1. 以下コマンドを実行
npx hardhat verify --network <network> DEPLOYED_CONTRACT_ADDRESS "Constructor argument 1"

ハマりどころ(?)解説

Astar公式Docには手順がなく、Blockscoutのページに飛ばされる

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