Skip to main content

はじめに

ここでは、コンテナ化された環境でQuai Networkのローカルインスタンスをインストールして実行します。ローカルネットワークインスタンスには、1つのフルノード、9つのシャードそれぞれに対する1つのCPUマイナー、およびQuaiとQiの残高が事前にロードされた複数のアカウントが含まれています。コンテナ化されたローカルネットワークインスタンスは、ビルダー向けに簡単に設定可能で低オーバーヘッドの開発環境を提供するように設計されています。

依存関係のインストール

Quai Networkのローカルインスタンスを実行するには、いくつかの依存関係をインストールする必要があります。
1

Docker Composeのインストール

Docker Composeをインストールする方法は2つあります:
  1. Docker ComposeがバンドルされているDocker Desktopをインストールする(推奨
  2. CLI経由でDocker Composeプラグインをインストールする
どちらの方法が最適かわからない場合は、Docker Composeのインストールページで詳細を確認してください。
2

ローカルノードランナーのインストール

ローカルノードランナーをインストールするには、quai-local-nodeリポジトリをクローンして移動する必要があります。

ローカルインスタンスの実行

Docker Composeをインストールし、quai-local-nodeリポジトリに移動したので、ローカルネットワークインスタンスを実行できます。

開始

Dockerコンテナでローカルネットワークインスタンスを開始するには、次を実行します:
bash docker-compose up -d
このコマンドを実行すると、各プロセスが起動するのが確認できます。1つのgo-quaiコンテナと、9つのquai-cpu-minerインスタンス(各シャードに1つ)が次のように初期化されます:

ログの表示

ターミナルからgo-quaiコンテナのログを表示するには、次を実行します:
特定のシャードのログにアクセスしたい場合は、quai-local-node-go-quai-1コンテナに移動して直接ログを表示する必要があります。

停止

ローカルネットワークインスタンスがバックグラウンドで実行されている場合は、次のコマンドを実行して停止します:
ローカルネットワークインスタンスがフォアグラウンドで実行されている場合は、ターミナルを終了するか、CTRL+Cを使用してコンテナを停止できます。

カスタムネットワーク設定

以下の設定セクションはデフォルト以外の設定を実行する場合にのみ必要です。9つのスライスとマイナーのデフォルトネットワーク設定のみを実行したい場合は、このセクションをスキップできます。
quai-local-nodeは、デフォルトで9つのシャード(スライス)すべてと各シャード用のCPUマイナーを実行するように設定されています。ほとんどのユースケースではデフォルト設定を実行することをお勧めします。カスタムスライス設定を実行したい場合は、以下のセクションで詳細を説明します。 デフォルトのローカルネットワーク設定を変更するには、次の作業が必要です:
  • config.tomlファイルでローカルノードが実行しているスライスを編集する
  • docker-compose.ymlファイルでシャードの数に合わせてCPUマイナーの数を編集する
1

スライスの設定

スライス設定を開始するには、テキストエディタでノード設定ファイルを開きます:
このディレクトリ内にはconfig.tomlファイルがあります。設定ファイルには、デフォルト値として9つのスライスすべてを持つslices変数があります。
実行したいシャードの数に合わせてslices変数を編集します。例えば、3つのシャードを実行したい場合は、slices変数を[0 0],[0 1],[0 2]に設定できます。
2

CPUマイナーの設定

CPUマイナーの設定を編集するには、docker-compose.ymlファイルを編集する必要があります。テキストエディタでdocker-compose.ymlファイルを開きます:
設定ファイル内の各マイナーインスタンスには、デフォルトで1に設定されたreplica変数があります。この値が1に設定されている場合、そのチェーンのマイナーが起動時に開始され、値が0に設定されている場合、マイナーは起動時に開始されません。
上記で設定したノードの各スライスに対してCPUマイナーが起動される(replica1に設定されている)ことを確認する必要があります。例えば、スライス[0 0],[0 1],[0 2]を実行している場合、cyprus1、cyprus2、cyprus3マイナーのreplica値を1に設定し、他のすべてを0に設定する必要があります。
ノードが実行しているスライスをCPUマイナー設定と一致させた後、カスタムローカルネットワークインスタンスを起動できます。

ローカルネットワークとの対話

ローカルネットワークインスタンスと対話するには、Quais SDKまたはJSON RPC APIを使用できます。ネットワークはlocalhost上の特定のネットワーキングポートを介してアクセス可能です。

SDK

Quais SDKを使用して、ローカルネットワークインスタンスに接続されたプロバイダーを作成し、チェーンデータを取得してトランザクションを送信できます。

JSON RPC API

JSON RPC APIcURLを使用して、ローカルネットワークにリクエストを送信できます:

アカウント

起動したローカルネットワークは、各シャードのQuaiとQiトークンが事前にロードされた多数のアカウントで開始されます。事前にロードされた残高を持つアカウントの完全なリストは、シャードと台帳別にソートされており、quai-local-nodeリポジトリのgenallocsディレクトリで確認できます。
これらのアカウントはローカルテスト目的のものであり、本番環境では使用しないでください。これらは安全ではなく、テストのみに使用する必要があります。
参考のために、各シャードと台帳の1つのアカウントを以下に示します:

Quaiアカウント

Qiアカウント