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
- 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.
- 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éralementfinalized).
Structure de la réponse
Le champresult 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 êtrenullou 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.
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
decimalspour interpréter correctement l’amount. L’uiAmountStringest généralement plus sûr pour l’affichage que l’uiAmountpour é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’
valuedans la réponse seranullou une erreur sera déclenchée. L’exemple JavaScript inclut une vérification de base pourbalance.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’
finalizedest le plus sûr mais a le plus de latence.
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