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: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 admitidos sonfinalized,confirmedoprocessed. Si se omite, se usa el compromiso predeterminado del nodo RPC (generalmentefinalized).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 podría omitirse.confirmed: En Alpenglow, equivale afinalized; se conserva por compatibilidad.finalized: El nodo consultará el slot confirmado permanentemente más reciente. Prefiere este valor para código nuevo.
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) en relación con este mínimo.
Estructura de la respuesta
El camporesult 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 finalizado actual
Este ejemplo obtiene explícitamente el slot actual confirmado permanentemente mediantefinalized.
Consejos para desarrolladores
- El compromiso es importante:
processeddevuelve el slot más reciente que ejecutó el nodo y puede incluir trabajo que posteriormente se revierta. En Alpenglow,confirmedefinalizeddevuelven el mismo estado confirmado permanentemente; prefierefinalizedpara código nuevo. - Variabilidad entre nodos: Los distintos nodos RPC pueden devolver números de slot ligeramente diferentes debido a retrasos en la propagación de la red o a su propio estado de procesamiento. Esto ocurre especialmente con el compromiso
processed. minContextSlot: Este parámetro garantiza que el nodo que procesa tu solicitud haya alcanzado al menos elminContextSlot. Si el nodo aún no alcanzó este slot, el comportamiento puede variar (por ejemplo, puede producirse un error o el nodo puede devolver su slot actual más alto, que sería inferior aminContextSlot). Por lo general, se usa en situaciones avanzadas en las que necesitas garantizar 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.