getTokenAccountsByOwnerV2
getTokenAccountsByOwnerV2 ist eine verbesserte Version von getTokenAccountsByOwner mit Cursor-Paginierung und changedSinceSlot-Updates für große Solana-Token-Portfolios.
Ü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.
- 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
getTokenAccountsByOwnerParameter und Filter - Optionales
withContext:truefügtslotundapiVersionunterresult.contexthinzu; auslassen oderfalseund sie werden nicht einbezogen
Wichtige Vorteile
Große Portfolios
Echtzeit-Tracking
changedSinceSlot für inkrementelle UpdateswithContext (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
Grundlegende Portfolioabfrage
Inkrementelle Portfolio-Updates
Unterstützung des Token-Programms
Migration von getTokenAccountsByOwner
Die Migration ist einfach - fügen Sie einfach Paginierungsparameter zu Ihren bestehenden Anfragen hinzu:Verwandte Methoden
getTokenAccountsByOwner
getProgramAccountsV2
Anforderungsparameter
confirmedfinalizedprocessed
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.base58base64base64+zstdjsonParsed
Autorisierungen
Body
Die JSON-RPC-Protokollversion.
2.0 "2.0"
Eine eindeutige Kennung für die Anfrage.
"1"
Der Name der aufzurufenden RPC-Methode.
getTokenAccountsByOwnerV2 "getTokenAccountsByOwnerV2"
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.
"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd"
Antwort
Erfolgreich paginierte Token-Konten nach Inhaber abgerufen.
Die JSON-RPC-Protokollversion.
2.0 "2.0"
Bezeichner, der mit der Anfrage übereinstimmt.
"1"
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).
- ohne withContext
- mit withContext