Dokumentasi API Informasi Leader Slot

Apa itu Leader Slot Information (getLeaderSlots) API?

getLeaderSlots adalah metode Solana RPC yang diperluas dan mengembalikan catatan leader slot mendatang beserta identitas validator, bobot stake, metadata endpoint jaringan, perkiraan lokasi leader, dan pengukuran latensi referensi. Jika Anda memiliki kredit penggunaan ERPC (API token), Anda dapat memanggilnya dengan format yang sama seperti metode Solana RPC standar.
API ini menyediakan:
  • Jadwal leader validator yang dimulai dari slot yang diminta
  • 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>
Tentukan nomor slot awal pada params.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getLeaderSlots",
  "params": [436946064]
}

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":"getLeaderSlots",
    "params":[436946064]
  }'

Contoh Respons (JSON)

Respons saat ini membungkus catatan di dalam result.data[]. result.total menunjukkan berapa banyak catatan yang dikembalikan. Array data[] di bawah ini dipersingkat menjadi tiga dari 100 catatan pada permintaan ini. Entri pertama menampilkan pingToLeaders dari ketujuh wilayah observasi ERPC; entri-entri sisanya dipangkas menjadi satu wilayah agar mudah dibaca.
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"
          }
        ]
      }
    ]
  }
}

Kolom Respons

RuasArtinya
result.successApakah permintaan berhasil.
result.messagePesan status yang mudah dibaca.
result.totalJumlah catatan leader slot yang dikembalikan. Saat ini API mengembalikan 100 catatan per permintaan.
result.data[]Catatan leader slot yang terurut, dimulai dari slot yang diminta.
identityKunci publik identitas leader validator.
epochEpoch Solana yang memuat slot tersebut.
slotNomor slot. Nilai ini dikembalikan sebagai string, sehingga klien tidak boleh menganggapnya sebagai angka JSON.
stakeWeightStake yang didelegasikan ke leader validator. Stake yang lebih besar umumnya berarti validator tersebut lebih sering muncul dalam leader schedule dari waktu ke waktu.
leaderRegionLabel wilayah operasional ternormalisasi yang dipakai untuk routing dan analisis. Label ini dapat mengelompokkan kota atau lokasi penyedia yang berdekatan.
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezonePerkiraan geolokasi dan organisasi jaringan untuk leader validator.
pingToLeaders[]Latensi referensi dari wilayah observasi ERPC (frankfurt, amsterdam, ny, london, tokyo, singapore, sydney) ke leader, mencakup wilayah, kota, ms, icmpReplied, fromIp, negara, koordinat, organisasi ASN, kode pos, zona waktu, dan measuredAt.
pingToLeaders[].icmpRepliedApakah validator membalas pengukuran ICMP. Ketika bernilai false, ms berisi nilai sentinel yang tersimpan, bukan latensi, dan tidak boleh dibaca sebagai latensi. Perlakukan false sebagai tidak diketahui, bukan sebagai jauh atau tidak layak pakai: sebagian validator yang tidak menjawab ICMP tetap melayani TPU dan QUIC secara normal, dan menyaringnya keluar dapat menghapus leader yang sehat dari jalur pengiriman Anda. Periksa icmpReplied sebelum memakai ms sebagai latensi: field ini menentukan apakah angka tersebut layak dipakai, bukan validator mana yang harus dikirimi.
pingToLeaders[].measuredAtKapan latensi terakhir diukur, dalam ISO-8601 UTC. Gunakan untuk menilai seberapa mutakhir sebuah pembacaan. Setiap wilayah observasi mengukur secara independen, sehingga entri dalam array pingToLeaders yang sama dapat memiliki nilai measuredAt yang berbeda. measuredAt yang lebih lama bukan berarti pembacaan rusak: ketika satu putaran pengukuran gagal tuntas, nilai yang tersimpan dibiarkan apa adanya dan tidak ditimpa dengan nilai karangan, sehingga tetap mencerminkan pengukuran nyata di masa lalu.

Memvisualisasikan Leader Slot

Respons yang sama dapat dibaca sebagai lini masa operasional slot demi slot. Contoh ini menggunakan Frankfurt sebagai titik observasi.
Jendela slotWilayah leaderLokasi leaderBobot stakePing dari FrankfurtPembacaan operasional
436946064-436946066dublinCrumlin, IE819,031.3718.438 msSatu leader memegang tiga slot berturut-turut. Frankfurt melayaninya pada 18.4 ms, tetapi London (11.0 ms) dan Amsterdam (12.8 ms) lebih dekat — untuk jendela ini, kapasitas London atau Amsterdam mengungguli Frankfurt.
436946068frankfurtFrankfurt am Main, DE166,438.250.062 msLeader di metropolitan yang sama. Sumber daya di Frankfurt sangat diunggulkan untuk slot ini.
Tampilan ini berguna karena Solana bersifat global. Berbeda dengan HFT tradisional, yang tujuan utamanya sering kali adalah berada dekat dengan satu matching engine, leader Solana berpindah-pindah di antara validator di seluruh dunia. Wilayah tercepat ikut berubah seiring berubahnya leader schedule.

Situs Data Jaringan Solana

Validators Solutions - data jaringan Solana
Untuk tampilan publik distribusi validator dan jaringan, gunakan Validators Solutions. Gunakan situs tersebut untuk memahami jaringan Solana secara lebih luas, lalu gunakan getLeaderSlots untuk jadwal tingkat slot, bobot stake, lokasi validator, dan data latensi terukur yang dibutuhkan untuk routing operasional.

Penggunaan Token

API ini mengambil 100 catatan leader slot yang dimulai dari slot yang ditentukan. Setiap permintaan menghabiskan 420 token.
Jika Anda membutuhkan satu entri per validator untuk keseluruhan epoch, bukan satu entri per slot, gunakan API Informasi Validator, yang ditagih berdasarkan jumlah validator yang dikembalikannya.

Mengapa Informasi Leader Slot Penting

  • Jika leader berjauhan secara geografis atau secara jalur jaringan, pengiriman transaksi langsung menjadi tidak efisien.
  • Bobot stake membantu memperkirakan seberapa sering sebuah validator kemungkinan muncul dalam leader schedule dari waktu ke waktu.
  • Selama peralihan leader yang bersifat global, strategi perpindahan antarwilayah lebih penting daripada satu angka rata-rata latensi global.
  • Menggabungkan jadwal slot, bobot stake, lokasi leader, dan data ping terukur memungkinkan routing dan penempatan validator yang teroptimasi.

Latar Belakang

Satu epoch Solana terdiri dari sekitar 432.000 slot. Mengumpulkan leader schedule, metadata validator, geolokasi, dan pengukuran latensi secara terus-menerus membutuhkan pipeline data khusus. ERPC memelihara data ini dan menyajikannya sebagai peta leader slot yang langsung dapat dipakai melalui antarmuka RPC.

Kasus Penggunaan Strategis

  • Optimasi deteksi: prioritaskan jendela leader yang berdekatan dan berlatensi rendah.
  • Penyebaran multi-wilayah: lakukan deployment di FRA, AMS, NY, TY, SGP, dan wilayah strategis lainnya untuk mengurangi jeda saat peralihan.
  • Perencanaan yang sadar stake: gunakan stakeWeight untuk memahami leader mana yang lebih sering berperan pada jendela waktu yang lebih panjang.
  • Visualisasi dan analitik: pantau rasio leader, distribusi stake, dan distribusi latensi per wilayah.

Ketersediaan

getLeaderSlots 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.