Wie führe ich eine Indexer-Node aus?

Videoanleitung


Die Einführung

Das Ausführen einer Indexer-Node ist eine weitere Option, außer Docker zu verwenden oder ein Projekt für Sie unter SubQuery-Projekteopen in new window zu hosten. Es erfordert mehr Zeit und Mühe, wird jedoch Ihr Verständnis dafür verbessern, wie SubQuery unter dem Deckmantel funktioniert.

Postgres

Das Ausführen einer Indexer-Node in Ihrer Infrastruktur erfordert die Einrichtung einer Postgres-Datenbank. Sie können Postgres von aus hieropen in new window installieren und sicherstellen, dass die Version 12 oder höher ist.

Install subql/node

Um dann eine SubQuery Node auszuführen, führen Sie folgenden Befehl aus:

npm install -g @subql/node

Das -g flag bedeutet, es global zu installieren, was unter OSX bedeutet, das Verzeichnis wird /usr/local/lib/node_module sein.

Sobald installiert, können Sie die Version überprüfen, indem Sie ausführen:

> subql-node --version
0.19.1

DB Einstellungen

Als nächstes müssen die folgenden Umgebungsvariablen festgelegt werden:

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

Wenn Sie für die oben genannten Tasten unterschiedliche Werte haben, passen Sie diese bitte entsprechend an. Beachten Sie, dass der Befehl env die aktuellen Umgebungsvariablen anzeigt und dass dieser Prozess diese Werte nur vorübergehend setzt. Das heißt, sie sind nur für die Dauer der Terminalsitzung gültig. Um sie dauerhaft einzustellen, speichern Sie sie stattdessen in Ihrem ~/bash_profil.

Ein Projekt indizieren

Um ein Projekt zu indizieren, navigiere in deinen Projektordner und führe den folgenden Befehl aus:

subql-node -f .

Wenn Sie kein praktisches Projekt haben, git clone https://github.com/subquery/subql-helloworld. Sie sollten die Index-Node ins Leben rufen und mit der Indexierung beginnen.

Überprüfung von Postgres

Wenn Sie zu Postgres wechseln, sollten Sie zwei Tabellen sehen. public.subqueries und subquery_1.starter_entities.

public. ubqueries enthält nur eine Zeile, die der Indexer beim Start prüft, um den aktuellen Status zu verstehen, so dass er weiß, woher er er weitergehen soll. Die starter_entities Tabelle enthält die Indizes. Um die Daten anzuzeigen, wählen Sie (*) subquery_1.starter_entities aus.