Documentação da API da Informação da Leader Slot
O que é a API de Informação de Leader Slot (getLeaderSlots)?
getLeaderSlots é um método de RPC de Solana estendida que retorna os próximos registros de slot líder com identidade do validador, stake weight, metadados de endpoint de rede, localização estimada do líder e medições de latência de referência. Se você segurar os créditos de uso do ERPC (tokens API), você pode chamá-lo no mesmo formato que um método RPC padrão Solana.Esta API fornece:
- Programa de validação do líder a partir da ranhura pedida
stakeWeightpara cada validador líder- Estimativa da região líder, cidade, país, coordenadas, organização ASN e fuso horário
- Medições de ping de referência de regiões de observação ERPC através
pingToLeaders
Exemplo de Endpoint e Request Body
text
https://edge.erpc.global?api-key=<YOUR_API_KEY>https://edge.erpc.global?api-key=<YOUR_API_KEY>Especificar o número do espaço inicial em
params.json
{
"jsonrpc": "2.0",
"id": 1,
"method": "getLeaderSlots",
"params": [436946064]
}{
"jsonrpc": "2.0",
"id": 1,
"method": "getLeaderSlots",
"params": [436946064]
}Exemplo (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]
}'Resposta de Exemplo (JSON)
A resposta atual envolve registros em
result.data[]. result.total mostra quantos registos foram devolvidos. O array data[] abaixo está abreviado para três dos 100 registos desta solicitação. A primeira entrada mostra o pingToLeaders de todas as sete regiões de observação do ERPC; as demais entradas foram reduzidas a uma região para facilitar a leitura.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 resposta
| Campo | Significado |
|---|---|
result.success | Se o pedido foi bem sucedido. |
result.message | Mensagem de estado legível pelo ser humano. |
result.total | Número de registros de slots de líder retornados. A API retorna atualmente 100 registros por solicitação. |
result.data[] | Registros de slot do líder ordenado a partir do slot solicitado. |
identity | Chave pública da identidade do líder validador. |
epoch | Solana epoch contendo o slot. |
slot | Número de slot. É retornado como uma string, então os clientes não devem assumir um número JSON. |
stakeWeight | Stake delegada ao líder de validação. Maior participação geralmente significa que o validador aparece em agendas de lídereses mais frequentemente ao longo do tempo. |
leaderRegion | Rótulo de região operacional normalizado usado para roteamento e análise. Pode agrupar cidades próximas ou locais de provedor. |
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezone | Geolocalização estimada e organização de rede para o líder validador. |
pingToLeaders[] | Latência de referência das regiões de observação do ERPC (frankfurt, amsterdam, ny, london, tokyo, singapore, sydney) para o líder, incluindo região, cidade, ms, icmpReplied, fromIp, país, coordenadas, organização ASN, código postal, fuso horário e measuredAt. |
pingToLeaders[].icmpReplied | Se o validador respondeu à medição ICMP. Quando é false, ms contém um valor sentinela armazenado em vez de uma latência e não deve ser lido como tal. Trate false como desconhecido, e não como distante ou inutilizável: alguns validadores que não respondem a ICMP continuam a servir TPU e QUIC normalmente, e filtrá-los pode retirar um líder saudável do seu caminho de envio. Verifique icmpReplied antes de tomar ms como uma latência: este campo decide se o número é utilizável, não para qual validador enviar. |
pingToLeaders[].measuredAt | Quando a latência foi medida pela última vez, em ISO-8601 UTC. Use-o para julgar o quanto uma leitura é atual. Cada região de observação mede de forma independente, por isso entradas do mesmo array pingToLeaders podem ter valores de measuredAt diferentes. Um measuredAt mais antigo não é uma leitura defeituosa: quando uma execução de medição não chega ao fim, o valor armazenado é mantido em vez de ser substituído por um valor inventado, pelo que continua a refletir uma medição realmente feita no passado. |
Visualizando Slots de Líder
A mesma resposta pode ser vista como uma linha do tempo operacional slot-by-slot. Este exemplo utiliza Frankfurt como ponto de observação.
| Janela de slot | Região Leader | Localização do líder | Stake weight | Ping de Frankfurt | Leitura operacional |
|---|---|---|---|---|---|
| 436946064-436946066 | dublin | Crumlin, IE | 819,031.37 | 18.438 ms | Um líder detém três slots consecutivos. Frankfurt o atende a 18.4 ms, mas London (11.0 ms) e Amsterdã (12.8 ms) estão mais próximas — para esta janela, capacidade em London ou Amsterdã supera Frankfurt. |
| 436946068 | frankfurt | Frankfurt am Main, DE | 166,438.25 | 0.062 ms | Líder da mesma região. Os recursos de Frankfurt são fortemente favorecidos para este slot. |
Esta visão é útil porque Solana é global. Ao contrário do HFT tradicional, onde o objetivo principal é frequentemente sentar perto de um motor correspondente, os líderes Solana giram através de validadores em todo o mundo. A região mais rápida muda à medida que o calendário líder muda.
Página Web de Dados da Rede Solana
Para uma visão pública do validador e distribuição de rede, use Validators Solutions. Use-o para entender a rede Solana mais ampla, em seguida, use
getLeaderSlots para o cronograma de nível de slot, stake weight, localização do validador e dados de latência medidos necessários para o roteamento operacional.Uso de tokens
A API recupera 100 registros de slot líder a partir do slot especificado. Cada pedido consome 420 tokens.
Se você precisa de uma entrada por validador para toda a época em vez de uma entrada por slot, use a Validators Information API, que é cobrada pelo número de validadores que retorna.
Por que a informação do líder da Slot importa
- Se o líder estiver geograficamente ou distante do caminho da rede, a entrega direta da transação torna-se ineficiente.
- O peso do stake ajuda a estimar quantas vezes um validador provavelmente aparecerá no cronograma líder ao longo do tempo.
- Durante as transições de líderes globais, as estratégias regionais de comutação são mais importantes do que uma única latência média global.
- Combinando programação de slot, stake weight, localização líder, e dados de ping medidos permite roteamento otimizado e colocação do validador.
Contexto
Uma única época Solana consiste em aproximadamente 432.000 slots. Coletar continuamente agendas de lídereses, metadados de validador, medições de geolocalização e latência requer um pipeline de dados dedicado. O ERPC mantém esses dados e os expõe como um mapa de slot líder imediatamente utilizável através da interface RPC.
Casos de Uso Estratégico
- Otimização de detecção: priorize janelas próximas, líderes de baixa latência.
- Implantação de várias regiões: implantação em FRA, AMS, NY, TY, SGP e outras regiões estratégicas para reduzir as lacunas de transição.
- Planeamento consciente da stake: uso
stakeWeightpara entender quais líderes importam mais frequentemente em janelas mais longas. - Visualização e análise: monitore razões líderes, distribuição de estacas e distribuição de latência por região.
Disponibilidade
getLeaderSlots está disponível para todos os usuários do ERPC. Tokens API e créditos de uso podem ser emitidos ou verificados no Painel Web ERPC.- Painel Web ERPC: Painel Web ERPC
Taxa de sucesso da transação e endpoint da SWQoS
Para melhorar ainda mais a taxa de sucesso da transação e a velocidade de execução, recomendamos usar o SWQoS Endpoint. SWQoS (Stake-pondered Quality of Service) prioriza validadores com conexões de stake. Os líderes atribuem aproximadamente 80% da largura de banda ao tráfego prioritário e 20% ao tráfego não prioritário, com a faixa prioritária oferecendo cerca de 5x rendimento. Este escalonamento ocorre antes da avaliação das taxas de prioridade, o que significa que entrar na faixa de prioridade SWQoS é o pré-requisito para o verdadeiro desempenho de baixa latência.







