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
-
publicKey(String, erforderlich): Der Base58-codierte öffentliche Schlüssel des abzufragenden Kontos. -
config(Objekt, optional): Ein Konfigurationsobjekt mit den folgenden Feldern:commitment(String, optional): Gibt das commitment level für die Abfrage an. Der Standardwert istfinalized.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 Feldresult 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).
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
getBalanceeffizienter alsgetAccountInfo, da es weniger Daten abruft. - Nicht vorhandene Konten: Wenn ein Konto On-Chain nicht existiert, also nie initialisiert wurde oder SOL besaß, gibt
getBalanceden Wert0zurü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
commitmentkann beeinflussen, wie schnell du den Kontostand erhältst und wie stark er bestätigt ist. Für die meisten Anzeigen in Benutzeroberflächen bietetconfirmedeinen guten Kompromiss. Bei kritischen Finanztransaktionen bietetfinalizeddie höchste Sicherheit. Ausführliche Informationen findest du unter Solana Commitment Levels. - Bündeln mit
getMultipleAccounts:getBalanceist für ein einzelnes Konto vorgesehen. Wenn du Kontostände für viele Konten benötigst, kann es effizienter sein,getMultipleAccountszu verwenden und anschließend den Lamport-Kontostand aus den Informationen jedes Kontos zu extrahieren, statt viele einzelnegetBalance-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