メインコンテンツへスキップ
Change page

開発用ネットワーク

最終編集者: @HiroyukiNaito(opens in a new tab), 2024年4月1日

スマートコントラクトを使用するイーサリアムアプリケーションを構築する場合は、デプロイする前にローカルネットワーク上で実行して動作を確認することをお勧めします。

ウェブ開発において自分のコンピュータ上でローカルサーバを実行する場合と同様に、開発用ネットワークを使用してローカルブロックチェーンのインスタンスを作成し、dappをテストできます。 このイーサリアムの開発用ネットワークには、パブリックテストネットワークと比較して反復処理を大幅に迅速化する機能があります (たとえば、テストネットフォーセットからETHを取得する必要がありません)。

前提知識

開発用ネットワークについて学ぶ前に、イーサリアムスタックイーサリアムネットワークの基本を理解する必要があります。

開発用ネットワークとは

開発用ネットワークは、基本的にはローカル開発のために設計された専用のイーサリアムクライアント (イーサリアムの実装) です。

標準的なイーサリアムノードをローカルで実行してみましょう。

そのままノードの実行に進むことも可能ですが、開発用ネットワークは開発用に構築されているため、多くの場合に以下のような便利な機能が搭載されています。

  • ローカルブロックチェーンにデータを確定的にシードする (ETH残高を持つアカウントなど) 機能
  • 受け取ったトランザクションごとに、順序どおり遅延なく即時にブロックを生成する機能
  • デバッグとロギングの拡張機能

利用可能なツール

: ほとんどの開発フレームワークには、組み込みの開発用ネットワークが含まれています。 フレームワークのローカル開発環境のセットアップから始めることをお勧めします。

Ganache

テストの実行、コマンドの実行、状態の調査に使用できる専用のイーサリアムブロックチェーンを迅速に起動し、チェーンの動作を制御します。

Ganacheは、デスクトップアプリケーション(Ganache UI)とコマンドラインツール(ganache-cli)の両方を提供しています。 Truffle Suiteというツールスイートに組み込まれています。

Hardhat Network

開発用に設計されたローカルイーサリアムネットワークです。 コントラクトのデプロイ、テストの実行、コードのデバッグを可能にします。

Hardhat Networkには、プロフェッショナルのためのイーサリアム開発環境であるHardhatが組み込まれています。

ローカルビーコンチェーン

一部のコンセンサスクライアントには、テスト用にローカルビーコンチェーンをスピンアップするためのツールが組み込まれています。 Lighthouse、Nimbus、Lodestarでの手順は、以下で確認できます。

公開イーサリアムテストチェーン

また、イーサリアムにはGoerliとSepoliaという、2つの維持されている公開テスト環境の実装もあります。 長期的なサポートが受けられる推奨テストネットはGoerliです。Goerliは、誰でも自由に検証できます。 Sepoliaは、より新しい小規模なチェーンであり、当面は維持されると予測されています。許可されたバリデータのみがアクセスできます(つまり、このテストネットには、新規のバリデータは通常アクセスできません)。 Ropstenチェーンは、2022年の第4期に廃止される予定です。Rinkebyチェーンは、2023年の第2期または第3期に廃止される予定です。

Kurtosisイーサリアムパッケージ

Kurtosisは、マルチコンテナテスト環境のビルドシステムで、デベロッパーがブロックチェーンネットワークの再現可能なインスタンスをローカルで起動できるようにします。

イーサリアムKurtosisパッケージでは、複数の異なる実行レイヤー(EL)およびコンセンサスレイヤー(CL)クライアントとn個のノードをサポートし、コンテナ化されたパラメータ化可能なイーサリアムテストネットをローカルでインスタンス化します。 Kurtosisによって、すべてのローカルポートマッピングとサービス接続を適切に処理することで、dAppやスマートコントラクトのプロトタイピングとテストを容易にします。

参考文献

役に立ったコミュニティリソースがあれば、 ぜひこのページに追加してください。

この記事は役に立ちましたか?