Zum Hauptinhalt springen

Übersicht

DAS API-Methoden geben pro Aufruf bis zu 1.000 Datensätze zurück. Um mehr abzurufen, verwendest du Paginierung. Dabei führst du mehrere Aufrufe aus und durchläufst die Datenseiten. Helius unterstützt zwei Mechanismen: seitenbasierte und Keyset-Paginierung. Die seitenbasierte Paginierung bietet den einfachsten Einstieg. Die Keyset-Paginierung richtet sich an fortgeschrittene Nutzer, die große Datensätze mit mehr als 500.000 Einträgen effizient abfragen möchten.

Wann du welche Methode verwenden solltest

  • Seitenbasiert — statische Ansichten, Dashboards und die meisten alltäglichen Abfragen. Einfach und intuitiv.
  • Keyset (Cursor oder Bereich) — große Datensätze wie vollständige Sammlungen mit mehr als 500.000 Assets, bei denen das seitenbasierte Durchlaufen langsam wird.
  • Paralleles Keyset — die schnellste Option, um eine vollständige Sammlung durch Partitionierung des Adressbereichs zu durchsuchen.

Sortieroptionen

Mit dem Feld sortBy kannst du Ergebnisse nach verschiedenen Feldern sortieren: Wenn du die Sortierung deaktivierst, erhältst du die Ergebnisse am schnellsten. Da die Daten jedoch unsortiert sind, kann die Paginierung inkonsistente Ergebnisse liefern.

Seitenbasierte Paginierung

Du gibst die Seitennummer und die Anzahl der Elemente pro Seite an. Erhöhe die Seitennummer, um zur nächsten Seite zu wechseln. Das ist für die meisten Anwendungsfälle einfach, intuitiv und schnell.
Bei der Verwendung von Seiten muss die Datenbank alle Elemente durchlaufen, bis sie die nächste Seite erreicht. Wenn du beispielsweise Seite 100 mit einer Seitengröße von 1.000 anforderst, muss die Datenbank zuerst die ersten 1 Million Datensätze durchlaufen, bevor sie deine Daten zurückgibt. Daher empfehlen wir die seitenbasierte Paginierung nicht für große Datensätze. Die Keyset-Paginierung eignet sich wesentlich besser für solche Workloads.

Keyset-Paginierung

Du definierst Seiten über Bedingungen, die den Datensatz filtern. Zum Beispiel: „Rufe alle Assets mit einer ID > X und einer ID < Y ab.“ Du durchläufst den gesamten Datensatz, indem du X oder Y bei jedem Aufruf änderst. Es gibt zwei Methoden der Keyset-Paginierung:
  1. Cursor-basiert — einfacher zu verwenden, aber weniger flexibel.
  2. Bereichsbasiert — komplexer, aber sehr flexibel.
Keyset-Paginierung wird nur bei der Sortierung nach id unterstützt.

Cursor-basiert

Eine DAS-Abfrage ohne Paginierungsparameter gibt einen Cursor zurück. Übergib den Cursor wieder an die DAS API, um an der vorherigen Stelle fortzufahren.
Zum Zeitpunkt der Erstellung ist der Cursor die letzte Asset-ID der response. Das Cursor-Design ist jedoch flexibel und kann jede beliebige Zeichenfolge unterstützen.

Bereichsbasiert

Gib before und/oder after an, um einen Bereich abzufragen. Die Abfrage bedeutet im Wesentlichen: „Rufe alle Assets nach X, aber vor Y ab.“ Du durchläufst den Datensatz, indem du den Parameter before oder after bei jedem Aufruf aktualisierst.

Parallele Abfragen mit Keysets (fortgeschritten)

Fortgeschrittene Nutzer sollten für Abfragen großer Datensätze, etwa vollständiger komprimierter NFT-Sammlungen, aus Performancegründen die Keyset-basierte Paginierung verwenden. Das folgende Beispiel zeigt, wie du parallele Abfragen ausführst, indem du den Solana-Adressbereich partitionierst und die Parameter before/after verwendest. Diese Methode ist schnell, effizient und sicher.
Im folgenden Beispiel durchsuchen wir die vollständige Tensorian-Sammlung mit etwa 10.000 Datensätzen. Der Solana-Adressraum wird in 8 Bereiche partitioniert, die gleichzeitig durchsucht werden. Das ist wesentlich schneller als die anderen Ansätze.

Nächste Schritte

Search Assets

Filtere Assets nach Eigentümer, Sammlung und tokenType.

Get Assets (NFTs)

Rufe NFTs, Sammlungen, Editionen und Nachweise ab.

DAS API reference

Vollständige Schemas für jede DAS-Methode.