Validator Bilgileri API Dokümantasyonu

Validator Bilgileri (getValidatorsInformation) API Nedir?

getValidatorsInformation, geçerli epoch'ta en az bir slotun liderliğini yapan validator'ları; stake ağırlığı, ağ endpoint metadata'sı, tahmini lider konumu ve referans gecikme ölçümleri validator başına tek bir satırda toplanmış olarak döndüren genişletilmiş bir Solana RPC metodudur. Ağdaki her düğümün listesini döndürmez ve RPC düğümlerini döndürmez. ERPC kullanım kredilerine (API token'larına) sahipseniz, bunu standart bir Solana RPC metoduyla aynı formatta çağırabilirsiniz.
Bu API şunları sağlar:
  • Geçerli epoch'ta slot liderliği yapan her validator için bir satır; slotCount kaç slotun liderliğini yaptığını gösterir — slot başına bir satır döndüren getLeaderSlots metodunun aksine
  • Her lider validator için stakeWeight
  • Tahmini lider bölgesi, şehir, ülke, koordinatlar, ASN organizasyonu ve saat dilimi
  • pingToLeaders aracılığıyla ERPC gözlem bölgelerinden referans ping ölçümleri

Endpoint ve İstek Gövdesi Örneği

text
https://edge.erpc.global?api-key=<YOUR_API_KEY>
Tüm parametreler isteğe bağlıdır; params alanını atlamak veya params: [] göndermek, geçerli epoch'ta slot liderliği yapan her validator'ı döndürür.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getValidatorsInformation",
  "params": []
}
Sonucu daraltmak için limit, country ve region içeren bir nesne gönderin. Bu örnek, Almanya'daki en fazla 5 validator'ı ister ve yukarıdaki filtresiz istekten daha az maliyetlidir.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getValidatorsInformation",
  "params": [{ "limit": 5, "country": "DE" }]
}
Üç parametrenin tümü isteğe bağlıdır. country, ISO 3166-1 alpha-2 kodları kullanılarak leaderCountry ile büyük/küçük harf duyarsız biçimde eşleştirilir. region, leaderRegion ile tam olarak ve büyük/küçük harfe duyarlı biçimde eşleştirilir — hedeflediğiniz validator'lar için geçerli değerleri öğrenmek üzere leaderRegion alanını filtresiz bir yanıttan okuyun. limit 1 ile 2000 arasında değer kabul eder ve epoch'taki gerçek validator sayısına indirilir; bu nedenle gerçek sayının üzerindeki bir limit asla hata vermez.

Örnek (HTTP)

bash
curl 'https://edge.erpc.global?api-key=<YOUR_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"getValidatorsInformation",
    "params":[]
  }'

Örnek Yanıt (JSON)

result.total, bu isteğin kaç validator döndürdüğünü gösterir. Aşağıdaki data[] dizisi, bu epoch'a ait 673 kaydın üçüne kısaltılmıştır. İlk kayıt, ERPC'nin yedi gözlem bölgesinin tümünden pingToLeaders verisini gösterir; kalan kayıtlar okunabilirlik için tek bir bölgeye indirilmiştir.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "success": true,
    "message": "Validator information retrieved successfully",
    "epoch": 1011,
    "total": 673,
    "totalValidators": 673,
    "data": [
      {
        "identity": "Fd7btgySsrjuo25CJCj7oE7VPMyezDhnx7pZkj2v69Nk",
        "gossipNodeId": 734,
        "slotCount": 16912,
        "stakeWeight": 16803592.923637684,
        "ipAddress": "141.95.45.24",
        "gossipPort": 8001,
        "tpuPort": null,
        "tpuQuicPort": 8022,
        "rpcAddress": null,
        "version": "4.1.1",
        "featureSet": "2220189554",
        "leaderRegion": "frankfurt",
        "leaderCity": "Frankfurt am Main",
        "leaderCountry": "DE",
        "leaderLat": 50.11552,
        "leaderLon": 8.68417,
        "leaderOrg": "AS16276 OVH SAS",
        "leaderTimezone": "Europe/Berlin",
        "pingToLeaders": [
          {
            "city": "Frankfurt am Main",
            "region": "frankfurt",
            "ms": 1.374,
            "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": "London",
            "region": "london",
            "ms": 16.174,
            "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": "Ebara",
            "region": "tokyo",
            "ms": 234.25,
            "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": "Amsterdam",
            "region": "amsterdam",
            "ms": 14.072,
            "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": "Newark",
            "region": "ny",
            "ms": 87.983,
            "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": "Singapore",
            "region": "singapore",
            "ms": 221.655,
            "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": "Sydney",
            "region": "sydney",
            "ms": 270.79,
            "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": "HEL1USMZKAL2odpNBj2oCjffnFGaYwmbGmyewGv1e2TU",
        "gossipNodeId": 678,
        "slotCount": 15656,
        "stakeWeight": 16025294.32908543,
        "ipAddress": "207.241.184.11",
        "gossipPort": 8001,
        "tpuPort": null,
        "tpuQuicPort": 8002,
        "rpcAddress": null,
        "version": "4.1.0-rc.1",
        "featureSet": "3345198602",
        "leaderRegion": "london",
        "leaderCity": "London",
        "leaderCountry": "GB",
        "leaderLat": 51.50853,
        "leaderLon": -0.12574,
        "leaderOrg": "AS399460 Helius",
        "leaderTimezone": "Europe/London",
        "pingToLeaders": [
          {
            "city": "Frankfurt am Main",
            "region": "frankfurt",
            "ms": 11.246,
            "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": "JUPiTERrZqgf1jUyR7dSkhMx4Kn2qJyekWsg3LT1h4b",
        "gossipNodeId": 273524,
        "slotCount": 12920,
        "stakeWeight": 12539698.447203109,
        "ipAddress": "88.216.36.133",
        "gossipPort": 8000,
        "tpuPort": null,
        "tpuQuicPort": 9007,
        "rpcAddress": null,
        "version": "4.2.0-rc.0",
        "featureSet": "4119855713",
        "leaderRegion": "frankfurt",
        "leaderCity": "Frankfurt am Main",
        "leaderCountry": "DE",
        "leaderLat": 50.139,
        "leaderLon": 8.6725,
        "leaderOrg": "AS213896 UAB \"Cherry Servers\"",
        "leaderTimezone": "Europe/Berlin",
        "pingToLeaders": [
          {
            "city": "Frankfurt am Main",
            "region": "frankfurt",
            "ms": 0.061,
            "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"
          }
        ]
      }
    ]
  }
}

Yanıt Alanları

AlanAnlamı
result.successİsteğin başarılı olup olmadığı.
result.messageİnsan tarafından okunabilir durum mesajı.
result.epochDöndürülen lider kümesinin ait olduğu epoch. Bu, lider programında bulunan en güncel epoch'tur.
result.totaldata içindeki validator sayısı. Çağrı bu miktar üzerinden ücretlendirilir.
result.totalValidatorscountry, region veya limit uygulanmadan önce o epoch'taki lider validator sayısı. Bir filtrenin kümeyi ne kadar daralttığını görmek için result.total ile karşılaştırın.
result.data[]Validator başına bir kayıt; önce slotCount değerine göre azalan, sonra identity değerine göre sıralanır; böylece bir limit, en çok slotun liderliğini yapan validator'ları döndürür.
identityValidator kimlik açık anahtarı.
gossipNodeIdBu validator'a bağlı gossip düğüm kaydının tanımlayıcısı. Bağlı bir gossip düğümü yoksa null olur; bu durumda konum, port ve ping alanları da boştur. Bağlı gossip düğümü olmayan validator'lar filtresiz bir istekte döndürülür, ancak country veya region filtresiyle eşleşemez.
slotCountBu validator'ın raporlanan epoch'ta liderliğini yaptığı slot sayısı. Her kayıt bir slotu değil, bir validator'ı kapsar.
stakeWeightValidator kimliğinin aktif stake miktarı, SOL cinsinden. Bağlı gossip düğümü olmayan validator'lar 0 bildirir.
ipAddress, gossipPort, tpuPort, tpuQuicPort, rpcAddressValidator için gossip ağı endpoint metadata'sı.
version, featureSetValidator tarafından bildirilen Solana istemci sürümü ve feature set.
leaderRegionYönlendirme ve analiz için kullanılan normalleştirilmiş operasyonel bölge etiketi. Yakındaki şehirleri veya sağlayıcı konumlarını gruplayabilir ve region istek parametresinin eşleştirdiği değer budur.
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezoneValidator için tahmini coğrafi konum ve ağ organizasyonu.
pingToLeaders[]Her ERPC gözlem bölgesinden (frankfurt, amsterdam, ny, london, tokyo, singapore, sydney) bu validator'a referans gecikme; bölge, şehir, ms, icmpReplied, fromIp, ülke, koordinatlar, ASN organizasyonu, posta kodu, saat dilimi ve measuredAt dahil.
pingToLeaders[].icmpRepliedValidator'ın ICMP ölçümünü yanıtlayıp yanıtlamadığı. false olduğunda ms, bir gecikme değil saklanan bir sentinel değer taşır ve gecikme olarak okunmamalıdır. false değerini uzak ya da kullanılamaz değil, bilinmiyor olarak değerlendirin: ICMP'ye yanıt vermeyen bazı validator'lar TPU ve QUIC'i sorunsuz sunmayı sürdürür ve bunları elemek, sağlıklı bir lideri gönderim yolunuzdan çıkarabilir. ms değerini gecikme olarak kullanmadan önce icmpReplied alanını kontrol edin: bu alan sayının kullanılabilir olup olmadığına karar verir, hangi validator'a göndereceğinize değil.
pingToLeaders[].measuredAtGecikmenin en son ne zaman ölçüldüğü, ISO-8601 UTC olarak. Bir okumanın ne kadar güncel olduğunu değerlendirmek için kullanın. Her gözlem bölgesi bağımsız ölçtüğü için aynı pingToLeaders dizisindeki kayıtlar farklı measuredAt değerleri taşıyabilir. Daha eski bir measuredAt, bozuk bir okuma anlamına gelmez: bir ölçüm turu tamamlanamadığında saklanan değer uydurma bir değerle üzerine yazılmaz, olduğu gibi bırakılır; dolayısıyla geçmişte gerçekten yapılmış bir ölçümü yansıtmayı sürdürür.

Validator Kapsamını Görselleştirme

Aynı yanıt, slot slot bir arama yerine epoch düzeyinde bir kapsama haritası olarak okunabilir. Bu örnek, gözlem noktası olarak Frankfurt'u kullanır.
Validator bölgesiKonumEpoch'taki slotlarStake ağırlığıFrankfurt'tan pingOperasyonel yorum
frankfurtFrankfurt am Main, DE16,91216,803,592.921.374 msSlot sayısına göre epoch'un en büyük lideri, aynı metropolde. Frankfurt kapasitesi bu validator'a yalnızca tek bir slot penceresinde değil, epoch boyunca hizmet eder.
londonLondon, GB15,65616,025,294.3311.246 msİkinci en büyük lider. Frankfurt bunu yeterli düzeyde sunar, ancak London kapasitesi bu yolu metropol içi gecikmeye yakın bir seviyeye indirir.
frankfurtFrankfurt am Main, DE12,92012,539,698.450.061 msEn üstteki kaydın yaklaşık dörtte üçü kadar slota sahip bir başka aynı metropol lideri. Aynı bölge kapasitesi bunu da aynı derecede iyi karşılar.
getLeaderSlots, sonraki slotların liderliğini hangi validator'ların yaptığını yanıtlar; bu nedenle bir işlemi şimdi yönlendirmeye uygundur. Bu metot ise epoch boyunca hangi validator'ların ve ne sıklıkta liderlik yaptığını yanıtlar; bu nedenle kapasitenin epoch için nerede konumlanması gerektiğine karar vermeye uygundur.

Solana Network Data Website

Validators Solutions - Solana ağ verileri
Ağ dağılımının kamuya açık görünümü için Validators Solutions kullanın, ardından validator başına slot sayıları, stake, konum ve ölçülen gecikme için getValidatorsInformation kullanın.

Token Kullanımı

Bu metot, döndürdüğü validator sayısı üzerinden 10'luk birimler hâlinde ücretlendirilir: her 10 validator 100 token tutar ve eksik bir birim tam birim sayılır. Bu nedenle 95 validator içeren bir yanıt 10 birim, yani 1,000 token olarak ücretlendirilir.
Ücret, istenen değil döndürülen üzerinden hesaplandığı için kümeyi country veya region ile daraltmak orantılı olarak daha az maliyetlidir ve hiçbir validator ile eşleşmeyen bir istek hiçbir ücret doğurmaz. Epoch'taki validator sayısının üzerindeki bir limit gerçek sayıya indirilir; böylece bir istek var olmayan validator'lar için asla ödeme yapmaz.
Lider kümesinin büyüklüğü epoch'tan epoch'a değişir. Yukarıda gösterilen epoch'ta 673 validator idi; bu da tam bir okumayı kabaca 6,800 token yapar.

Validator Bilgileri Neden Önemlidir?

  • Validator başına tek bir satır, istemci tarafında yüz binlerce slot satırını toplamaya gerek kalmadan bu epoch'ta kimin ve ne kadar liderlik yaptığını yanıtlar.
  • slotCount, bir validator'ın bu epoch'ta ne sıklıkta lider olduğunu gösterir; bu nedenle yüksek slotCount değerine sahip bir validator'a giden kısa bir yol defalarca kazanç sağlar.
  • country ve region, epoch'un lider kapasitesinin gerçekte nerede bulunduğunu gösterir.
  • measuredAt ile birlikte değerlendirilen ping, yavaş bir yolu eskimiş bir okumadan ayırır.

Arka Plan

Tek bir Solana epoch'u yaklaşık 432,000 slottan oluşur. Bu slotlara ait lider atamaları validator kimliğine göre gruplandığında, kabaca 670 validator satırına iner. ERPC lider programını, validator metadata'sını, coğrafi konumu ve gecikme toplamayı sürdürür ve sonucu RPC arayüzü üzerinden sunar.

Stratejik Kullanım Senaryoları

  • Epoch düzeyinde kapasite planlaması: altyapıyı kayan bir slot penceresine göre değil, geçerli epoch'ta liderlik yapan validator kümesinin tamamına göre boyutlandırın.
  • Bölgesel kısa listeler: hedef bir konumda slot liderliği yapan validator'ları çekmek için country ve region kullanın.
  • Slot sayısına ve stake'e duyarlı önceliklendirme: kısa liste içindeki validator'ları sıralamak için slotCount ve stakeWeight değerlerini birlikte kullanın.
  • Epoch'lar arası izleme: lider coğrafyasının nasıl kaydığını görmek için epoch'lar arasında leaderRegion dağılımını karşılaştırın.

Kullanılabilirlik

getValidatorsInformation tüm ERPC kullanıcıları için kullanılabilir. API token'ları ve kullanım kredileri, ERPC Web Dashboard üzerinde verilebilir veya doğrulanabilir.

İşlem Başarı Oranı ve SWQoS Endpoint

İşlem başarı oranını ve yürütme hızını daha da artırmak için SWQoS Endpoint kullanmanızı öneririz. SWQoS (Stake-weighted Quality of Service), stake bağlantıları olan validator'lara öncelik verir. Liderler, bant genişliğinin yaklaşık %80'ini öncelikli trafiğe ve %20'sini öncelikli olmayan trafiğe ayırır; öncelikli şerit yaklaşık 5 kat verim sunar. Bu zamanlama, Priority-fee değerlendirmesinden önce gerçekleşir; bu da SWQoS öncelikli şeridine girmenin, gerçek düşük gecikmeli performansın ön koşulu olduğu anlamına gelir.