Skip to main content
Metode RPC getEpochSchedule mengembalikan informasi jadwal epoch dari konfigurasi genesis klaster. Data ini menentukan struktur epoch, termasuk panjangnya dan cara jadwal pemimpin ditentukan relatif terhadap awal epoch. Memahami jadwal epoch sangat penting bagi aplikasi yang perlu diselaraskan dengan peristiwa jaringan, memprediksi batas epoch, atau memahami mekanisme rotasi pemimpin.

Kasus Penggunaan Umum

  • Memprediksi Batas Epoch: Tentukan jumlah slot dalam suatu epoch untuk memperkirakan kapan epoch saat ini akan berakhir dan epoch berikutnya akan dimulai.
  • Penghitungan Jadwal Pemimpin: Pahami leaderScheduleSlotOffset untuk mengetahui seberapa jauh sebelumnya jadwal pemimpin dibuat untuk epoch mendatang.
  • Menganalisis Inisialisasi Jaringan: Amati warmup, firstNormalEpoch, dan firstNormalSlot untuk memahami fase peningkatan awal panjang epoch klaster jika berlaku.
  • Membangun Alat Pemantauan Jaringan: Gunakan informasi ini untuk menampilkan waktu dan progres epoch secara akurat.

Parameter Permintaan

Metode ini tidak menerima parameter apa pun.

Struktur Respons

Kolom result dari respons JSON-RPC akan berupa objek yang berisi kolom-kolom berikut:
  • slotsPerEpoch (u64): Jumlah maksimum slot dalam setiap epoch (setelah periode pemanasan, jika ada).
  • leaderScheduleSlotOffset (u64): Jumlah slot sebelum dimulainya suatu epoch ketika jadwal pemimpin untuk epoch tersebut dibuat.
  • warmup (boolean): Nilai boolean yang menunjukkan apakah klaster memiliki periode pemanasan ketika epoch dimulai dengan panjang yang lebih pendek dan meningkat secara bertahap.
  • firstNormalEpoch (u64): Nomor epoch pertama yang memiliki panjang slotsPerEpoch penuh. Ini relevan jika warmup bernilai true.
  • firstNormalSlot (u64): Indeks slot dari slot pertama dalam firstNormalEpoch. Ini relevan jika warmup bernilai true.

Contoh

1. Mendapatkan Jadwal Epoch untuk Klaster

Contoh ini mengambil jadwal epoch.

Tips untuk Developer

  • Informasi Statis: Jadwal epoch ditentukan oleh konfigurasi genesis klaster dan umumnya tidak berubah kecuali terjadi peningkatan jaringan yang signifikan atau peluncuran klaster baru dengan parameter berbeda.
  • Mainnet vs. Testnet/Devnet: Jadwal epoch, khususnya slotsPerEpoch dan parameter pemanasan, dapat sangat berbeda antara Mainnet Beta, Testnet, dan Devnet. Selalu lakukan kueri pada klaster tertentu yang Anda perlukan.
  • Periode Pemanasan: Jika warmup bernilai true, epoch sebelum firstNormalEpoch akan memiliki lebih sedikit slot daripada slotsPerEpoch. Penghitungan pasti untuk panjang epoch selama pemanasan adalah 2^N * MINIMUM_SLOTS_PER_EPOCH, dengan N sebagai nomor epoch (dimulai dari 0) hingga firstNormalEpoch tercapai. MINIMUM_SLOTS_PER_EPOCH biasanya bernilai 32.
Panduan ini menyediakan informasi yang diperlukan untuk menggunakan metode RPC getEpochSchedule guna memahami waktu dan struktur dasar epoch dalam klaster Solana.