Skip to main content

Übersicht

DAS API-Methoden geben bis zu 1.000 Datensätze pro Aufruf zurück. Um mehr abzurufen, paginieren Sie – machen Sie mehrere Aufrufe und durchlaufen Sie Seiten von Daten. Helius unterstützt zwei Mechanismen: seitenbasierte und Keyset-Paginierung. Seitenbasierte Paginierung ist der einfachste Einstieg. Die Keyset-Paginierung ist für fortgeschrittene Benutzer gedacht, die große (500k+) Datensätze effizient abfragen möchten.

Wann man es verwendet

  • Seitenbasiert — statische Ansichten, Dashboards und die meisten alltäglichen Abfragen. Einfach und intuitiv.
  • Keyset (Cursor oder Bereich) — große Datensätze (gesamte Sammlungen, 500k+ Assets), bei denen das seitenbasierte Durchlaufen langsam wird.
  • Paralleles Keyset — die schnellste Option, um eine gesamte Sammlung zu scannen, indem der Adressbereich partitioniert wird.

Sortieroptionen

Sie können Ergebnisse nach verschiedenen Feldern sortieren, indem Sie das sortBy-Feld verwenden: Das Deaktivieren der Sortierung liefert die schnellsten Ergebnisse, aber da die Daten ungeordnet sind, können Sie inkonsistente Ergebnisse beim Paginieren erhalten.

Seitenbasierte Paginierung

Sie geben die Seitennummer und die Anzahl der Elemente pro Seite an. Um zur nächsten Seite zu gelangen, erhöhen Sie die Seitennummer. Dies ist einfach, intuitiv und schnell für die meisten Anwendungsfälle.
Die Verwendung von Seiten erfordert, dass die Datenbank alle Elemente durchläuft, bis sie zur nächsten Seite gelangt. Wenn Sie z. B. Seite 100 mit einer Seitengröße von 1.000 anfordern, muss die Datenbank die ersten 1M Datensätze durchlaufen, bevor Ihre Daten zurückgegeben werden. Aus diesem Grund wird die seitenbasierte Paginierung für große Datensätze nicht empfohlen — die Keyset-Paginierung eignet sich viel besser für diese Arbeitslasten.

Keyset-Paginierung

Sie definieren Seiten, indem Sie Bedingungen festlegen, die den Datensatz filtern. Zum Beispiel: “Geben Sie mir alle Assets mit einer ID > X, aber einer ID < Y.” Sie durchlaufen den gesamten Datensatz, indem Sie X oder Y bei jedem Aufruf ändern. 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 unterstützt, wenn nach id sortiert wird.

Cursor-basiert

Eine DAS-Abfrage ohne Paginierungsparameter gibt einen Cursor zurück. Übergeben Sie den Cursor zurück an die DAS API, um von dort fortzufahren, wo Sie aufgehört haben.
Zum Zeitpunkt des Schreibens ist der Cursor die letzte Asset-ID der Antwort; jedoch ist das Cursor-Design flexibel und kann jede Zeichenfolge unterstützen.

Bereichsbasiert

Um über einen Bereich abzufragen, geben Sie before und/oder after an. Die Abfrage lautet im Wesentlichen “Geben Sie mir alle Assets nach X, aber vor Y.” Sie durchlaufen den Datensatz, indem Sie den Parameter before oder after bei jedem Aufruf aktualisieren.

Parallele Abfrage mit Keysets (fortgeschritten)

Fortgeschrittene Benutzer, die große Datensätze abfragen (zum Beispiel gesamte komprimierte NFT-Sammlungen), sollten die Keyset-basierte Paginierung aus Leistungsgründen verwenden. Das folgende Beispiel zeigt, wie man parallel abfragen kann, indem der Solana-Adressbereich partitioniert und die Parameter before/after verwendet werden. Diese Methode ist schnell, effizient und sicher.
Im unten stehenden Beispiel scannen wir die gesamte Tensorian-Sammlung (~10k Datensätze). Sie partitioniert den Solana-Adressraum in 8 Bereiche und scannt diese Bereiche gleichzeitig. Dies ist weitaus schneller als die anderen Ansätze.

Nächste Schritte

Assets suchen

Filtern Sie Assets nach Besitzer, Sammlung und Token-Typ.

Assets abrufen (NFTs)

Rufen Sie NFTs, Sammlungen, Editionen und Nachweise ab.

DAS API-Referenz

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