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
-
publicKey(cadena, obligatorio): La clave pública codificada en base 58 de la cuenta que se consultará. -
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 esfinalized.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 afinalized; 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 camporesult 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).
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),
getBalancees más eficiente quegetAccountInfoporque obtiene menos datos. - Cuentas inexistentes: Si una cuenta no existe en la cadena (nunca se inicializó ni tuvo SOL),
getBalancedevolverá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:
processedpuede mostrar un saldo que luego se revierta. En Alpenglow,confirmedyfinalizedofrecen la misma garantía de finalidad permanente en el mismo punto; usa preferentementefinalizedpara código nuevo. - Procesamiento por lotes con
getMultipleAccounts: AunquegetBalancesirve para una sola cuenta, si necesitas los saldos de muchas cuentas, usargetMultipleAccountsy después extraer el saldo en lamports de la información de cada cuenta puede ofrecer un mejor rendimiento que realizar muchas llamadas individuales agetBalance.
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