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 compatibles sonfinalized,confirmedoprocessed. 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 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 actual con un compromiso específico
Este ejemplo obtiene el slot actual que alcanzó el compromisoconfirmed.
Consejos para desarrolladores
- El compromiso importa: El número de slot devuelto depende en gran medida del nivel
commitmentespecificado. Consulta Niveles de compromiso de Solana para obtener información detallada.processedserá el slot más alto (el más reciente) que conoce el nodo, mientras quefinalizedserá 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
processedeconfirmed. minContextSlot: Este parámetro garantiza que el nodo que procesa tu solicitud haya alcanzado al menos elminContextSlot. 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 queminContextSlot). 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.