イーサリアムのコントラクトをデプロイしようとした時に
HardhatError: HH108: Cannot connect to the network localhost
が発生したので、原因と対策を書きます。
原因と解消法
いきなり本題いきます。
Hardhatがlocalhostに接続できないことを示しています。これは通常、以下のような理由で発生します。
ローカルのEthereumネットワークが稼働していない
Hardhatは、デプロイスクリプトをローカルネットワークに接続して実行しようとしています。
そのためには、ローカルにEthereumネットワーク(例えば、GanacheやHardhat Network)が実行されている必要があります。
これを解決するには、新しいターミナルウィンドウを開いて npx hardhat node
を実行し、ローカルネットワークを起動してください。
ネットワーク設定が間違っている:
Hardhat設定ファイル (hardhat.config.js
または hardhat.config.ts
) に、localhost
ネットワークの設定が含まれていない、または設定が正しくない可能性があります。
localhost
の設定は次のようになるべきです
networks: { localhost: { url: "http://127.0.0.1:8545" }, }
ここで url
の部分はあなたのローカルEthereumネットワークの接続情報に基づくべきです。
私の場合は、npx hardhat nodeを実行することでローカルホストへのコントラクトのデプロイが成功するようになりました!