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
  • stakeWeight para 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>
Especificar o número do espaço inicial em params.
json
{
  "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]
  }'

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"
          }
        ]
      }
    ]
  }
}

Campos de resposta

CampoSignificado
result.successSe o pedido foi bem sucedido.
result.messageMensagem de estado legível pelo ser humano.
result.totalNú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.
identityChave pública da identidade do líder validador.
epochSolana epoch contendo o slot.
slotNúmero de slot. É retornado como uma string, então os clientes não devem assumir um número JSON.
stakeWeightStake 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.
leaderRegionRó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, leaderTimezoneGeolocalizaçã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[].icmpRepliedSe 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[].measuredAtQuando 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 slotRegião LeaderLocalização do líderStake weightPing de FrankfurtLeitura operacional
436946064-436946066dublinCrumlin, IE819,031.3718.438 msUm 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.
436946068frankfurtFrankfurt am Main, DE166,438.250.062 msLí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

Validators Solutions - Solana network data
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 stakeWeight para 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.

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.