Zum Hauptinhalt springen
Die RPC-Methode getBalance bietet eine einfache Möglichkeit, den nativen SOL-Kontostand eines beliebigen Kontos auf der Solana-Blockchain zu ermitteln. Sie gibt den Kontostand in Lamports zurück (1 SOL = 1.000.000.000 Lamports). Diese Methode ist schlanker als getAccountInfo, wenn du nur den SOL-Kontostand und keine weiteren Kontodetails benötigst.

Wichtigster Anwendungsfall

  • SOL-Bestand eines Kontos schnell prüfen: Du kannst damit vor allem ermitteln, wie viel SOL ein Konto (Wallet, Programm usw.) hält.

Parameter

  1. publicKey (String, erforderlich): Der Base58-codierte öffentliche Schlüssel des abzufragenden Kontos.
  2. config (Objekt, optional): Ein Konfigurationsobjekt mit den folgenden Feldern:
    • commitment (String, optional): Gibt das commitment level für die Abfrage an. Der Standardwert ist finalized.
      • finalized: Der node fragt den neuesten Block ab, den eine Supermehrheit des cluster als vollständig gesperrt bestätigt hat.
      • confirmed: Der node fragt den neuesten Block ab, für den eine Supermehrheit des cluster gestimmt hat.
      • processed: Der node fragt seinen neuesten Block ab. Beachte, dass der Block möglicherweise noch nicht vollständig ist.
    • minContextSlot (Zahl, optional): Der minimale slot, bei dem der request ausgewertet werden kann.

Response

Das Feld result der JSON-RPC-response enthält ein Objekt mit folgenden Elementen:
  • context (Objekt):
    • slot (Zahl): Der slot, bei dem der Kontostand abgerufen wurde.
    • apiVersion (String, optional): Die RPC-API-Version (ist möglicherweise nicht bei allen nodes vorhanden).
  • value (Zahl): Der Kontostand des Kontos in Lamports (vorzeichenlose 64-Bit-Ganzzahl).
Wenn das Konto On-Chain nicht existiert, gibt getBalance normalerweise einen Wert von 0 Lamports zurück.

Beispiel: Kontostand eines Kontos abrufen

Prüfen wir den SOL-Kontostand der Serum Program V3 ID (9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin) im Mainnet. Dieses Programmkonto hält selbst SOL, um von der Speichergebühr befreit zu sein. Hinweis: Ersetze YOUR_API_KEY in den folgenden Beispielen durch deinen tatsächlichen Helius API key.

Tipps für Entwickler

  • Einfacher SOL-Kontostand: Wenn du nur den SOL-Kontostand eines Kontos und keine anderen On-Chain-Daten wie Besitzer, Daten oder Ausführbarkeitsstatus benötigst, ist getBalance effizienter als getAccountInfo, da es weniger Daten abruft.
  • Nicht vorhandene Konten: Wenn ein Konto On-Chain nicht existiert, also nie initialisiert wurde oder SOL besaß, gibt getBalance den Wert 0 zurück. So kannst du schnell prüfen, ob ein Konto existiert, wenn dich nur sein SOL-Kontostand interessiert.
  • Lamports und SOL: Beachte, dass der Kontostand in Lamports zurückgegeben wird. Teile ihn durch LAMPORTS_PER_SOL (1.000.000.000), um ihn in SOL umzurechnen.
  • Commitment Levels: Die Wahl von commitment kann beeinflussen, wie schnell du den Kontostand erhältst und wie stark er bestätigt ist. Für die meisten Anzeigen in Benutzeroberflächen bietet confirmed einen guten Kompromiss. Bei kritischen Finanztransaktionen bietet finalized die höchste Sicherheit. Ausführliche Informationen findest du unter Solana Commitment Levels.
  • Bündeln mit getMultipleAccounts: getBalance ist für ein einzelnes Konto vorgesehen. Wenn du Kontostände für viele Konten benötigst, kann es effizienter sein, getMultipleAccounts zu verwenden und anschließend den Lamport-Kontostand aus den Informationen jedes Kontos zu extrahieren, statt viele einzelne getBalance-Aufrufe auszuführen.

Verwandte Methoden

getAccountInfo

Vollständige Kontodetails einschließlich Daten, Besitzer und Ausführbarkeitsstatus abrufen

getMultipleAccounts

Mehrere Konten gesammelt mit einem einzigen request abrufen