Leader Slot Information API Documentación
¿Cuál es la API de Información de Slot de Líder (getLeaderSlots)?
getLeaderSlots es un método de Solana RPC que devuelve los próximos registros de slots de líder con identidad de validador, peso de stake, metadatos de endpoint de red, ubicación de líder estimada, y mediciones de latencia de referencia. Si tienes créditos de uso de ERPC (tokens de API), puedes llamarlo en el mismo formato que un método estándar de Solana RPC.Esta API proporciona:
- Calendario de validadores líderes a partir del slot solicitado
stakeWeightpara cada validador líder- Región líder estimada, ciudad, país, coordenadas, organización ASN y zona horaria
- Mediciones de referencia de las regiones de observación de ERPC a través de
pingToLeaders
Ejemplo de endpoint y cuerpo de solicitud
text
https://edge.erpc.global?api-key=<YOUR_API_KEY>https://edge.erpc.global?api-key=<YOUR_API_KEY>Especifica el número de slot de inicio en
params.json
{
"jsonrpc": "2.0",
"id": 1,
"method": "getLeaderSlots",
"params": [436946064]
}{
"jsonrpc": "2.0",
"id": 1,
"method": "getLeaderSlots",
"params": [436946064]
}Ejemplo (HTTP)
bash
curl 'https://edge.erpc.global?api-key=<YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc":"2.0",
"id":1,
"method":"getLeaderSlots",
"params":[436946064]
}'curl 'https://edge.erpc.global?api-key=<YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc":"2.0",
"id":1,
"method":"getLeaderSlots",
"params":[436946064]
}'Respuesta de ejemplo (JSON)
La respuesta actual envuelve los registros en
result.data[]. result.total muestra cuántos registros fueron devueltos. El array data[] de abajo está abreviado a tres de los 100 registros de esta solicitud. La primera entrada muestra pingToLeaders de las siete regiones de observación de ERPC; las entradas restantes se han recortado a una región para facilitar la lectura.json
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true,
"message": "Leader schedule records retrieved successfully",
"total": 100,
"data": [
{
"identity": "BXAxLMMMUNYfC1z166VjWHR3WjTmqzLxB837o5ghmRtH",
"epoch": 1011,
"slot": "436946064",
"stakeWeight": 819031.365477103,
"ipAddress": "202.8.10.164",
"gossipPort": 8000,
"tpuPort": null,
"tpuQuicPort": 5010,
"rpcAddress": null,
"version": "4.1.2",
"featureSet": "3345198602",
"leaderRegion": "dublin",
"leaderCity": "Crumlin",
"leaderCountry": "IE",
"leaderLat": 53.32154,
"leaderLon": -6.31439,
"leaderOrg": "AS20326 TeraSwitch Networks Inc.",
"leaderTimezone": "Europe/Dublin",
"pingToLeaders": [
{
"city": "Frankfurt am Main",
"region": "frankfurt",
"ms": 18.438,
"icmpReplied": true,
"fromIp": "185.191.118.11",
"country": "DE",
"lat": 50.139,
"lon": 8.6725,
"org": "AS213896 UAB Cherry Servers",
"postal": "60320",
"timezone": "Europe/Berlin",
"measuredAt": "2026-08-03T06:20:48.000Z"
},
{
"city": "Newark",
"region": "ny",
"ms": 74.981,
"icmpReplied": true,
"fromIp": "64.130.37.222",
"country": "US",
"lat": 40.73566,
"lon": -74.17237,
"org": "AS20326 TeraSwitch Networks Inc.",
"postal": "07102",
"timezone": "America/New_York",
"measuredAt": "2026-08-03T06:22:21.000Z"
},
{
"city": "London",
"region": "london",
"ms": 10.978,
"icmpReplied": true,
"fromIp": "67.209.52.250",
"country": "GB",
"lat": 51.50853,
"lon": -0.12574,
"org": "AS20326 TeraSwitch Networks Inc.",
"postal": "WC2N",
"timezone": "Europe/London",
"measuredAt": "2026-08-03T06:23:06.000Z"
},
{
"city": "Singapore",
"region": "singapore",
"ms": 166.379,
"icmpReplied": true,
"fromIp": "202.8.11.52",
"country": "SG",
"lat": 1.2959,
"lon": 103.7907,
"org": "AS20326 TeraSwitch Networks Inc.",
"postal": "139963",
"timezone": "Asia/Singapore",
"measuredAt": "2026-08-03T06:24:52.000Z"
},
{
"city": "Amsterdam",
"region": "amsterdam",
"ms": 12.827,
"icmpReplied": true,
"fromIp": "84.32.103.245",
"country": "NL",
"lat": 52.37403,
"lon": 4.88969,
"org": "AS59642 UAB Cherry Servers",
"postal": "1012",
"timezone": "Europe/Amsterdam",
"measuredAt": "2026-08-03T06:21:33.000Z"
},
{
"city": "Ebara",
"region": "tokyo",
"ms": 212.499,
"icmpReplied": true,
"fromIp": "198.13.133.88",
"country": "JP",
"lat": 35.617,
"lon": 139.7486,
"org": "AS20326 TeraSwitch Networks Inc.",
"postal": "140-0002",
"timezone": "Asia/Tokyo",
"measuredAt": "2026-08-03T06:24:01.000Z"
},
{
"city": "Sydney",
"region": "sydney",
"ms": 274.379,
"icmpReplied": true,
"fromIp": "82.26.116.36",
"country": "AU",
"lat": -33.86785,
"lon": 151.20732,
"org": "AS29802 HIVELOCITY, Inc.",
"postal": "1001",
"timezone": "Australia/Sydney",
"measuredAt": "2026-08-03T06:25:50.000Z"
}
]
},
{
"identity": "BXAxLMMMUNYfC1z166VjWHR3WjTmqzLxB837o5ghmRtH",
"epoch": 1011,
"slot": "436946065",
"stakeWeight": 819031.365477103,
"ipAddress": "202.8.10.164",
"gossipPort": 8000,
"tpuPort": null,
"tpuQuicPort": 5010,
"rpcAddress": null,
"version": "4.1.2",
"featureSet": "3345198602",
"leaderRegion": "dublin",
"leaderCity": "Crumlin",
"leaderCountry": "IE",
"leaderLat": 53.32154,
"leaderLon": -6.31439,
"leaderOrg": "AS20326 TeraSwitch Networks Inc.",
"leaderTimezone": "Europe/Dublin",
"pingToLeaders": [
{
"city": "Frankfurt am Main",
"region": "frankfurt",
"ms": 18.438,
"icmpReplied": true,
"fromIp": "185.191.118.11",
"country": "DE",
"lat": 50.139,
"lon": 8.6725,
"org": "AS213896 UAB Cherry Servers",
"postal": "60320",
"timezone": "Europe/Berlin",
"measuredAt": "2026-08-03T06:20:48.000Z"
}
]
},
{
"identity": "BXAxLMMMUNYfC1z166VjWHR3WjTmqzLxB837o5ghmRtH",
"epoch": 1011,
"slot": "436946066",
"stakeWeight": 819031.365477103,
"ipAddress": "202.8.10.164",
"gossipPort": 8000,
"tpuPort": null,
"tpuQuicPort": 5010,
"rpcAddress": null,
"version": "4.1.2",
"featureSet": "3345198602",
"leaderRegion": "dublin",
"leaderCity": "Crumlin",
"leaderCountry": "IE",
"leaderLat": 53.32154,
"leaderLon": -6.31439,
"leaderOrg": "AS20326 TeraSwitch Networks Inc.",
"leaderTimezone": "Europe/Dublin",
"pingToLeaders": [
{
"city": "Frankfurt am Main",
"region": "frankfurt",
"ms": 18.438,
"icmpReplied": true,
"fromIp": "185.191.118.11",
"country": "DE",
"lat": 50.139,
"lon": 8.6725,
"org": "AS213896 UAB Cherry Servers",
"postal": "60320",
"timezone": "Europe/Berlin",
"measuredAt": "2026-08-03T06:20:48.000Z"
}
]
}
]
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true,
"message": "Leader schedule records retrieved successfully",
"total": 100,
"data": [
{
"identity": "BXAxLMMMUNYfC1z166VjWHR3WjTmqzLxB837o5ghmRtH",
"epoch": 1011,
"slot": "436946064",
"stakeWeight": 819031.365477103,
"ipAddress": "202.8.10.164",
"gossipPort": 8000,
"tpuPort": null,
"tpuQuicPort": 5010,
"rpcAddress": null,
"version": "4.1.2",
"featureSet": "3345198602",
"leaderRegion": "dublin",
"leaderCity": "Crumlin",
"leaderCountry": "IE",
"leaderLat": 53.32154,
"leaderLon": -6.31439,
"leaderOrg": "AS20326 TeraSwitch Networks Inc.",
"leaderTimezone": "Europe/Dublin",
"pingToLeaders": [
{
"city": "Frankfurt am Main",
"region": "frankfurt",
"ms": 18.438,
"icmpReplied": true,
"fromIp": "185.191.118.11",
"country": "DE",
"lat": 50.139,
"lon": 8.6725,
"org": "AS213896 UAB Cherry Servers",
"postal": "60320",
"timezone": "Europe/Berlin",
"measuredAt": "2026-08-03T06:20:48.000Z"
},
{
"city": "Newark",
"region": "ny",
"ms": 74.981,
"icmpReplied": true,
"fromIp": "64.130.37.222",
"country": "US",
"lat": 40.73566,
"lon": -74.17237,
"org": "AS20326 TeraSwitch Networks Inc.",
"postal": "07102",
"timezone": "America/New_York",
"measuredAt": "2026-08-03T06:22:21.000Z"
},
{
"city": "London",
"region": "london",
"ms": 10.978,
"icmpReplied": true,
"fromIp": "67.209.52.250",
"country": "GB",
"lat": 51.50853,
"lon": -0.12574,
"org": "AS20326 TeraSwitch Networks Inc.",
"postal": "WC2N",
"timezone": "Europe/London",
"measuredAt": "2026-08-03T06:23:06.000Z"
},
{
"city": "Singapore",
"region": "singapore",
"ms": 166.379,
"icmpReplied": true,
"fromIp": "202.8.11.52",
"country": "SG",
"lat": 1.2959,
"lon": 103.7907,
"org": "AS20326 TeraSwitch Networks Inc.",
"postal": "139963",
"timezone": "Asia/Singapore",
"measuredAt": "2026-08-03T06:24:52.000Z"
},
{
"city": "Amsterdam",
"region": "amsterdam",
"ms": 12.827,
"icmpReplied": true,
"fromIp": "84.32.103.245",
"country": "NL",
"lat": 52.37403,
"lon": 4.88969,
"org": "AS59642 UAB Cherry Servers",
"postal": "1012",
"timezone": "Europe/Amsterdam",
"measuredAt": "2026-08-03T06:21:33.000Z"
},
{
"city": "Ebara",
"region": "tokyo",
"ms": 212.499,
"icmpReplied": true,
"fromIp": "198.13.133.88",
"country": "JP",
"lat": 35.617,
"lon": 139.7486,
"org": "AS20326 TeraSwitch Networks Inc.",
"postal": "140-0002",
"timezone": "Asia/Tokyo",
"measuredAt": "2026-08-03T06:24:01.000Z"
},
{
"city": "Sydney",
"region": "sydney",
"ms": 274.379,
"icmpReplied": true,
"fromIp": "82.26.116.36",
"country": "AU",
"lat": -33.86785,
"lon": 151.20732,
"org": "AS29802 HIVELOCITY, Inc.",
"postal": "1001",
"timezone": "Australia/Sydney",
"measuredAt": "2026-08-03T06:25:50.000Z"
}
]
},
{
"identity": "BXAxLMMMUNYfC1z166VjWHR3WjTmqzLxB837o5ghmRtH",
"epoch": 1011,
"slot": "436946065",
"stakeWeight": 819031.365477103,
"ipAddress": "202.8.10.164",
"gossipPort": 8000,
"tpuPort": null,
"tpuQuicPort": 5010,
"rpcAddress": null,
"version": "4.1.2",
"featureSet": "3345198602",
"leaderRegion": "dublin",
"leaderCity": "Crumlin",
"leaderCountry": "IE",
"leaderLat": 53.32154,
"leaderLon": -6.31439,
"leaderOrg": "AS20326 TeraSwitch Networks Inc.",
"leaderTimezone": "Europe/Dublin",
"pingToLeaders": [
{
"city": "Frankfurt am Main",
"region": "frankfurt",
"ms": 18.438,
"icmpReplied": true,
"fromIp": "185.191.118.11",
"country": "DE",
"lat": 50.139,
"lon": 8.6725,
"org": "AS213896 UAB Cherry Servers",
"postal": "60320",
"timezone": "Europe/Berlin",
"measuredAt": "2026-08-03T06:20:48.000Z"
}
]
},
{
"identity": "BXAxLMMMUNYfC1z166VjWHR3WjTmqzLxB837o5ghmRtH",
"epoch": 1011,
"slot": "436946066",
"stakeWeight": 819031.365477103,
"ipAddress": "202.8.10.164",
"gossipPort": 8000,
"tpuPort": null,
"tpuQuicPort": 5010,
"rpcAddress": null,
"version": "4.1.2",
"featureSet": "3345198602",
"leaderRegion": "dublin",
"leaderCity": "Crumlin",
"leaderCountry": "IE",
"leaderLat": 53.32154,
"leaderLon": -6.31439,
"leaderOrg": "AS20326 TeraSwitch Networks Inc.",
"leaderTimezone": "Europe/Dublin",
"pingToLeaders": [
{
"city": "Frankfurt am Main",
"region": "frankfurt",
"ms": 18.438,
"icmpReplied": true,
"fromIp": "185.191.118.11",
"country": "DE",
"lat": 50.139,
"lon": 8.6725,
"org": "AS213896 UAB Cherry Servers",
"postal": "60320",
"timezone": "Europe/Berlin",
"measuredAt": "2026-08-03T06:20:48.000Z"
}
]
}
]
}
}Campos de respuesta
| Campo | Significado |
|---|---|
result.success | Si la solicitud tuvo éxito. |
result.message | Mensaje de estado legible por humanos. |
result.total | Número de registros de slots de líder devuelto. La API actualmente devuelve 100 registros por solicitud. |
result.data[] | Registros de slots de líder ordenados a partir del slot solicitado. |
identity | Clave pública de identidad del validador líder. |
epoch | época de Solana que contiene el slot. |
slot | Número de slot. Es devuelto como una cadena, por lo que los clientes no deben asumir un número JSON. |
stakeWeight | Stake delegado al validador líder. Un stake más alto generalmente significa que el validador aparece en los calendarios de líderes más a menudo con el tiempo. |
leaderRegion | etiqueta normalizada de la región operativa utilizada para el enrutamiento y el análisis. Puede agrupar ciudades cercanas o ubicaciones de proveedores. |
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezone | Geolocalización estimada y organización de red para el validador del líder. |
pingToLeaders[] | Referencia de latencia de las regiones de observación de ERPC (frankfurt, amsterdam, ny, london, tokyo, singapore, sydney) al líder, incluyendo región, ciudad, ms, icmpReplied, fromIp, país, coordenadas, organización ASN, código postal, zona horaria y measuredAt. |
pingToLeaders[].icmpReplied | Si el validador respondió a la medición ICMP. Cuando es false, ms contiene un valor centinela almacenado en lugar de una latencia y no debe interpretarse como tal. Trata false como desconocido, no como lejano ni inservible: algunos validadores que no responden a ICMP siguen atendiendo TPU y QUIC con normalidad, y filtrarlos puede dejar fuera de tu ruta de envío a un líder sano. Comprueba icmpReplied antes de tomar ms como una latencia: ese campo decide si la cifra es utilizable, no a qué validador enviar. |
pingToLeaders[].measuredAt | Cuándo se midió la latencia por última vez, en ISO-8601 UTC. Úsalo para juzgar hasta qué punto una lectura es actual. Cada región de observación mide de forma independiente, por lo que las entradas de un mismo array pingToLeaders pueden llevar valores de measuredAt distintos. Un measuredAt más antiguo no indica una lectura rota: cuando una ejecución de medición no llega a completarse, el valor almacenado se mantiene en lugar de sobrescribirse con uno inventado, de modo que sigue reflejando una medición real del pasado. |
Visualización de slots de líder
La misma respuesta se puede ver como un cronograma operativo de slot por slot. Este ejemplo utiliza Frankfurt como punto de observación.
| Ventana de slot | Región del líder | Ubicación del líder | Peso de stake | Ping de Frankfurt | Lectura operativa |
|---|---|---|---|---|---|
| 436946064-436946066 | dublin | Crumlin, IE | 819,031.37 | 18.438 ms | Un líder concentra tres slots consecutivos. Frankfurt lo atiende a 18.4 ms, pero London (11.0 ms) y Amsterdam (12.8 ms) están más cerca — para esta ventana, la capacidad de London o Amsterdam supera a la de Frankfurt. |
| 436946068 | frankfurt | Frankfurt am Main, DE | 166,438.25 | 0.062 ms | Líder de la misma área metropolitana. Los recursos de Frankfurt están muy favorecidos para este slot. |
Esta vista es útil porque Solana es global. A diferencia de HFT tradicional, donde el objetivo principal es a menudo ubicarse cerca de un matching engine, los líderes de Solana giran a través de validadores alrededor del mundo. La región más rápida cambia a medida que el calendario de líderes cambia.
Sitio web de datos de red Solana
Para una vista pública de la distribución de validadores y de la red, use Validators Solutions. Úsalo para entender la red más amplia de Solana, luego utilizar
getLeaderSlots para la programación a nivel de slot, peso de stake, ubicación de validador, y datos de latencia medidos necesarios para el enrutamiento operativo.Uso de tokens
La API recupera 100 registros de slot de líder a partir del slot especificado. Cada solicitud consume 420 tokens.
Si necesitas una entrada por validador para toda la época en lugar de una entrada por slot, utiliza la Validators Information API, que se factura según el número de validadores que devuelve.
Por qué importa la información de slots de líder
- Si el líder es geográficamente distante o lejos por ruta de red, la entrega directa de transacciones se vuelve ineficiente.
- El peso de stake ayuda a estimar con qué frecuencia un validador puede aparecer en el horario del líder con el tiempo.
- Durante las transiciones mundiales de líderes, las estrategias de cambio regionales son más importantes que una sola latencia media mundial.
- Combinar el cronograma de slot, el peso de stake, la ubicación del líder y los datos de ping medidos permite un enrutamiento y ubicación de validadores optimizados.
Antecedentes
Una sola época de Solana consiste en aproximadamente 432.000 slots. La recopilación continua de los calendarios de líderes, metadatos de validadores, geolocalización y mediciones de latencia requiere una pipeline de datos dedicada. ERPC mantiene estos datos y los expone como un mapa de slots de líder inmediatamente utilizable a través de la interfaz RPC.
Casos de uso estratégico
- Optimización de detección: priorizar ventanas líderes cercanas y de baja latencia.
- Despliegue multirregión: desplegar en FRA, AMS, NY, TY, SGP y otras regiones estratégicas para reducir los huecos de transición.
- Planificación de staking: use
stakeWeightpara entender qué líderes importan más frecuentemente sobre ventanas más largas. - Visualización y análisis: monitorear relaciones líderes, distribución de stake y distribución de latencia por región.
Disponibilidad
getLeaderSlots está disponible para todos los usuarios de ERPC. Los tokens de API y los créditos de uso se pueden emitir o verificar en ERPC Dashboard.- ERPC Dashboard: ERPC Dashboard
Tasa de éxito de transacción y endpoint SWQoS
Para mejorar aún más la tasa de éxito de transacción y la velocidad de ejecución, recomendamos utilizar el SWQoS Endpoint. SWQoS (Stake-Weighted Quality of Service) prioriza a los validadores con conexiones de stake. Los líderes asignan aproximadamente el 80% del ancho de banda al tráfico prioritario y el 20% al tráfico no prioritario, con el carril prioritario que ofrece aproximadamente 5x de rendimiento. Esta programación se lleva a cabo antes de la evaluación de la cuota de prioridad, lo que significa entrar en el carril de prioridad SWQoS es el requisito previo para el verdadero rendimiento de baja latencia.







