Skip to main content
La méthode RPC getTokenAccountBalance retourne le solde de jetons d’un compte SPL Token spécifique. Cela est essentiel pour les applications qui doivent afficher ou vérifier la quantité d’un jeton particulier détenue par un compte de jeton.

Cas d’utilisation courants

  • Affichage des soldes de jetons utilisateur : Montrer aux utilisateurs combien d’un jeton spécifique ils possèdent dans leur portefeuille (comptes de jetons associés).
  • Vérification de la disponibilité des jetons : S’assurer qu’un compte de jetons a un solde suffisant avant d’essayer un transfert ou une autre opération.
  • Suivi de portefeuille : Agréger les soldes de jetons pour un utilisateur à travers différents comptes de jetons.
  • Interactions avec les contrats intelligents : Les contrats intelligents peuvent interroger les soldes de jetons dans le cadre de leur logique (bien que les programmes en chaîne accèdent généralement à ces données directement à partir des informations du compte).

Paramètres de requête

  1. Clé publique du compte de jetons (chaîne, requis) : La clé publique encodée en base-58 du compte SPL Token que vous souhaitez interroger.
  2. Objet de configuration (objet, optionnel) : Un objet optionnel qui peut contenir le champ suivant :
    • commitment (chaîne, optionnel) : Spécifie le niveau d’engagement pour la requête. Si omis, l’engagement par défaut du nœud RPC est utilisé (généralement finalized).

Structure de la réponse

Le champ result dans la réponse JSON-RPC contient un objet avec un champ context et un champ value. L’objet value contient les informations de solde :
  • amount (chaîne) : Le solde brut du compte de jetons en tant que chaîne. C’est un entier représentant la plus petite unité du jeton (par exemple, si un jeton a 6 décimales, un montant de “1000000” signifie 1 jeton).
  • decimals (u8) : Le nombre de décimales défini pour ce type de jeton (par sa frappe).
  • uiAmount (nombre | null) : Le solde formaté en nombre à virgule flottante, en tenant compte de l’decimals. Ce champ peut être null ou déprécié dans certains contextes en faveur de l’uiAmountString.
  • uiAmountString (chaîne) : Le solde formaté en tant que chaîne, en tenant compte de l’decimals. Cela est souvent préféré pour l’affichage afin d’éviter d’éventuelles inexactitudes de la virgule flottante.
Exemple de réponse :

Exemples de code

Conseils pour les développeurs

  • Compte de jetons vs Compte de frappe vs Compte du propriétaire : Assurez-vous de fournir la clé publique du compte SPL Token, pas l’adresse de frappe du jeton ou l’adresse du portefeuille du propriétaire. Vous obtenez généralement les comptes de jetons pour un propriétaire en utilisant getTokenAccountsByOwner.
  • Décimales : Utilisez toujours le champ decimals pour interpréter correctement l’amount. L’uiAmountString est généralement plus sûr pour l’affichage que l’uiAmount pour éviter les problèmes de précision à virgule flottante.
  • Comptes inexistants : Si la clé publique fournie ne correspond pas à un compte de jetons existant, le comportement peut légèrement varier selon le fournisseur RPC ou la bibliothèque, mais souvent l’value dans la réponse sera null ou une erreur sera déclenchée. L’exemple JavaScript inclut une vérification de base pour balance.value.
  • Niveaux d’engagement : L’utilisation de différents niveaux d’engagement peut affecter la rapidité avec laquelle vous voyez les changements de solde, surtout pour les transactions très récentes. L’finalized est le plus sûr mais a le plus de latence.
Ce guide devrait vous aider à récupérer et interpréter correctement les soldes de jetons SPL en utilisant la méthode getTokenAccountBalance.

Méthodes associées

getTokenAccountsByOwner

Obtenez tous les comptes de jetons pour un propriétaire

getTokenSupply

Obtenez l’offre totale d’une frappe de jetons