開発用ネットワーク
最終編集者: @HiroyukiNaito(opens in a new tab), 2024年8月29日
スマートコントラクトを使用するイーサリアムアプリケーションを構築する場合は、デプロイする前にローカルネットワーク上で実行して動作を確認することをお勧めします。
ウェブ開発において自分のコンピュータ上でローカルサーバを実行する場合と同様に、開発用ネットワークを使用してローカルブロックチェーンのインスタンスを作成し、dappをテストできます。 このイーサリアムの開発用ネットワークには、パブリックテストネットワークと比較して反復処理を大幅に迅速化する機能があります (たとえば、テストネットフォーセットからETHを取得する必要がありません)。
前提知識
開発用ネットワークについて学ぶ前に、イーサリアムスタックとイーサリアムネットワークの基本を理解する必要があります。
開発用ネットワークとは
開発用ネットワークは、基本的にはローカル開発のために設計された専用のイーサリアムクライアント (イーサリアムの実装) です。
標準的なイーサリアムノードをローカルで実行してみましょう。
そのままノードの実行に進むことも可能ですが、開発用ネットワークは開発用に構築されているため、多くの場合に以下のような便利な機能が搭載されています。
- ローカルブロックチェーンにデータを確定的にシードする (ETH残高を持つアカウントなど) 機能
- 受け取ったトランザクションごとに、順序どおり遅延なく即時にブロックを生成する機能
- デバッグとロギングの拡張機能
利用可能なツール
注: ほとんどの開発フレームワークには、組み込みの開発用ネットワークが含まれています。 フレームワークのローカル開発環境のセットアップから始めることをお勧めします。
Hardhat Network
開発用に設計されたローカルイーサリアムネットワークです。 コントラクトのデプロイ、テストの実行、コードのデバッグを可能にします。
Hardhat Networkには、プロフェッショナルのためのイーサリアム開発環境であるHardhatが組み込まれています。
ローカルビーコンチェーン
一部のコンセンサスクライアントには、テスト用にローカルビーコンチェーンをスピンアップするためのツールが組み込まれています。 Lighthouse、Nimbus、Lodestarでの手順は、以下で確認できます。
- Lodestarを使用したローカルテストネット(opens in a new tab)
- Lighthouseを使用したローカルテストネット(opens in a new tab)
- Nimbusを使用したローカルテストネット(opens in a new tab)
公開イーサリアムテストチェーン
また、イーサリアムにはGoerliとSepoliaという、2つの維持されている公開テスト環境の実装もあります。 長期的なサポートが受けられる推奨テストネットはGoerliです。Goerliは、誰でも自由に検証できます。 Sepoliaは、より新しい小規模なチェーンであり、当面は維持されると予測されています。許可されたバリデータのみがアクセスできます(つまり、このテストネットには、新規のバリデータは通常アクセスできません)。 Ropstenチェーンは、2022年の第4期に廃止される予定です。Rinkebyチェーンは、2023年の第2期または第3期に廃止される予定です。
Kurtosisイーサリアムパッケージ
Kurtosisは、マルチコンテナテスト環境のビルドシステムで、デベロッパーがブロックチェーンネットワークの再現可能なインスタンスをローカルで起動できるようにします。
イーサリアムKurtosisパッケージを使用すると、パラメータ化された、高スケーラブルで、プライベートのイーサリアムテストネットをDockerもしくはKubernetesで素早くインスタンス化できます。 このパッケージでは、すべての主要な実行レイヤー (EL) およびコンセンサスレイヤー (CL) クライアントをサポートしています。 Kurtosisは、適切にすべてのローカルポートのマッピングを処理し、提供するネットワークへサービス接続をして、イーサリアムコアインフラストラクチャに関する検証およびテストワークフローに使えるようにします。
- イーサリアムネットワークパッケージ(opens in a new tab)
- ウェブサイト(opens in a new tab)
- GitHub(opens in a new tab)
- ドキュメント(opens in a new tab)
参考文献
役に立ったコミュニティリソースがあれば、 ぜひこのページに追加してください。