getBlocks memungkinkan Anda mengambil daftar nomor slot blok yang telah dikonfirmasi antara slot awal tertentu dan slot akhir opsional. Metode ini berguna ketika Anda perlu mengetahui blok mana yang telah dikonfirmasi dalam rentang tertentu tanpa mengambil seluruh konten setiap blok.
Kasus Penggunaan Umum
- Mengidentifikasi Blok yang Dikonfirmasi dalam Suatu Rentang: Dapatkan dengan cepat daftar semua slot blok yang berhasil dikonfirmasi antara dua titik dalam ledger.
- Mengiterasi Blok: Gunakan daftar slot yang dikembalikan untuk kemudian mengambil informasi terperinci setiap blok menggunakan
getBlockjika diperlukan. - Audit Blok Dasar: Verifikasi keberadaan blok dalam rentang tertentu.
Parameter Permintaan
MetodegetBlocks menerima parameter berikut:
start_slot(u64, wajib): Slot pertama yang dipertimbangkan dalam rentang (inklusif).end_slot(u64, opsional): Slot terakhir yang dipertimbangkan dalam rentang (inklusif).- Jika tidak diberikan, kueri akan mengembalikan blok mulai dari
start_slothingga slot terbaru yang dikonfirmasi. - Rentang antara
start_slotdanend_slot(atau slot terbaru jikaend_slottidak disertakan) tidak boleh melebihi 500.000 slot.
- Jika tidak diberikan, kueri akan mengembalikan blok mulai dari
commitment(string, opsional): Menentukan tingkat komitmen untuk kueri. Jika tidak disertakan, komitmen default node akan digunakan. Nilai ini diteruskan sebagai satu-satunya bidang dalam objek konfigurasi yang menjadi parameter terakhir.
Struktur Respons
Bidangresult dalam respons JSON-RPC akan berupa array bilangan bulat u64. Setiap bilangan bulat dalam array mewakili nomor slot blok yang dikonfirmasi dalam rentang yang ditentukan.
- Contoh:
[5, 6, 7, 8, 9, 10]
Contoh
1. Mendapatkan Blok dalam Rentang Slot Tertentu
Contoh ini mengambil daftar slot blok yang dikonfirmasi antara slot250000000 dan 250000010.
2. Mendapatkan Blok dari Slot Awal hingga Slot Terbaru yang Dikonfirmasi
Contoh ini mengambil slot blok yang dikonfirmasi mulai dari260000000 hingga blok terbaru yang dikonfirmasi oleh node (dengan mematuhi batas rentang 500.000 slot dari slot awal).
3. Mendapatkan Blok dengan Tingkat Komitmen Tertentu
Contoh ini mengambil blok menggunakan tingkat komitmenconfirmed.
Tips untuk Pengembang
- Batas Rentang: Ingat batas rentang 500.000 slot. Meminta rentang yang lebih besar akan menghasilkan kesalahan.
- Ketersediaan Data Node: Node mungkin tidak menyimpan informasi untuk semua slot historis. Nilai
start_slotyang sangat lama dapat mengembalikan array kosong atau kesalahan, tergantung pada konfigurasi node dan kebijakan penyimpanan ledger. - Konfirmasi Blok: Metode ini mengembalikan blok yang dikonfirmasi. Kumpulan blok yang tepat dapat sedikit berbeda, tergantung pada tingkat
commitmentyang dipilih dan node yang Anda kueri, khususnya untuk slot yang sangat baru. - Pelengkap
getBlock:getBlockssering digunakan sebagai langkah pertama untuk mengidentifikasi slot blok yang relevan sebelum menggunakangetBlockguna mengambil detail lengkap setiap blok dalam daftar tersebut. - Alternatif Paginasi: Karena
getBlocksmemiliki batas rentang, jika Anda perlu memindai bagian chain yang sangat besar, Anda harus melakukan beberapa panggilan kegetBlocksdengan membagi total rentang yang diinginkan menjadi beberapa segmen berukuran 500.000 slot atau kurang.
getBlocks untuk menampilkan daftar slot blok yang dikonfirmasi di jaringan Solana.
Metode Terkait
getBlock
Dapatkan informasi terperinci untuk blok tertentu
getBlocksWithLimit
Dapatkan blok dalam jumlah tetap mulai dari suatu slot