Skip to main content
El método RPC getBalance es una forma sencilla de consultar el saldo nativo en SOL 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 en 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 deseas 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 que la supermayoría del clúster haya confirmado como bloque que alcanzó el bloqueo máximo.
      • confirmed: El nodo consultará el bloque más reciente por el que haya votado una supermayoría del clúster.
      • 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 que no esté disponible 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 blockchain, getBalance normalmente devolverá un valor de 0 lamports.

Ejemplo: Obtener el saldo de una cuenta

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

Consejos para desarrolladores

  • Simplicidad para consultar el saldo en SOL: Si solo necesitas el saldo en SOL de una cuenta y ningún otro dato de la blockchain (como el propietario, los datos o el estado de ejecución), getBalance es más eficiente que getAccountInfo porque obtiene menos datos.
  • Cuentas inexistentes: Si una cuenta no existe en la blockchain (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 en SOL.
  • Lamports frente a SOL: Recuerda que el saldo se devuelve en lamports. Debes dividirlo entre LAMPORTS_PER_SOL (1,000,000,000) para convertirlo a SOL.
  • Niveles de compromiso: La elección de commitment puede afectar la rapidez con la que obtienes el saldo y el grado de confirmación de ese saldo. Para la mayoría de las interfaces de usuario, confirmed ofrece un buen equilibrio. Para transacciones financieras críticas, finalized ofrece la máxima garantía. Consulta Niveles de compromiso de Solana para obtener información detallada.
  • 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 hacer 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