Skip to main content
Die getBalance RPC-Methode ist eine einfache Möglichkeit, das native SOL-Guthaben eines Kontos auf der Solana-Blockchain zu ermitteln. Es gibt das Guthaben in Lamports zurück (1 SOL = 1.000.000.000 Lamports). Diese Methode ist leichter als getAccountInfo, wenn Sie nur das SOL-Guthaben und keine anderen Kontodetails benötigen.

Hauptanwendungsfall

  • Schnelles Überprüfen von SOL-Beständen eines Kontos: Der Hauptzweck ist, festzustellen, wie viel SOL ein Konto (Wallet, Programm usw.) hält.

Parameter

  1. publicKey (string, erforderlich): Der base-58 codierte öffentliche Schlüssel des anzufragenden Kontos.
  2. config (Objekt, optional): Ein Konfigurationsobjekt mit den folgenden Feldern:
    • commitment (string, optional): Gibt die Commitment-Stufe an, die für die Abfrage verwendet werden soll. Standardmäßig finalized.
      • finalized: Der Knoten wird den neuesten Block abfragen, der von der Supermehrheit des Clusters als mit maximalem Lockout bestätigt erreicht wurde.
      • confirmed: Der Knoten wird den neuesten Block abfragen, der von einer Supermehrheit des Clusters abgestimmt wurde.
      • processed: Der Knoten wird seinen neuesten Block abfragen. Beachten Sie, dass der Block möglicherweise nicht vollständig ist.
    • minContextSlot (Nummer, optional): Der minimalste Slot, in dem die Anfrage ausgewertet werden kann.

Antwort

Das result-Feld der JSON-RPC-Antwort wird ein Objekt enthalten:
  • context (Objekt):
    • slot (Nummer): Der Slot, zu dem das Guthaben abgerufen wurde.
    • apiVersion (string, optional): Die RPC API Version (möglicherweise nicht von allen Knoten vorhanden).
  • value (Nummer): Das Guthaben des Kontos in Lamports (Vorzeichenloser 64-Bit Integer).
Wenn das Konto nicht in der Blockchain existiert, gibt getBalance normalerweise einen Wert von 0 Lamports zurück.

Beispiel: Abfragen des Kontoguthabens

Lassen Sie uns das SOL-Guthaben der Serum Program V3 ID (9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin) im Mainnet überprüfen. Dieses Programmkonto selbst hält SOL zur Rentenbefreiung. Hinweis: Ersetzen Sie YOUR_API_KEY durch Ihren tatsächlichen Helius API-Schlüssel in den folgenden Beispielen.

Entwicklertipps

  • Einfachheit für SOL-Guthaben: Wenn Sie nur das SOL-Guthaben eines Kontos und keine anderen On-Chain-Daten (wie Besitzer, Daten oder ausführbarer Status) benötigen, ist getBalance effizienter als getAccountInfo, da weniger Daten abgerufen werden.
  • Nicht existierende Konten: Wenn ein Konto nicht in der Blockchain existiert (nie initialisiert wurde oder kein SOL hatte), gibt getBalance 0 zurück. Dies kann ein schneller Weg sein, um die Existenz eines Kontos zu überprüfen, wenn Sie sich nur um dessen SOL-Guthaben kümmern.
  • Lamports vs. SOL: Denken Sie daran, dass das Guthaben in Lamports angegeben wird. Sie müssen durch LAMPORTS_PER_SOL (1.000.000.000) teilen, um es in SOL umzurechnen.
  • Commitment-Stufen: Die Wahl von commitment kann beeinflussen, wie schnell Sie das Guthaben erhalten und wie bestätigt dieses Guthaben ist. Für die meisten UI-Anzeigezwecke bietet confirmed eine gute Balance. Für kritische Finanztransaktionen bietet finalized die höchste Sicherheit. Siehe Solana Commitment Levels für detaillierte Informationen.
  • Batching mit getMultipleAccounts: Während getBalance für ein einzelnes Konto ist, kann die Verwendung von getMultipleAccounts und das anschließende Extrahieren des Lamport-Guthabens aus den Informationen jedes Kontos leistungsfähiger sein als viele einzelne getBalance-Aufrufe.

Verwandte Methoden

getAccountInfo

Vollständige Kontodetails abrufen, einschließlich Daten, Besitzer und ausführbarem Status

getMultipleAccounts

Mehrere Konten in einer einzigen Anfrage als Batch abrufen