Skip to main content
POST
getTokenAccountsByOwnerV2

Übersicht

getTokenAccountsByOwnerV2 ist eine verbesserte Version der standardmäßigen getTokenAccountsByOwner Methode, die speziell für die effiziente Abfrage von Token-Portfolios und die Verwaltung von Wallets mit umfangreichen Token-Beständen entwickelt wurde. Diese Methode führt eine cursor-basierte Paginierung und inkrementelle Aktualisierungsfunktionen ein.
Neue Funktionen in V2:
  • Cursor-basierte Paginierung: Begrenzungen von 1 bis 10.000 Token-Konten pro Anfrage konfigurieren
  • Inkrementelle Updates: Verwenden Sie changedSinceSlot, um nur kürzlich geänderte Token-Konten abzurufen
  • Portfolio-Skalierbarkeit: Verwaltung von Wallets mit Tausenden von Token-Konten effizient
  • Abwärtskompatibilität: Unterstützt alle bestehenden getTokenAccountsByOwner Parameter und Filter
  • Optionales withContext: true fügt slot und apiVersion unter result.context hinzu; auslassen oder false und sie werden nicht einbezogen
Filteranforderung: Sie müssen entweder einen mint (spezifisches Token) oder programId (SPL-Token- oder Token-2022-Programm) in Ihrer Abfrage angeben. Die Abfrage aller Token-Typen für einen Besitzer ohne Filter wird nicht unterstützt.

Wichtige Vorteile

Große Portfolios

Verwaltung von Wallets mit Tausenden von Token-Konten ohne Zeitüberschreitungen oder Speicherprobleme

Echtzeit-Tracking

Überwachen Sie Portfoliowechsel in Echtzeit mit changedSinceSlot für inkrementelle Updates

withContext (optional)

Boolescher Wert im Konfigurationsobjekt (params[2]). Nur die Form von result ändert sich, nicht jedoch Filter, Begrenzungen oder Paginierung. Weggelassen oder false: result.value ist das Token-Konto Array. true: result.context plus result.value als Objekt (accounts, paginationKey). Wenn Sie beide verwalten, verzweigen Sie sich auf Array.isArray(result.value).

Beste Praktiken für die Paginierung

Wichtiges Paginierungsverhalten: Das Ende der Paginierung wird nur angezeigt, wenn keine Token-Konten zurückgegeben werden. Die API kann aufgrund von Filterung weniger Konten als Ihr Limit zurückgeben - fahren Sie immer mit der Paginierung fort, bis paginationKey null ist.

Grundlegende Portfolioabfrage

Inkrementelle Portfolio-Updates

Unterstützung des Token-Programms

Token-2022-Unterstützung: Verwenden Sie TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb als programId, um Token-2022-Konten mit Erweiterungen wie Überweisungsgebühren, verzinslichen Token und mehr abzufragen.

Migration von getTokenAccountsByOwner

Die Migration ist einfach - fügen Sie einfach Paginierungsparameter zu Ihren bestehenden Anfragen hinzu:

Verwandte Methoden

getTokenAccountsByOwner

Ursprüngliche Methode ohne Paginierung

getProgramAccountsV2

V2-Methode für Programmkontoabfragen

Anforderungsparameter

string
erforderlich
Solana-Wallet-Adresse (pubkey) des Konto-Eigentümers, um Token-Bestände abzufragen, als base-58 kodierter String.
string
Spezifische Solana-Token-Mint-Adresse, um nur Konten für ein bestimmtes Token oder NFT abzurufen.
string
Spezifische Solana-Token-Programm-ID (typischerweise SPL-Token-Programm), die die Token-Konten erstellt hat.
string
Die Zusicherungsebene für die Anfrage.
  • confirmed
  • finalized
  • processed
number
Der Mindestslot, bei dem die Anfrage ausgewertet werden kann.
boolean
Wenn true, wird result.context (Snapshot-Metadaten: slot, apiVersion) zurückgegeben und verschachtelt accounts und paginationKey unter result.value als ein Objekt. Wenn false oder weggelassen, ist result.value das Token-Konto-Array für diese Seite, mit paginationKey auf result. Gleiche Filter und Begrenzungen gelten.
object
Einen Abschnitt der Kontodaten anfordern.
number
Anzahl der zurückzugebenden Bytes.
number
Byte-Versatz, ab dem mit dem Lesen begonnen werden soll.
string
Codierungsformat für Kontodaten.
  • base58
  • base64
  • base64+zstd
  • jsonParsed
number
Maximale Anzahl von Token-Konten, die pro Anfrage zurückgegeben werden (1-10.000).
string
Base-58-kodierter Paginierungs-Cursor zum Abrufen nachfolgender Seiten. Verwenden Sie den paginationKey aus der vorherigen Antwort.
number
Nur Token-Konten zurückgeben, die bei oder nach dieser Slot-Nummer geändert wurden. Nützlich für inkrementelle Portfolio-Updates.

Autorisierungen

api-key
string
query
erforderlich

Ihr Helius-API-Schlüssel. Sie können einen kostenlos im Dashboard erhalten.

Body

application/json
jsonrpc
enum<string>
Standard:2.0

Die JSON-RPC-Protokollversion.

Verfügbare Optionen:
2.0
Beispiel:

"2.0"

id
string
Standard:1

Eine eindeutige Kennung für die Anfrage.

Beispiel:

"1"

method
enum<string>
Standard:getTokenAccountsByOwnerV2

Der Name der aufzurufenden RPC-Methode.

Verfügbare Optionen:
getTokenAccountsByOwnerV2
Beispiel:

"getTokenAccountsByOwnerV2"

params
string · object · object[]

Parameter zum Abfragen paginierter Token-Konten, die sich im Besitz eines bestimmten öffentlichen Schlüssels befinden.

Solana-Wallet-Adresse (Pubkey) des Kontoinhabers, um Token-Bestände abzufragen, als base-58 codierter String.

Beispiel:

"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd"

Antwort

Erfolgreich paginierte Token-Konten nach Inhaber abgerufen.

jsonrpc
enum<string>

Die JSON-RPC-Protokollversion.

Verfügbare Optionen:
2.0
Beispiel:

"2.0"

id
string

Bezeichner, der mit der Anfrage übereinstimmt.

Beispiel:

"1"

result
ohne withContext · object

Paginierte Token-Konten, wenn withContext falsch oder ausgelassen ist. Entspricht der bekannten Form, bei der die Kontoliste result.value als Array ist (nicht unter accounts).