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

開発用ネットワーク

最終編集者: @HiroyukiNaito(opens in a new tab), 2023年12月8日

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

ウェブ開発において自分のコンピュータ上でローカルサーバを実行する場合と同様に、開発用ネットワークを使用してローカルブロックチェーンのインスタンスを作成し、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 やスマートコントラクトのプロトタイピングとテストを容易にします。

参考文献

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

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