Die Erstellung eines SubQuery-Projekts

SubQuery TeamUngefähr 2 min

Die Erstellung eines SubQuery-Projekts

In der Kurzanleitung haben wir sehr schnell ein Beispiel durchgespielt, um Ihnen einen Vorgeschmack darauf zu geben, was SubQuery ist und wie es funktioniert. Hier sehen wir uns den Workflow bei der Erstellung Ihres Projektes und die Schlüsseldateien, mit denen Sie arbeiten, genauer an.

Der grundlegende Arbeitsablauf

Bei einigen der folgenden Beispiele wird davon ausgegangen, dass Sie das Startpaket im Abschnitt Schnellstart erfolgreich initialisiert haben. Von diesem Startpaket aus durchlaufen wir den Standardprozess zum Anpassen und der Implementierung Ihres SubQuery-Projektes.

  1. Initialisieren Sie Ihr Projekt mit subql init PROJECT_NAME.
  2. Aktualisieren Sie die Manifestdatei (project.yaml), um Informationen über Ihre Blockchain und die Entitäten aufzunehmen, die Sie zuordnen werden – siehe Manifestdatei
  3. Erstellen Sie GraphQL-Entitäten in Ihrem Schema (schema.graphql), die die Form der Daten definieren, die Sie extrahieren und für Abfragen beibehalten – siehe GraphQL-Schema
  4. Fügen Sie alle Mapping-Funktionen (zB mappingHandlers.ts) hinzu, die Sie aufrufen möchten, um Chain-daten in die von Ihnen definierten GraphQL-Entitäten umzuwandeln - siehe Mapping
  5. Generieren, erstellen und veröffentlichen Sie Ihren Code in SubQuery-Projekten (oder führen Sie ihn in Ihrem eigenen lokalen Knoten aus) – siehe Starterprojekt ausführen und abfragen in unserer Kurzanleitung.

Verzeichnisaufbau

Die folgende Karte bietet einen Überblick über die Verzeichnisstruktur eines SubQuery-Projekts, wenn der Befehl init ausgeführt wird.

- project-name
  L package.json
  L project.yaml
  L README.md
  L schema.graphql
  L tsconfig.json
  L docker-compose.yml
  L src
    L index.ts
    L mappings
      L mappingHandlers.ts
  L .gitignore

Zum Beispiel:

SubQuery-Verzeichnisstruktur

Codegenerierung

Immer wenn Sie Ihre GraphQL-Entitäten ändern, müssen Sie Ihr Typenverzeichnis mit dem folgenden Befehl neu generieren.

yarn codegen

Dadurch wird ein neues Verzeichnis src/types erstellt (oder das vorhandene aktualisiert), das generierte Entitätsklassen für jeden Typ enthält, den Sie zuvor in schema.graphql definiert haben. Diese Klassen bieten typsicheres Laden von Entitäten sowie Lese- und Schreibzugriff auf Entitätsfelder – mehr über diesen Prozess erfahren Sie im GraphQL-Schema.

Build

Um Ihr SubQuery-Projekt auf einer lokal gehosteten SubQuery-Node auszuführen, müssen Sie zuerst Ihre Arbeit erstellen.

Führen Sie den Build-Befehl im Stammverzeichnis des Projekts aus.

::: code-tabs @tab:active yarn shell yarn build