
? Unterabfrage Indexer für das OKP4 -Protokoll.
In diesem Repository befindet sich der OKP4 -Unterabfrage -Indexer, ein Tool, das Kettendaten aus dem OKP4 -Protokoll über eine GraphQL -API liefert. Das Projekt basiert auf Unterabfrage, einem Open-Source-Tool, mit dem schnelle und zuverlässige APIs für Blockchain-Anwendungen erstellt werden können.
Die folgenden Dienste sind verfügbar:
| Kette | Service | Endpunkt |
|---|---|---|
okp4-nemeton-1 | Spielplatz | https://explorer.subquery.network/subquery/okp4/nemeton-1 |
okp4-nemeton-1 | Graphql | https://api.subquery.network/sq/okp4/nemeton-1 |
Stellen Sie sicher, dass Sie die folgenden ordnungsgemäß installiert haben:
v18.18 (Wasserstoff)v1.22v3.2.0 -Subquery CLI global an Ihrem Terminal installieren, indem Sie NPM verwenden (wir empfehlen nicht, Garn zur Installation globaler Abhängigkeiten zu verwenden): npm install -g @subql/[email protected]? Installieren Sie die Abhängigkeiten:
yarnGenerieren Sie die Typen:
yarn prepack? Erstellen Sie das Docker -Bild:
docker build -t subql-okp4 .Führen Sie es aus:
docker run -ti --rm --name my-indexer
-e DB_HOST=postgres
-e DB_PORT=5432
-e DB_DATABASE=subql
-e DB_USER=subql
-e DB_PASS=secret
subql-okp4Geben Sie eine alternative Konfiguration an:
docker run -ti --rm --name my-indexer
-e DB_HOST=postgres
-e DB_PORT=5432
-e DB_DATABASE=subql
-e DB_USER=subql
-e DB_PASS=secret
-v /path/to/new-conf.yaml:/srv/subql/project.yaml
subql-okp4Geben Sie dem Subql -Knoten zusätzliche Argumente an:
docker run -ti --rm --name my-indexer
-e DB_HOST=postgres
-e DB_PORT=5432
-e DB_DATABASE=subql
-e DB_USER=subql
-e DB_PASS=secret
subql-okp4 --batch-size=32 --log-level=debugHINWEIS: Um den Container im abgelösten Modus auszuführen. Ersetzen Sie
-it --rmnach-din den obigen Befehlen.
Führen Sie das Projekt mit dem Standardstapel aus:
yarn start:dockerÖffnen Sie http: // localhost: 3000/auf Ihrem Browser und probieren Sie die folgende Abfrage aus:
query {
_metadata {
chain
lastProcessedHeight
targetHeight
}
}Sie sollten das folgende Ergebnis erzielen:
{
"data" : {
"_metadata" : {
"chain" : " okp4-nemeton-1 " ,
"lastProcessedHeight" : 2928706 ,
"targetHeight" : 2928706
}
}
} Während der Entwicklung kann es nützlich sein, auf die Datenbank direkt zuzugreifen, um die indizierten Daten zu inspizieren und zu verstehen. Die Datenbank ist eine PostgreSQL-Datenbank und wird vom docker-compose -Befehl in einem Docker-Container ausgeführt. Beachten Sie, dass die Datenbank in einem Docker -Volumen enthalten ist, sodass sie zwischen den Läufen bestehen bleibt.
Sie können über den folgenden Befehl auf die PostgreSQL -Datenbank zugreifen:
psql -h localhost -p 5432 -U subql -d subql Die Tabellen befinden sich im app -Schema.
subql => SET schema ' app ' ;
SET
subql => dt
List of relations
Schema | Name | Type | Owner
-- ------+---------------------+-------+-------
app | _metadata | table | subql
app | blocks | table | subql
app | messages | table | subql
app | objectarium_objects | table | subql
app | transactions | table | subqlDa das Projekt PostgreSQL verwendet, um die Daten zu indizieren, können Sie mit Metabase die Datenbank untersuchen und Dashboards erstellen.
Der Docker-Compose verfügt über ein Profil für die Metabase. Um es zu starten, rennen Sie:
docker-compose --profile metabase up Öffnen Sie dann http: // localhost: 3001/in Ihrem Browser und stellen Sie eine Verbindung zur Datenbank mit den Informationen her, die Sie in der .env -Datei finden können.
Bitte schauen Sie sich OKP4 Health -Dateien an: