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": [416462031]
}{
"jsonrpc": "2.0",
"id": 1,
"method": "getLeaderSlots",
"params": [416462031]
}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":[416462031]
}'curl 'https://edge.erpc.global?api-key=<YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc":"2.0",
"id":1,
"method":"getLeaderSlots",
"params":[416462031]
}'Respuesta de ejemplo (JSON)
La respuesta actual envuelve los registros en
result.data[]. result.total muestra cuántos registros fueron devueltos.json
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true,
"message": "Leader schedule records retrieved successfully",
"total": 100,
"data": [
{
"identity": "BSVckjdW2f8kcXPGcrPPtV9kUDBZ8w8PjrrGVnxgEdwq",
"epoch": 964,
"slot": "416462031",
"stakeWeight": 2502391.138720913,
"ipAddress": "5.199.172.175",
"gossipPort": 12000,
"tpuPort": 12003,
"tpuQuicPort": 12009,
"rpcAddress": null,
"version": "3.1.13",
"featureSet": "534737035",
"leaderRegion": "stockholm",
"leaderCity": "Šiauliai",
"leaderCountry": "LT",
"leaderLat": 55.93333,
"leaderLon": 23.31667,
"leaderOrg": "AS16125 UAB Cherry Servers",
"leaderTimezone": "Europe/Vilnius",
"pingToLeaders": [
{
"city": "Frankfurt am Main",
"region": "frankfurt",
"ms": 27.742,
"fromIp": "185.191.118.11",
"country": "DE",
"lat": 50.139,
"lon": 8.6725,
"org": "AS213896 UAB Cherry Servers",
"postal": "60320",
"timezone": "Europe/Berlin"
}
]
},
{
"identity": "2oHUYyW2PU9VJh4XBs5TbGgzdernunvGqyKth3kxW4ns",
"epoch": 964,
"slot": "416462032",
"stakeWeight": 280745.689124988,
"ipAddress": "64.130.43.229",
"gossipPort": 8001,
"tpuPort": 5004,
"tpuQuicPort": 5010,
"rpcAddress": null,
"version": "3.1.13",
"featureSet": "534737035",
"leaderRegion": "amsterdam",
"leaderCity": "Amsterdam",
"leaderCountry": "NL",
"leaderLat": 52.37403,
"leaderLon": 4.88969,
"leaderOrg": "AS20326 TeraSwitch Networks Inc.",
"leaderTimezone": "Europe/Amsterdam",
"pingToLeaders": [
{
"city": "Frankfurt am Main",
"region": "frankfurt",
"ms": 16.835,
"fromIp": "185.191.118.11",
"country": "DE",
"lat": 50.139,
"lon": 8.6725,
"org": "AS213896 UAB Cherry Servers",
"postal": "60320",
"timezone": "Europe/Berlin"
}
]
},
{
"identity": "JupmVLmA8RoyTUbTMMuTtoPWHEiNQobxgTeGTrPNkzT",
"epoch": 964,
"slot": "416462036",
"stakeWeight": 12254651.761860535,
"ipAddress": "64.130.41.46",
"gossipPort": 8000,
"tpuPort": 9001,
"tpuQuicPort": 9007,
"rpcAddress": null,
"version": "3.1.13",
"featureSet": "534737035",
"leaderRegion": "frankfurt",
"leaderCity": "Frankfurt am Main",
"leaderCountry": "DE",
"leaderLat": 50.1924,
"leaderLon": 8.6753,
"leaderOrg": "AS20326 TeraSwitch Networks Inc.",
"leaderTimezone": "Europe/Berlin",
"pingToLeaders": [
{
"city": "Frankfurt am Main",
"region": "frankfurt",
"ms": 0.974,
"fromIp": "185.191.118.11",
"country": "DE",
"lat": 50.139,
"lon": 8.6725,
"org": "AS213896 UAB Cherry Servers",
"postal": "60320",
"timezone": "Europe/Berlin"
}
]
}
]
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true,
"message": "Leader schedule records retrieved successfully",
"total": 100,
"data": [
{
"identity": "BSVckjdW2f8kcXPGcrPPtV9kUDBZ8w8PjrrGVnxgEdwq",
"epoch": 964,
"slot": "416462031",
"stakeWeight": 2502391.138720913,
"ipAddress": "5.199.172.175",
"gossipPort": 12000,
"tpuPort": 12003,
"tpuQuicPort": 12009,
"rpcAddress": null,
"version": "3.1.13",
"featureSet": "534737035",
"leaderRegion": "stockholm",
"leaderCity": "Šiauliai",
"leaderCountry": "LT",
"leaderLat": 55.93333,
"leaderLon": 23.31667,
"leaderOrg": "AS16125 UAB Cherry Servers",
"leaderTimezone": "Europe/Vilnius",
"pingToLeaders": [
{
"city": "Frankfurt am Main",
"region": "frankfurt",
"ms": 27.742,
"fromIp": "185.191.118.11",
"country": "DE",
"lat": 50.139,
"lon": 8.6725,
"org": "AS213896 UAB Cherry Servers",
"postal": "60320",
"timezone": "Europe/Berlin"
}
]
},
{
"identity": "2oHUYyW2PU9VJh4XBs5TbGgzdernunvGqyKth3kxW4ns",
"epoch": 964,
"slot": "416462032",
"stakeWeight": 280745.689124988,
"ipAddress": "64.130.43.229",
"gossipPort": 8001,
"tpuPort": 5004,
"tpuQuicPort": 5010,
"rpcAddress": null,
"version": "3.1.13",
"featureSet": "534737035",
"leaderRegion": "amsterdam",
"leaderCity": "Amsterdam",
"leaderCountry": "NL",
"leaderLat": 52.37403,
"leaderLon": 4.88969,
"leaderOrg": "AS20326 TeraSwitch Networks Inc.",
"leaderTimezone": "Europe/Amsterdam",
"pingToLeaders": [
{
"city": "Frankfurt am Main",
"region": "frankfurt",
"ms": 16.835,
"fromIp": "185.191.118.11",
"country": "DE",
"lat": 50.139,
"lon": 8.6725,
"org": "AS213896 UAB Cherry Servers",
"postal": "60320",
"timezone": "Europe/Berlin"
}
]
},
{
"identity": "JupmVLmA8RoyTUbTMMuTtoPWHEiNQobxgTeGTrPNkzT",
"epoch": 964,
"slot": "416462036",
"stakeWeight": 12254651.761860535,
"ipAddress": "64.130.41.46",
"gossipPort": 8000,
"tpuPort": 9001,
"tpuQuicPort": 9007,
"rpcAddress": null,
"version": "3.1.13",
"featureSet": "534737035",
"leaderRegion": "frankfurt",
"leaderCity": "Frankfurt am Main",
"leaderCountry": "DE",
"leaderLat": 50.1924,
"leaderLon": 8.6753,
"leaderOrg": "AS20326 TeraSwitch Networks Inc.",
"leaderTimezone": "Europe/Berlin",
"pingToLeaders": [
{
"city": "Frankfurt am Main",
"region": "frankfurt",
"ms": 0.974,
"fromIp": "185.191.118.11",
"country": "DE",
"lat": 50.139,
"lon": 8.6725,
"org": "AS213896 UAB Cherry Servers",
"postal": "60320",
"timezone": "Europe/Berlin"
}
]
}
]
}
}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 al líder, incluyendo región, ciudad, ms, fromIp, país, coordenadas, organización ASN, código postal y zona horaria. |
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 |
|---|---|---|---|---|---|
| 416462031 | Stockholm | Šiauliai, LT | 2,502,391.14 | 27.742 ms | Latencia europea razonable, pero no la misma área metropolitana. |
| 416462032-416462035 | amsterdam | Amsterdam, NL | 280,745.69 | 16.835 ms | Ventana europea de baja latencia. Los recursos de Amsterdam pueden ser útiles. |
| 416462036 | Frankfurt | Frankfurt am Main, DE | 12,254,651.76 | 0.974 ms | Líder de la misma región. Los recursos de Frankfurt están muy favorecidos por 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.
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.
