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
-
publicKey(string, erforderlich): Der base-58 codierte öffentliche Schlüssel des anzufragenden Kontos. -
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äßigfinalized.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
Dasresult-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).
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
getBalanceeffizienter alsgetAccountInfo, da weniger Daten abgerufen werden. - Nicht existierende Konten: Wenn ein Konto nicht in der Blockchain existiert (nie initialisiert wurde oder kein SOL hatte), gibt
getBalance0zurü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
commitmentkann beeinflussen, wie schnell Sie das Guthaben erhalten und wie bestätigt dieses Guthaben ist. Für die meisten UI-Anzeigezwecke bietetconfirmedeine gute Balance. Für kritische Finanztransaktionen bietetfinalizeddie höchste Sicherheit. Siehe Solana Commitment Levels für detaillierte Informationen. - Batching mit
getMultipleAccounts: WährendgetBalancefür ein einzelnes Konto ist, kann die Verwendung vongetMultipleAccountsund das anschließende Extrahieren des Lamport-Guthabens aus den Informationen jedes Kontos leistungsfähiger sein als viele einzelnegetBalance-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