Skip to main content
O método RPC getTokenAccountBalance retorna o saldo do token de uma conta SPL Token específica. Isso é essencial para aplicações que precisam exibir ou verificar a quantidade de um token específico mantido por uma conta de token.

Casos de Uso Comuns

  • Exibindo Saldos de Tokens de Usuário: Mostrando aos usuários quanto de um token específico eles possuem em sua carteira (contas de token associadas).
  • Verificando Disponibilidade de Token: Verificando se uma conta de token tem saldo suficiente antes de tentar uma transferência ou outra operação.
  • Acompanhamento de Portfólio: Agregando saldos de tokens para um usuário em contas de token diferentes.
  • Interações com Contratos Inteligentes: Contratos inteligentes podem consultar saldos de tokens como parte de sua lógica (embora programas on-chain geralmente acessem esses dados diretamente a partir das informações da conta).

Parâmetros de Solicitação

  1. Chave Pública da Conta de Token (string, obrigatório): A chave pública codificada em base-58 da conta SPL Token que você deseja consultar.
  2. Objeto de Configuração (objeto, opcional): Um objeto opcional que pode conter o seguinte campo:
    • commitment (string, opcional): Especifica o nível de comprometimento para a consulta. Se omitido, o comprometimento padrão do nó RPC é usado (geralmente finalized).

Estrutura da Resposta

O campo result na resposta JSON-RPC contém um objeto com um campo context e um campo value. O objeto value contém as informações do saldo:
  • amount (string): O saldo bruto da conta de token como uma string. Este é um número inteiro representando a menor unidade do token (por exemplo, se um token tiver 6 decimais, um valor de “1000000” significa 1 token).
  • decimals (u8): O número de casas decimais definidas para este tipo de token (por sua mint).
  • uiAmount (number | null): O saldo formatado como um número de ponto flutuante, levando em conta o decimals. Este campo pode ser null ou descontinuado em alguns contextos em favor de uiAmountString.
  • uiAmountString (string): O saldo formatado como uma string, levando em conta o decimals. Isso é frequentemente preferido para exibição para evitar potenciais imprecisões de ponto flutuante.
Exemplo de Resposta:

Exemplos de Código

Dicas para Desenvolvedores

  • Conta de Token vs. Conta de Mint vs. Conta do Proprietário: Certifique-se de fornecer a chave pública da Conta SPL Token, não o endereço de mint do token ou o endereço da carteira do proprietário. Você normalmente obtém contas de token para um proprietário usando getTokenAccountsByOwner.
  • Decimais: Sempre use o campo decimals para interpretar corretamente o amount. O uiAmountString é geralmente mais seguro para exibição do que uiAmount para evitar problemas de precisão de ponto flutuante.
  • Contas Inexistentes: Se a chave pública fornecida não corresponder a uma conta de token existente, o comportamento pode variar ligeiramente por provedor de RPC ou biblioteca, mas muitas vezes o value na resposta será null ou um erro será lançado. O exemplo em JavaScript inclui uma verificação básica para balance.value.
  • Níveis de Comprometimento: Usar diferentes níveis de comprometimento pode afetar a rapidez com que você vê as alterações de saldo, especialmente para transações muito recentes. finalized é o mais seguro, mas tem a maior latência.
Este guia deve ajudá-lo a recuperar e interpretar com precisão saldos de tokens SPL usando o método getTokenAccountBalance.

Métodos Relacionados

getTokenAccountsByOwner

Obtenha todas as contas de token para um proprietário

getTokenSupply

Obtenha a oferta total de um mint de token