Saltar al contenido principal
El método RPC getBalance es una forma sencilla de consultar el saldo de SOL nativo de cualquier cuenta en la blockchain de Solana. Devuelve el saldo en lamports (1 SOL = 1,000,000,000 lamports). Este método es más ligero que getAccountInfo si solo necesitas el saldo de SOL y ningún otro detalle de la cuenta.

Caso de uso principal

  • Consultar rápidamente las tenencias en SOL de una cuenta: El uso principal es determinar cuánto SOL tiene una cuenta (billetera, programa, etc.).

Parámetros

  1. publicKey (cadena, obligatorio): La clave pública codificada en base 58 de la cuenta que se consultará.
  2. config (objeto, opcional): Un objeto de configuración con los siguientes campos:
    • commitment (cadena, opcional): Especifica el nivel de compromiso que se usará para la consulta. El valor predeterminado es finalized.
      • finalized: El nodo consultará el bloque más reciente confirmado de forma permanente. Usa preferentemente este valor para código nuevo.
      • confirmed: En Alpenglow, equivale a finalized; se conserva por compatibilidad.
      • processed: El nodo consultará su bloque más reciente. Ten en cuenta que el bloque podría no estar completo.
    • minContextSlot (número, opcional): El slot mínimo en el que se puede evaluar la solicitud.

Respuesta

El campo result de la respuesta JSON-RPC será un objeto que contiene:
  • context (objeto):
    • slot (número): El slot en el que se obtuvo el saldo.
    • apiVersion (cadena, opcional): La versión de la API RPC (puede no estar presente en todos los nodos).
  • value (número): El saldo de la cuenta en lamports (entero sin signo de 64 bits).
Si la cuenta no existe en la cadena, getBalance normalmente devolverá un valor de 0 lamports.

Ejemplo: Obtener el saldo de una cuenta

Consultemos el saldo de SOL del ID de Serum Program V3 (9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin) en la red principal. Esta cuenta de programa contiene SOL para la exención de renta. Nota: Reemplaza YOUR_API_KEY por tu clave de API de Helius real en los siguientes ejemplos.

Consejos para desarrolladores

  • Simplicidad para consultar el saldo de SOL: Si solo necesitas el saldo de SOL de una cuenta y ningún otro dato en la cadena (como el propietario, los datos o el estado ejecutable), getBalance es más eficiente que getAccountInfo porque obtiene menos datos.
  • Cuentas inexistentes: Si una cuenta no existe en la cadena (nunca se inicializó ni tuvo SOL), getBalance devolverá 0. Esta puede ser una forma rápida de comprobar si una cuenta existe cuando solo te interesa su saldo de SOL.
  • Lamports frente a SOL: Recuerda que el saldo se devuelve en lamports. Tendrás que dividirlo entre LAMPORTS_PER_SOL (1,000,000,000) para convertirlo a SOL.
  • Niveles de compromiso: processed puede mostrar un saldo que luego se revierta. En Alpenglow, confirmed y finalized ofrecen la misma garantía de finalidad permanente en el mismo punto; usa preferentemente finalized para código nuevo.
  • Procesamiento por lotes con getMultipleAccounts: Aunque getBalance sirve para una sola cuenta, si necesitas los saldos de muchas cuentas, usar getMultipleAccounts y después extraer el saldo en lamports de la información de cada cuenta puede ofrecer un mejor rendimiento que realizar muchas llamadas individuales a getBalance.

Métodos relacionados

getAccountInfo

Obtén todos los detalles de la cuenta, incluidos los datos, el propietario y el estado de ejecución

getMultipleAccounts

Obtén varias cuentas por lotes en una sola solicitud