getBalance est un moyen simple de connaître le solde SOL natif de n’importe quel compte sur la blockchain Solana. Elle retourne le solde en lamports (1 SOL = 1 000 000 000 lamports).
Cette méthode est plus légère que getAccountInfo si vous avez uniquement besoin du solde SOL et d’aucun autre détail de compte.
Cas d’utilisation principal
- Vérification rapide des avoirs SOL d’un compte : L’utilisation principale est de déterminer combien de SOL un compte (portefeuille, programme, etc.) détient.
Paramètres
-
publicKey(string, requis) : La clé publique encodée en base-58 du compte à interroger. -
config(objet, optionnel) : Un objet de configuration avec les champs suivants :commitment(string, optionnel) : Spécifie le niveau d’engagement à utiliser pour la requête. La valeur par défaut estfinalized.finalized: Le nœud interrogera le bloc le plus récent confirmé par la supermajorité du cluster comme ayant atteint le verrouillage maximal.confirmed: Le nœud interrogera le bloc le plus récent qui a été voté par une supermajorité du cluster.processed: Le nœud interrogera son bloc le plus récent. Notez que le bloc peut ne pas être complet.
minContextSlot(nombre, optionnel) : Le slot minimum auquel la requête peut être évaluée.
Réponse
Le champresult de la réponse JSON-RPC sera un objet contenant :
context(objet) :slot(nombre) : Le slot auquel le solde a été récupéré.apiVersion(string, optionnel) : La version de l’API RPC (peut ne pas être présente pour tous les nœuds).
value(nombre) : Le solde du compte en lamports (entier sans signe 64 bits).
getBalance retournera généralement une valeur de 0 lamports.
Exemple : Obtenir le solde d’un compte
Vérifions le solde SOL de l’ID du programme Serum V3 (9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin) sur le mainnet. Ce compte programme détient lui-même du SOL pour l’exemption de loyer.
Remarque : Remplacez YOUR_API_KEY par votre clé API Helius réelle dans les exemples ci-dessous.
Conseils pour les développeurs
- Simplicité pour le solde SOL : Si vous avez seulement besoin du solde SOL d’un compte et d’aucune autre donnée on-chain (comme le propriétaire, les données ou le statut exécutable),
getBalanceest plus efficace quegetAccountInfocar elle récupère moins de données. - Comptes inexistants : Si un compte n’existe pas sur la chaîne (n’a jamais été initialisé ou n’a pas de SOL),
getBalanceretournera0. Cela peut être un moyen rapide de vérifier l’existence d’un compte si vous vous souciez uniquement de son solde SOL. - Lamports vs. SOL : Rappelez-vous que le solde est retourné en lamports. Vous devrez diviser par
LAMPORTS_PER_SOL(1 000 000 000) pour le convertir en SOL. - Niveaux d’engagement : Le choix de
commitmentpeut affecter la rapidité avec laquelle vous obtenez le solde et à quel point ce solde est confirmé. Pour la plupart des affichages UI,confirmedoffre un bon équilibre. Pour les transactions financières critiques,finalizedfournit la plus grande assurance. Voir Solana Commitment Levels pour des informations détaillées. - Batching avec
getMultipleAccounts: Bien quegetBalancesoit pour un compte unique, si vous avez besoin des soldes de nombreux comptes, utilisergetMultipleAccountspuis extraire le solde en lamports des infos de chaque compte peut être plus performant que de nombreuses appels individuelsgetBalance.
Méthodes associées
getAccountInfo
Obtenez les détails complets du compte, y compris les données, le propriétaire et le statut exécutable
getMultipleAccounts
Récupérez en batch plusieurs comptes en une seule requête