Skip to main content
El método RPC getVoteAccounts devuelve información sobre todas las cuentas de votación (validadores) del banco actual. Distingue entre validadores current (activos) e delinquent y proporciona detalles sobre su stake, actividad de votación e identidad.

Casos de uso comunes

  • Monitoreo de validadores: Haz un seguimiento del estado, el stake y el rendimiento de los validadores en la red.
  • Paneles de staking: Muestra información sobre los validadores disponibles para los usuarios que desean delegar sus SOL.
  • Análisis del estado de la red: Evalúa el estado general y la descentralización de la red examinando la distribución del stake y la actividad de los validadores.
  • Identificación de validadores inactivos: Encuentra validadores que no participan activamente en el consenso.

Parámetros de solicitud

Este método acepta un objeto de configuración opcional con los siguientes campos:
  1. commitment (cadena, opcional): Especifica el nivel de compromiso de la consulta (por ejemplo, "finalized", "confirmed", "processed"). Si se omite, se usa el nivel de compromiso predeterminado del nodo.
  2. votePubkey (cadena, opcional): Si se proporciona, los resultados se filtrarán para incluir únicamente la dirección especificada de la cuenta de votación del validador (codificada en base 58).
  3. keepUnstakedDelinquents (booleano, opcional): El valor predeterminado es false. Si se establece en true, la lista delinquent incluirá validadores sin stake activado. De lo contrario, se excluirán.
  4. delinquentSlotDistance (u64, opcional): Especifica cuántos slots debe estar un validador por detrás del extremo del libro mayor para considerarse inactivo. Si no se especifica, el nodo usa un valor predeterminado.

Estructura de la respuesta

El campo result de la respuesta JSON-RPC es un objeto que contiene dos arreglos:
  • current: Un arreglo de objetos, donde cada objeto representa una cuenta de votación activa con los siguientes campos:
    • votePubkey (cadena): La dirección de la cuenta de votación (codificada en base 58).
    • nodePubkey (cadena): La clave pública de identidad del nodo validador (codificada en base 58).
    • activatedStake (u64): La cantidad de stake, en lamports, delegada a esta cuenta de votación y activa en la época actual.
    • epochVoteAccount (booleano): true si la cuenta de votación estuvo activa al menos una vez durante la época actual.
    • commission (número): El porcentaje de comisión (0-100) que cobra el validador.
    • lastVote (u64): El número de slot más reciente por el que votó este validador.
    • rootSlot (u64): El último slot que el nodo consideró como raíz (un bloque totalmente confirmado que no se revertirá).
    • epochCredits (arreglo): Un arreglo de arreglos, donde cada arreglo interno contiene [epoch, credits_earned_in_epoch, previous_total_credits].
  • delinquent: Un arreglo de objetos con la misma estructura que current, que representa a los validadores que el nodo considera inactivos.
Fragmento de ejemplo de la respuesta:

Ejemplos de código

Consejos para desarrolladores

  • Respuesta grande: Este método puede devolver una gran cantidad de datos, especialmente en redes con muchos validadores, como Mainnet Beta. Ten en cuenta el tamaño de la respuesta y el tiempo de procesamiento.
  • Definición de inactividad: La definición de “inactivo” puede depender de delinquentSlotDistance y de la perspectiva del nodo. Un validador podría aparecer como inactivo en un nodo, pero no en otro, si sus vistas del extremo del libro mayor difieren.
  • Activación del stake: activatedStake refleja el stake activo en la época actual. Activar y desactivar el stake lleva tiempo.
  • Créditos de época: epochCredits proporciona un historial del rendimiento de un validador al obtener créditos mediante la votación.
Esta guía cubre el método RPC getVoteAccounts y te permite consultar y comprender la información de los validadores en la red Solana.