Skip to main content
El método RPC getSlot devuelve el slot actual que el nodo RPC considera que ha alcanzado un nivel de compromiso específico. Este método es fundamental para comprender el estado actual de la blockchain según lo percibe el nodo.

Casos de uso comunes

  • Obtener el progreso actual de la red: Determina el slot más reciente procesado o confirmado por el nodo.
  • Comprobar la sincronización de nodos: Comparar el slot de distintos nodos puede indicar su estado de sincronización.
  • Registrar marcas de tiempo en operaciones: Usa el slot actual como punto de referencia para operaciones o para conocer la antigüedad de ciertos datos.
  • Entrada para otras llamadas RPC: Algunos métodos RPC pueden usar un número de slot como punto de referencia.

Parámetros de solicitud

Este método acepta un objeto de configuración opcional como primer parámetro:
  1. options (object, opcional): Un objeto de configuración opcional con los siguientes campos:
    • commitment (string, opcional): Especifica el nivel de compromiso de la consulta. Los valores compatibles son finalized, confirmed o processed. Si se omite, se usa el compromiso predeterminado del nodo RPC (por lo general, finalized).
      • processed: El nodo consultará su slot más reciente. Ten en cuenta que es posible que el clúster aún no haya confirmado este slot y que este pueda omitirse.
      • confirmed: El nodo consultará el slot más reciente por el que haya votado una supermayoría del clúster.
      • finalized: El nodo consultará el slot más reciente que la supermayoría del clúster haya confirmado como que alcanzó el bloqueo máximo (no se puede revertir).
    • minContextSlot (number, opcional): El slot mínimo en el que se puede evaluar la solicitud. Esto establece el slot mínimo para el contexto del nodo. Si el estado del nodo es anterior a este slot, puede devolver un error o un número de slot que refleje su estado actual (más antiguo) con respecto a este mínimo.

Estructura de la respuesta

El campo result de la respuesta JSON-RPC es un único u64 (entero sin signo de 64 bits) que representa el número de slot actual según el nivel de compromiso especificado. Ejemplo de respuesta:

Ejemplos

1. Obtener el slot actual (compromiso predeterminado)

Este ejemplo obtiene el slot actual mediante el nivel de compromiso predeterminado del nodo (por lo general, finalized).

2. Obtener el slot actual con un compromiso específico

Este ejemplo obtiene el slot actual que alcanzó el compromiso confirmed.

Consejos para desarrolladores

  • El compromiso importa: El número de slot devuelto depende en gran medida del nivel commitment especificado. Consulta Niveles de compromiso de Solana para obtener información detallada. processed será el slot más alto (el más reciente) que conoce el nodo, mientras que finalized será un slot anterior confirmado por toda la red. Elige el nivel de compromiso adecuado según las necesidades de finalidad de los datos de tu caso de uso.
  • Variabilidad entre nodos: Distintos nodos RPC pueden devolver números de slot ligeramente diferentes para el mismo nivel de compromiso debido a retrasos en la propagación de la red o a su propio estado de procesamiento. Esto ocurre especialmente con los niveles processed e confirmed.
  • minContextSlot: Este parámetro garantiza que el nodo que procesa tu solicitud haya alcanzado al menos el minContextSlot. Si el nodo está atrasado con respecto a este slot, el comportamiento puede variar (por ejemplo, puede producirse un error o devolverse el slot actual más alto del nodo, que es menor que minContextSlot). Por lo general, se usa en situaciones avanzadas en las que necesitas asegurarte de que una consulta se realice sobre un estado suficientemente reciente.
getSlot es un método sencillo pero esencial para interactuar con la blockchain de Solana y comprender su progreso actual.