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
slotCountyang menunjukkan berapa banyak slot yang dipimpinnya — berbeda dengangetLeaderSlots, yang mengembalikan satu baris per slot stakeWeightuntuk 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>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": []
}{
"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" }]
}{
"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":[]
}'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"
}
]
}
]
}
}{
"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
| Ruas | Artinya |
|---|---|
result.success | Apakah permintaan berhasil. |
result.message | Pesan status yang mudah dibaca. |
result.epoch | Epoch tempat kumpulan leader yang dikembalikan berasal. Ini adalah epoch terbaru yang ada dalam leader schedule. |
result.total | Jumlah validator dalam data. Inilah jumlah yang menjadi dasar penagihan panggilan ini. |
result.totalValidators | Jumlah 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. |
identity | Kunci publik identitas validator. |
gossipNodeId | Pengenal 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. |
slotCount | Jumlah slot yang dipimpin validator ini pada epoch yang dilaporkan. Setiap entri mencakup satu validator, bukan satu slot. |
stakeWeight | Stake aktif dari identitas validator, dalam SOL. Validator tanpa gossip node yang tertaut melaporkan 0. |
ipAddress, gossipPort, tpuPort, tpuQuicPort, rpcAddress | Metadata endpoint jaringan gossip untuk validator. |
version, featureSet | Versi klien Solana dan feature set yang dilaporkan validator. |
leaderRegion | Label 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, leaderTimezone | Perkiraan 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[].icmpReplied | Apakah validator membalas pengukuran. Ketika bernilai false, ms berisi nilai placeholder yang tersimpan, bukan latensi, dan tidak boleh dibaca sebagai latensi. |
pingToLeaders[].measuredAt | Kapan 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 validator | Lokasi | Slot dalam epoch | Bobot stake | Ping dari Frankfurt | Pembacaan operasional |
|---|---|---|---|---|---|
| frankfurt | Frankfurt am Main, DE | 13,232 | 12,254,651.76 | 0.974 ms | 13,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, LT | 2,704 | 2,502,391.14 | 27.742 ms | Bagian epoch yang berulang, pada latensi yang bisa dilayani lebih baik oleh lokasi Eropa lain. |
| amsterdam | Amsterdam, NL | 304 | 280,745.69 | 16.835 ms | Hanya 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
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.
slotCountmenunjukkan seberapa sering sebuah validator menjadi leader pada epoch ini, sehingga jalur pendek ke validator denganslotCounttinggi memberi manfaat berulang kali.countrydanregionmenunjukkan di mana kapasitas leader epoch tersebut sebenarnya berada.- Ping yang dipadukan dengan
measuredAtmemisahkan 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
countrydanregionuntuk menarik validator yang memimpin slot di lokasi yang dituju. - Prioritas berbasis jumlah slot dan stake: padukan
slotCountdanstakeWeightuntuk memeringkat validator di dalam daftar pendek. - Pemantauan lintas epoch: bandingkan distribusi
leaderRegionantar-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.- ERPC Web Dashboard: 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.







