Skip to main content
El método RPC getInflationReward te permite consultar las recompensas por inflación, comúnmente conocidas como recompensas de staking, que se acreditaron a una o más direcciones durante una época específica. Esto resulta útil para verificar las recompensas recibidas por cuentas de stake o por cualquier cuenta que pueda haber recibido recompensas por inflación.
Evita agrupar solicitudes para obtener un mejor rendimientoAgrupar métodos de archivo aumenta significativamente la latencia. No se permiten lotes de más de 10 solicitudes.

Casos de uso comunes

  • Verificar recompensas de staking: Comprueba si una cuenta de stake recibió las recompensas esperadas durante una época anterior.
  • Dar seguimiento al historial de recompensas: Consulta las recompensas de varias épocas para crear un historial de una dirección.
  • Auditar pagos de validadores: Los validadores pueden usar este método para verificar la distribución de recompensas, aunque estas se pagan a las cuentas de stake y no directamente a las identidades de los validadores.

Parámetros de la solicitud

El método acepta dos parámetros principales:
  1. addresses (arreglo de cadenas): Una lista de claves públicas codificadas en base 58 de las cuentas que quieres consultar. La cantidad máxima de direcciones permitidas puede variar según el proveedor de RPC (por ejemplo, Helius permite hasta 1005 en los planes de pago).
  2. config (objeto, opcional): Un objeto de configuración con los siguientes campos opcionales:
    • commitment (cadena, opcional): Especifica el nivel de compromiso. El valor predeterminado es finalized si no se proporciona.
    • epoch (entero, opcional): El número de la época cuyas recompensas quieres obtener. Si se omite, el nodo RPC normalmente usará la época completada más reciente para la que se hayan distribuido recompensas.
    • minContextSlot (entero, opcional): El slot mínimo en el que se puede evaluar la solicitud. Esto garantiza que la consulta se realice sobre un estado del libro mayor que haya procesado al menos hasta este slot.

Estructura de la respuesta

El campo result de la respuesta JSON-RPC será un arreglo que corresponde al arreglo de entrada addresses. Cada elemento del arreglo de resultados será uno de los siguientes:
  • Un objeto que contiene los detalles de la recompensa por inflación si la dirección recibió una recompensa durante la época especificada.
  • null si la dirección no recibió una recompensa por inflación durante esa época o si la cuenta no existía.
El objeto de recompensa tiene los siguientes campos:
  • epoch (u64): La época durante la que se acreditó esta recompensa.
  • effectiveSlot (u64): El slot en el que la recompensa se aplicó y entró en vigor.
  • amount (u64): El monto de la recompensa, en lamports.
  • postBalance (u64): El saldo de la cuenta, en lamports, después de que se acreditó la recompensa.
  • commission (u8 | undefined): Para las cuentas de voto, este es el porcentaje de comisión (0-100) que tomó el validador cuando se acreditó la recompensa. Será undefined para las cuentas que no sean de voto.

Ejemplos

1. Obtener la recompensa por inflación de una sola dirección (época anterior)

Este ejemplo obtiene la recompensa por inflación de una dirección específica durante la época completada más reciente.

2. Obtener las recompensas por inflación de varias direcciones durante una época específica

Consejos para desarrolladores

  • Época específica: Las recompensas se acreditan una vez por época. Asegúrate de consultar el número de época correcto.
  • Momento de las recompensas: Las recompensas por inflación se calculan al final de una época y se aplican al comienzo de la siguiente. effectiveSlot indica cuándo ocurre esto.
  • Resultados nulos: Un resultado null para una dirección significa que no se encontró ninguna recompensa para esa dirección durante la época especificada. Esto puede deberse a que la cuenta no era elegible (por ejemplo, no era una cuenta de stake con suficiente stake), la recompensa era cero o la cuenta no existía en ese momento.
  • Límites de frecuencia: Ten en cuenta los límites de frecuencia del proveedor de RPC, especialmente cuando consultes una gran cantidad de direcciones.
Esta guía te ayuda a usar el método getInflationReward para recuperar y verificar con precisión las recompensas de staking en la red Solana.