Metode RPC getBlockTime memberikan perkiraan waktu produksi blok tertentu yang diidentifikasi berdasarkan nomor slotnya. Waktu dikembalikan sebagai stempel waktu Unix (detik sejak epoch Unix).
Metode ini berguna ketika Anda perlu menghubungkan produksi blok dengan waktu di dunia nyata.
Hindari Pemrosesan Batch untuk Performa yang Lebih BaikPemrosesan metode arsip secara batch meningkatkan latensi secara signifikan. Batch yang berisi lebih dari 10 permintaan tidak diizinkan.
Kasus Penggunaan Umum
- Memberikan Stempel Waktu pada Peristiwa: Tentukan kapan blok tertentu diproduksi untuk memberikan stempel waktu pada peristiwa on-chain.
- Menganalisis Interval Produksi Blok: Hitung selisih waktu antarblok (meskipun metode lain dapat digabungkan untuk analisis yang lebih mendetail).
- Menghubungkan Data Off-Chain: Selaraskan peristiwa atau data off-chain dengan aktivitas on-chain dengan mencocokkan waktu produksi blok.
Parameter Permintaan
Metode getBlockTime menerima satu parameter:
slot (u64, wajib): Nomor slot blok yang perkiraan waktu produksinya akan diambil.
Struktur Respons
Kolom result dalam respons JSON-RPC akan berisi salah satu dari berikut ini:
timestamp (i64): Perkiraan waktu produksi sebagai stempel waktu Unix (detik sejak epoch Unix).
null: Jika stempel waktu tidak tersedia untuk blok yang ditentukan (misalnya, blok tersebut sudah sangat lama dan datanya telah dihapus, atau blok dilewati dan tidak memiliki stempel waktu terkait).
Contoh
1. Mendapatkan Perkiraan Waktu Blok Tertentu
Contoh ini mengambil perkiraan waktu produksi untuk slot tertentu. Pastikan Anda mengganti SLOT_NUMBER_TO_QUERY dengan slot aktual, terbaru, dan terkonfirmasi pada jaringan yang Anda targetkan (misalnya, Mainnet Beta atau Devnet).
Tips untuk Developer
- Ketersediaan Stempel Waktu: Stempel waktu mungkin tidak tersedia untuk semua blok, terutama blok yang sudah sangat lama atau slot yang dilewati. Dalam kasus tersebut, metode ini mengembalikan
null.
- Perkiraan: Waktu tersebut merupakan perkiraan. Nilainya diperoleh dari rata-rata stempel waktu Vote dari validator yang dibobot berdasarkan stake. Meskipun umumnya akurat, nilai ini bukan stempel waktu yang dijamin aman secara kriptografis untuk setiap blok seperti halnya blockhash.
- Ketergantungan pada Node: Ketersediaan dan presisi mungkin sedikit berbeda tergantung pada node RPC yang dikueri, terutama untuk blok yang sangat baru (belum difinalisasi).
Panduan ini menjelaskan cara menggunakan getBlockTime untuk mengambil perkiraan stempel waktu produksi blok mana pun di jaringan Solana.