Dokumentasi API Informasi Validator

Apa itu Validators Information (getValidatorsInformation) API?

getValidatorsInformation adalah metode Solana RPC yang diperluas dan mengembalikan validator yang memimpin setidaknya satu slot pada epoch berjalan, dengan bobot stake, metadata endpoint jaringan, perkiraan lokasi leader, dan pengukuran latensi referensi yang dirangkum menjadi satu baris per validator. Metode ini tidak mengembalikan daftar setiap node di jaringan, dan tidak mengembalikan node RPC. Jika Anda memiliki kredit penggunaan ERPC (API token), Anda dapat memanggilnya dengan format yang sama seperti metode Solana RPC standar.
API ini menyediakan:
  • Satu baris per validator yang memimpin slot pada epoch berjalan, dengan slotCount yang menunjukkan berapa banyak slot yang dipimpinnya — berbeda dengan getLeaderSlots, yang mengembalikan satu baris per slot
  • stakeWeight untuk setiap leader validator
  • Perkiraan wilayah leader, kota, negara, koordinat, organisasi ASN, dan zona waktu
  • Pengukuran ping referensi dari wilayah observasi ERPC melalui pingToLeaders

Contoh Endpoint dan Request Body

text
https://edge.erpc.global?api-key=<YOUR_API_KEY>
Semua parameter bersifat opsional; menghilangkan params, atau mengirim params: [], mengembalikan setiap validator yang memimpin slot pada epoch berjalan.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getValidatorsInformation",
  "params": []
}
Untuk mempersempit hasil, kirim sebuah objek berisi limit, country, dan region. Contoh ini meminta hingga 5 validator di Jerman, yang juga berbiaya lebih rendah daripada permintaan tanpa filter di atas.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getValidatorsInformation",
  "params": [{ "limit": 5, "country": "DE" }]
}
Ketiga parameter bersifat opsional. country dicocokkan dengan leaderCountry menggunakan kode ISO 3166-1 alpha-2 dan tidak membedakan huruf besar-kecil. region dicocokkan dengan leaderRegion secara persis dan membedakan huruf besar-kecil — baca leaderRegion dari respons tanpa filter untuk mengetahui nilai yang valid bagi validator yang Anda tuju. limit menerima 1 hingga 2000 dan disesuaikan ke jumlah validator yang sebenarnya ada pada epoch tersebut, sehingga limit di atas jumlah sebenarnya tidak pernah menimbulkan error.

Contoh (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":[]
  }'

Contoh Respons (JSON)

result.total menunjukkan berapa banyak validator yang dikembalikan oleh permintaan ini. Array data[] di bawah ini dipersingkat menjadi tiga dari 670 entri pada epoch ini, dan pingToLeaders setiap entri dipangkas menjadi satu wilayah observasi agar mudah dibaca.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "success": true,
    "message": "Validator information retrieved successfully",
    "epoch": 1010,
    "total": 670,
    "totalValidators": 670,
    "data": [
      {
        "identity": "JupmVLmA8RoyTUbTMMuTtoPWHEiNQobxgTeGTrPNkzT",
        "gossipNodeId": 2233,
        "slotCount": 13232,
        "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,
            "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-01T06:02:18.000Z"
          }
        ]
      },
      {
        "identity": "BSVckjdW2f8kcXPGcrPPtV9kUDBZ8w8PjrrGVnxgEdwq",
        "gossipNodeId": 1487,
        "slotCount": 2704,
        "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,
            "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-01T06:02:53.000Z"
          }
        ]
      },
      {
        "identity": "2oHUYyW2PU9VJh4XBs5TbGgzdernunvGqyKth3kxW4ns",
        "gossipNodeId": 902,
        "slotCount": 304,
        "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,
            "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-01T06:03:07.000Z"
          }
        ]
      }
    ]
  }
}

Kolom Respons

RuasArtinya
result.successApakah permintaan berhasil.
result.messagePesan status yang mudah dibaca.
result.epochEpoch tempat kumpulan leader yang dikembalikan berasal. Ini adalah epoch terbaru yang ada dalam leader schedule.
result.totalJumlah validator dalam data. Inilah jumlah yang menjadi dasar penagihan panggilan ini.
result.totalValidatorsJumlah leader validator pada epoch tersebut sebelum country, region, atau limit diterapkan. Bandingkan dengan result.total untuk melihat seberapa jauh sebuah filter mempersempit hasilnya.
result.data[]Satu entri per validator, diurutkan menurun berdasarkan slotCount lalu berdasarkan identity, sehingga limit mengembalikan validator yang memimpin paling banyak slot.
identityKunci publik identitas validator.
gossipNodeIdPengenal catatan gossip node yang tertaut ke validator ini. Bernilai null bila tidak ada gossip node yang tertaut, dan dalam kasus itu ruas lokasi, port, dan ping juga kosong. Validator tanpa gossip node yang tertaut tetap dikembalikan pada permintaan tanpa filter, tetapi tidak dapat memenuhi filter country maupun region.
slotCountJumlah slot yang dipimpin validator ini pada epoch yang dilaporkan. Setiap entri mencakup satu validator, bukan satu slot.
stakeWeightStake aktif dari identitas validator, dalam SOL. Validator tanpa gossip node yang tertaut melaporkan 0.
ipAddress, gossipPort, tpuPort, tpuQuicPort, rpcAddressMetadata endpoint jaringan gossip untuk validator.
version, featureSetVersi klien Solana dan feature set yang dilaporkan validator.
leaderRegionLabel wilayah operasional ternormalisasi yang dipakai untuk routing dan analisis. Label ini dapat mengelompokkan kota atau lokasi penyedia yang berdekatan, dan inilah nilai yang dicocokkan oleh parameter permintaan region.
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezonePerkiraan geolokasi dan organisasi jaringan untuk validator.
pingToLeaders[]Latensi referensi ke validator ini dari setiap wilayah observasi ERPC, mencakup wilayah, kota, ms, icmpReplied, fromIp, negara, koordinat, organisasi ASN, kode pos, zona waktu, dan measuredAt.
pingToLeaders[].icmpRepliedApakah validator membalas pengukuran. Ketika bernilai false, ms berisi nilai placeholder yang tersimpan, bukan latensi, dan tidak boleh dibaca sebagai latensi.
pingToLeaders[].measuredAtKapan latensi terakhir diukur, dalam ISO-8601 UTC. Gunakan untuk menilai seberapa mutakhir sebuah pembacaan.

Memvisualisasikan Cakupan Validator

Respons yang sama dapat dibaca sebagai peta cakupan tingkat epoch, bukan sebagai penelusuran slot demi slot. Contoh ini menggunakan Frankfurt sebagai titik observasi.
Wilayah validatorLokasiSlot dalam epochBobot stakePing dari FrankfurtPembacaan operasional
frankfurtFrankfurt am Main, DE13,23212,254,651.760.974 ms13,232 dari sekitar 432,000 slot pada epoch tersebut, di metropolitan yang sama. Kapasitas Frankfurt melayani validator ini sepanjang epoch, bukan hanya selama satu jendela slot.
stockholmŠiauliai, LT2,7042,502,391.1427.742 msBagian epoch yang berulang, pada latensi yang bisa dilayani lebih baik oleh lokasi Eropa lain.
amsterdamAmsterdam, NL304280,745.6916.835 msHanya sedikit slot per epoch. Jalurnya pendek, tetapi hal itu sendiri bukan alasan untuk menempatkan kapasitas.
getLeaderSlots menjawab validator mana yang memimpin slot-slot berikutnya, sehingga cocok untuk merutekan sebuah transaksi sekarang; metode ini menjawab validator mana yang memimpin epoch tersebut dan seberapa sering, sehingga cocok untuk memutuskan di mana kapasitas sebaiknya ditempatkan sepanjang epoch itu.

Situs Data Jaringan Solana

Validators Solutions - Solana data jaringan
Gunakan Validators Solutions untuk tampilan publik distribusi jaringan, lalu gunakan getValidatorsInformation untuk jumlah slot, stake, lokasi, dan latensi terukur per validator.

Penggunaan Token

Metode ini ditagih berdasarkan jumlah validator yang dikembalikannya, dalam satuan 10: setiap 10 validator berbiaya 100 token, dan satuan yang tidak penuh dihitung sebagai satu satuan penuh. Karena itu respons berisi 95 validator ditagih sebagai 10 satuan, yaitu 1.000 token.
Karena tagihan mengikuti apa yang dikembalikan, bukan apa yang diminta, mempersempit kumpulan dengan country atau region berbiaya proporsional lebih rendah, dan permintaan yang tidak cocok dengan satu validator pun tidak dikenai biaya. limit di atas jumlah validator pada epoch tersebut disesuaikan ke jumlah sebenarnya, sehingga sebuah permintaan tidak pernah membayar validator yang tidak ada.
Ukuran kumpulan leader berubah dari epoch ke epoch. Pada epoch yang ditampilkan di atas jumlahnya 670 validator, sehingga pembacaan penuh berbiaya kira-kira 6.700 token.

Mengapa Informasi Validator Penting

  • Satu baris per validator menjawab siapa yang memimpin epoch ini dan seberapa besar, tanpa perlu mengagregasi ratusan ribu baris slot di sisi klien.
  • slotCount menunjukkan seberapa sering sebuah validator menjadi leader pada epoch ini, sehingga jalur pendek ke validator dengan slotCount tinggi memberi manfaat berulang kali.
  • country dan region menunjukkan di mana kapasitas leader epoch tersebut sebenarnya berada.
  • Ping yang dipadukan dengan measuredAt memisahkan jalur yang lambat dari pembacaan yang sudah usang.

Latar Belakang

Satu epoch Solana terdiri dari sekitar 432.000 slot. Setelah penugasan leader untuk slot-slot tersebut dikelompokkan menurut identitas validator, semuanya menyusut menjadi sekitar 670 baris validator. ERPC memelihara leader schedule, metadata validator, geolokasi, dan pengumpulan latensi, lalu menyajikan hasilnya melalui antarmuka RPC.

Kasus Penggunaan Strategis

  • Perencanaan kapasitas tingkat epoch: sesuaikan ukuran infrastruktur dengan seluruh kumpulan validator yang memimpin epoch berjalan, bukan dengan jendela slot yang bergulir.
  • Daftar pendek regional: gunakan country dan region untuk menarik validator yang memimpin slot di lokasi yang dituju.
  • Prioritas berbasis jumlah slot dan stake: padukan slotCount dan stakeWeight untuk memeringkat validator di dalam daftar pendek.
  • Pemantauan lintas epoch: bandingkan distribusi leaderRegion antar-epoch untuk melihat pergeseran geografi leader.

Ketersediaan

getValidatorsInformation tersedia untuk semua pengguna ERPC. API token dan kredit penggunaan dapat diterbitkan atau diverifikasi pada ERPC Web Dashboard.

Tingkat Keberhasilan Transaksi dan SWQoS Endpoint

Untuk lebih meningkatkan tingkat keberhasilan transaksi dan kecepatan eksekusi, kami menyarankan penggunaan SWQoS Endpoint. SWQoS (Stake-weighted Quality of Service) memprioritaskan validator yang memiliki koneksi stake. Leader mengalokasikan sekitar 80% bandwidth untuk lalu lintas prioritas dan 20% untuk lalu lintas non-prioritas, dengan jalur prioritas menawarkan throughput sekitar 5x. Penjadwalan ini terjadi sebelum evaluasi Priority-fee, yang berarti masuk ke jalur prioritas SWQoS adalah prasyarat bagi performa latensi rendah yang sesungguhnya.