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": [416462031]
}{
"jsonrpc": "2.0",
"id": 1,
"method": "getLeaderSlots",
"params": [416462031]
}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":[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]
}'Resposta de Exemplo (JSON)
A resposta atual envolve registros em
result.data[]. result.total mostra quantos registos foram devolvidos.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 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 para o líder, incluindo região, cidade, ms, deIp, país, coordenadas, organização ASN, código postal e fuso horário. |
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 |
|---|---|---|---|---|---|
| 416462031 | estocolme | Šiauliai, LT | 2,502,391.14 | 27.742 ms | Latência europeia razoável, mas não o mesmo metro. |
| 416462032-416462035 | amsterdam | Amsterdã, NL | 280,745.69 | 16.835 ms | Janela europeia de baixa latência. Os recursos de Amsterdã podem ser úteis. |
| 416462036 | frankfurt | Frankfurt am Main, DE | 12,254,651.76 | 0.974 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.
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.
