インデクサノードの実行方法は?

SubQuery Team1分以内

インデクサノードの実行方法は?

ビデオガイド


はじめに

Docker を使用するか、SubQuery Managed Serviceopen in new window でプロジェクトをホストしてもらう以外に、インデクサノードを実行することもできます。 より多くの時間と労力を必要としますが、SubQuery がどのように機能するのか、その理解を深めることができます。

Postgres

インフラストラクチャ上でインデクサノードを実行するには、Postgres データベースのセットアップが必要です。 Postgres は ここopen in new windowからインストールできます 。バージョンが 12 以上であることを確認してください。

subql/node をインストールする

次に、SubQuery ノードを実行するには、次のコマンドを実行します。

npm install -g @subql/node

-g フラグは、OSX 上でインストールすることを意味します。場所は /usr/local/lib/node_modules になります。

インストールが完了したら、以下を実行してバージョンを確認できます。

> subql-node --version
0.19.1

DB コンフィグの設定

次に、以下の環境変数を設定する必要があります。

export DB_USER=postgres
export DB_PASS=postgres
export DB_DATABASE=postgres
export DB_HOST=localhost
export DB_PORT=5432

もちろん、上記のキーに異なる値がある場合は、適宜調整してください。 なお、envコマンドは現在の環境変数を表示し、この処理はこれらの値を一時的に設定するだけであることに注意してください。 つまり、これらは現在のセッションを繋いでる期間のみ有効です。 恒久的に設定するには、~/bash_profile に保存してください。

プロジェクトのインデックス作成

プロジェクトのインデックスを開始するには、プロジェクトフォルダに移動し、次のコマンドを実行します。

subql-node -f .

もしプロジェクトがない場合は、git clone https://github.com/subquery/subql-helloworld を実行してください。 インデクサノードが起動し、ブロックのインデックス作成を開始するのが見えるはずです。

Postgres の検査

Postgres に移動すると、作成された 2 つのテーブルが表示されます。 public.subquerysubquery_1.starter_entitiesです。

public subqueries には、インデクサが「現在の状態を理解する」ために開始時にチェックする行が 1 つだけ含まれており、どこから継続するかが分かります。 starter_entities テーブルには、インデックスが含まれます。 データを表示するには、select (*) from subquery_1.starter_entities を実行してください。