Skip to main content
Metode RPC isBlockhashValid memeriksa apakah blockhash yang diperoleh sebelumnya masih dianggap valid oleh jaringan. Blockhash memiliki masa berlaku terbatas (sekitar 2 menit atau 150 blok). Setelah itu, transaksi yang merujuknya akan ditolak. Metode ini sangat penting bagi aplikasi yang menyimpan blockhash selama beberapa waktu sebelum mengirimkan transaksi. Dengan metode ini, Anda dapat memastikan transaksi tidak gagal karena blockhash telah kedaluwarsa. Catatan Versi: Metode ini tersedia di solana-core v1.9 dan yang lebih baru. Untuk node yang menjalankan solana-core v1.8 atau yang lebih lama, Anda harus menggunakan getFeeCalculatorForBlockhash. Selain memberikan informasi biaya, metode tersebut juga secara implisit menunjukkan validitas blockhash (metode akan menghasilkan error jika blockhash terlalu lama).

Kasus Penggunaan Umum

  • Pengiriman Ulang Transaksi: Sebelum mencoba kembali transaksi yang gagal, periksa apakah blockhash aslinya masih valid. Jika tidak, blockhash baru harus diambil.
  • Penandatanganan Transaksi yang Ditunda: Jika transaksi telah disiapkan tetapi baru ditandatangani dan dikirimkan nanti, verifikasi validitas blockhash tepat sebelum pengiriman.
  • Pemrosesan Transaksi Optimistis: Tentukan apakah blockhash kemungkinan akan diterima oleh jaringan jika transaksi segera dikirim.

Parameter Permintaan

  1. blockhash (string, wajib): Blockhash yang akan diperiksa, dalam bentuk string yang dienkode dengan base-58.
  2. options (object, opsional): Object konfigurasi opsional yang dapat mencakup:
    • commitment (string, opsional): Menentukan tingkat komitmen untuk kueri (misalnya, "finalized", "confirmed", "processed"). Jika dihilangkan, komitmen default node akan digunakan.
    • minContextSlot (u64, opsional): Slot minimum tempat permintaan dapat dievaluasi. Hal ini memastikan node RPC tidak merespons dengan status dari slot yang lebih lama daripada minContextSlot.

Struktur Respons

Kolom result dalam respons JSON-RPC adalah object RpcResponse yang berisi:
  • context (object): Object yang berisi:
    • slot (u64): Slot tempat node RPC mengevaluasi validitas blockhash.
  • value (boolean): true jika blockhash masih valid, atau false jika tidak.
Contoh Respons (Blockhash Valid):
Contoh Respons (Blockhash Tidak Valid/Kedaluwarsa):

Contoh Kode

Tips untuk Developer

  • Blockhash Memiliki Masa Berlaku: Blockhash hanya valid untuk waktu terbatas (sekitar 150 slot atau kira-kira 1–2 menit). Selalu ambil blockhash baru jika Anda tidak yakin atau jika cukup banyak waktu telah berlalu.
  • Penggunaan minContextSlot: Gunakan minContextSlot untuk mencegah kueri ke node RPC usang yang mungkin memberikan respons “valid” yang sudah tidak akurat untuk blockhash yang sebenarnya terlalu lama dari perspektif bagian lain dalam klaster.
  • Alternatif untuk Node Lama: Untuk node yang menjalankan Solana versi sebelum 1.9, gunakan getFeeCalculatorForBlockhash("<YOUR_BLOCKHASH>"). Jika metode ini berhasil memberikan respons, blockhash tersebut valid. Jika menghasilkan error (biasanya karena blockhash tidak ditemukan atau terlalu lama), blockhash tersebut tidak valid.
  • Konfirmasi Jaringan: Meskipun isBlockhashValid mengembalikan true, transaksi baru dianggap final setelah mencapai tingkat komitmen yang diinginkan di jaringan setelah dikirimkan.
Panduan ini memberikan detail yang diperlukan untuk menggunakan metode RPC isBlockhashValid secara efektif saat membangun aplikasi Solana.

Metode Terkait

getLatestBlockhash

Dapatkan blockhash baru untuk transaksi baru