Skip to main content
La méthode RPC 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

  1. publicKey (string, requis) : La clé publique encodée en base-58 du compte à interroger.
  2. 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 est finalized.
      • 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 champ result 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).
Si le compte n’existe pas sur la chaîne, 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), getBalance est plus efficace que getAccountInfo car 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), getBalance retournera 0. 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 commitment peut affecter la rapidité avec laquelle vous obtenez le solde et à quel point ce solde est confirmé. Pour la plupart des affichages UI, confirmed offre un bon équilibre. Pour les transactions financières critiques, finalized fournit la plus grande assurance. Voir Solana Commitment Levels pour des informations détaillées.
  • Batching avec getMultipleAccounts : Bien que getBalance soit pour un compte unique, si vous avez besoin des soldes de nombreux comptes, utiliser getMultipleAccounts puis extraire le solde en lamports des infos de chaque compte peut être plus performant que de nombreuses appels individuels getBalance.

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