Langsung ke konten utama
Metode RPC 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 isi setiap blok.
Hindari Pengelompokan untuk Performa yang Lebih BaikMengelompokkan metode arsip akan meningkatkan latensi secara signifikan. Batch yang berisi lebih dari 10 permintaan tidak diizinkan.

Kasus Penggunaan Umum

  • Mengidentifikasi Blok yang Dikonfirmasi dalam Suatu Rentang: Dapatkan dengan cepat daftar semua slot blok yang berhasil dikonfirmasi antara dua titik dalam buku besar.
  • Mengiterasi Blok: Gunakan daftar slot yang dikembalikan untuk kemudian mengambil informasi terperinci bagi setiap blok menggunakan getBlock jika diperlukan.
  • Audit Blok Dasar: Verifikasi keberadaan blok dalam rentang tertentu.

Parameter Permintaan

Metode getBlocks menerima parameter berikut:
  1. start_slot (u64, wajib): Slot pertama yang dipertimbangkan dalam rentang (inklusif).
  2. end_slot (u64, opsional): Slot terakhir yang dipertimbangkan dalam rentang (inklusif).
    • Jika tidak diberikan, kueri akan mengembalikan blok dari start_slot hingga slot terbaru yang telah dikonfirmasi.
    • Rentang antara start_slot dan end_slot (atau slot terbaru jika end_slot dihilangkan) tidak boleh melebihi 500.000 slot.
  3. commitment (string, opsional): Menentukan tingkat komitmen untuk kueri. Jika dihilangkan, komitmen default node akan digunakan. Nilai ini diteruskan sebagai satu-satunya bidang dalam objek konfigurasi sebagai parameter terakhir.

Struktur Respons

Bidang result 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 slot 250000000 dan 250000010.

2. Mendapatkan Blok dari Slot Awal hingga Slot Terbaru yang Dikonfirmasi

Contoh ini mengambil slot blok yang dikonfirmasi mulai dari 260000000 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 komitmen finalized.

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_slot yang sangat lama dapat mengembalikan array kosong atau kesalahan, tergantung pada konfigurasi node dan retensi buku besarnya.
  • Komitmen Blok: Dalam Alpenglow, confirmed dan finalized mengembalikan blok yang sama dan telah dikomit secara permanen; pilih finalized untuk kode baru. Node yang berbeda masih dapat memberikan hasil berbeda untuk sementara karena keterlambatan propagasi.
  • Pelengkap getBlock: getBlocks sering digunakan sebagai langkah pertama untuk mengidentifikasi slot blok yang relevan sebelum menggunakan getBlock guna mengambil detail lengkap setiap blok dalam daftar tersebut.
  • Alternatif Paginasi: Karena getBlocks memiliki batas rentang, jika Anda perlu memindai bagian rantai yang sangat besar, Anda perlu melakukan beberapa panggilan ke getBlocks dengan membagi rentang total yang diinginkan menjadi segmen berukuran 500.000 slot atau kurang.
Panduan ini memberikan gambaran umum yang jelas tentang cara menggunakan metode RPC getBlocks untuk mencantumkan slot blok yang telah dikomit secara permanen di jaringan Solana.

Metode Terkait

getBlock

Dapatkan informasi terperinci untuk blok tertentu

getBlocksWithLimit

Dapatkan blok dalam jumlah tetap mulai dari suatu slot