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