Skip to main content
Die getTokenAccountBalance RPC-Methode gibt den Token-Saldo eines bestimmten SPL Token-Kontos zurück. Dies ist unerlässlich für Anwendungen, die die Menge eines bestimmten Tokens anzeigen oder verifizieren müssen, die von einem Token-Konto gehalten wird.

Häufige Anwendungsfälle

  • Anzeigen von Nutzertokenständen: Anzeigen, wie viel von einem bestimmten Token der Benutzer in seiner Wallet (zugehörige Token-Konten) besitzt.
  • Überprüfung der Token-Verfügbarkeit: Überprüfen, ob ein Token-Konto ausreichend Guthaben hat, bevor ein Transfer oder eine andere Aktion versucht wird.
  • Portfolio-Tracking: Aggregieren von Token-Bilanzen für einen Benutzer über verschiedene Token-Konten hinweg.
  • Interaktionen mit Smart Contracts: Smart Contracts können Token-Bilanzen als Teil ihrer Logik abfragen (obwohl On-Chain-Programme diese Daten normalerweise direkt aus den Kontoinformationen abrufen).

Anforderungsparameter

  1. Öffentlicher Schlüssel des Token-Kontos (string, erforderlich): Der Base-58-kodierte öffentliche Schlüssel des SPL Token-Kontos, das Sie abfragen möchten.
  2. Konfigurationsobjekt (object, optional): Ein optionales Objekt, das das folgende Feld enthalten kann:
    • commitment (string, optional): Gibt die Commitment-Stufe für die Abfrage an. Wenn weggelassen, wird das Standard-Commitment des RPC-Knotens verwendet (normalerweise finalized).

Antwortstruktur

Das Feld result in der JSON-RPC-Antwort enthält ein Objekt mit einem context- und einem value-Feld. Das value-Objekt enthält die Balance-Informationen:
  • amount (string): Der Rohsaldo des Token-Kontos als Zeichenkette. Dies ist eine Ganzzahl, die die kleinste Einheit des Tokens repräsentiert (z. B., wenn ein Token 6 Dezimalstellen hat, bedeutet ein Betrag von “1000000” 1 Token).
  • decimals (u8): Die Anzahl der Dezimalstellen, die für diesen Tokentyp (durch sein Mint) definiert sind.
  • uiAmount (number | null): Der Saldo, formatiert als Gleitkommazahl, unter Berücksichtigung von decimals. Dieses Feld könnte null oder in einigen Kontexten zugunsten von uiAmountString veraltet sein.
  • uiAmountString (string): Der Saldo formatiert als Zeichenkette, unter Berücksichtigung von decimals. Dies wird oft zur Anzeige bevorzugt, um potenzielle Gleitkomma-Ungenauigkeiten zu vermeiden.
Beispielantwort:

Code-Beispiele

Entwicklertipps

  • Token-Konto vs. Mint-Konto vs. Inhaberkonto: Stellen Sie sicher, dass Sie den öffentlichen Schlüssel des SPL Token-Kontos angeben, nicht die Mint-Adresse des Tokens oder die Wallet-Adresse des Inhabers. Sie erhalten normalerweise Token-Konten für einen Inhaber mit getTokenAccountsByOwner.
  • Dezimalstellen: Verwenden Sie immer das decimals-Feld, um das amount korrekt zu interpretieren. Das uiAmountString ist im Allgemeinen sicherer zur Anzeige als uiAmount, um Gleitkomma-Präzisionsprobleme zu vermeiden.
  • Nicht existierende Konten: Wenn der angegebene öffentliche Schlüssel keinem bestehenden Token-Konto entspricht, kann das Verhalten je nach RPC-Anbieter oder Bibliothek leicht variieren, aber oft wird das value in der Antwort null sein oder ein Fehler wird ausgelöst. Das JavaScript-Beispiel enthält eine grundlegende Überprüfung für balance.value.
  • Commitment-Level: Die Verwendung verschiedener Commitment-Level kann beeinflussen, wie schnell Sie Guthabenänderungen sehen, insbesondere für sehr aktuelle Transaktionen. finalized ist am sichersten, hat aber die längste Latenz.
Dieser Leitfaden sollte Ihnen helfen, SPL-Token-Bilanzen genau abzurufen und zu interpretieren, indem Sie die Methode getTokenAccountBalance verwenden.

Verwandte Methoden

getTokenAccountsByOwner

Alle Token-Konten für einen Eigentümer abrufen

getTokenSupply

Den Gesamtsupply eines Token-Mints abrufen