Langsung ke konten utama
Metode RPC getLatestBlockhash sangat penting untuk menyiapkan dan mengirim transaksi di jaringan Solana. Metode ini mengambil hash blok terbaru yang diproses oleh node, beserta tinggi blok terakhir saat hash blok tersebut masih valid. Untuk informasi selengkapnya tentang cara menggunakan hash blok secara efektif dan memastikan transaksi Anda berhasil masuk, lihat panduan lengkap kami. Setiap transaksi di Solana harus merujuk pada blockhash terbaru. Mekanisme ini membantu mencegah jenis serangan tertentu, seperti pemutaran ulang transaksi pada chain hasil fork. Catatan Versi: Metode ini tersedia di solana-core v1.9 atau yang lebih baru. Untuk node yang menjalankan solana-core v1.8 atau yang lebih lama, gunakan metode getRecentBlockhash sebagai gantinya.

Kasus Penggunaan Umum

  • Pembuatan Transaksi: Dapatkan hash blok terbaru untuk disertakan dalam transaksi baru sebelum menandatangani dan mengirimnya.
  • Pengelolaan Masa Berlaku Transaksi: Gunakan lastValidBlockHeight untuk mengetahui berapa lama transaksi yang merujuk pada hash blok yang diambil diperkirakan tetap valid.
  • Pemeriksaan Praeksekusi: Meskipun simulateTransaction dapat melakukannya secara implisit, aplikasi dapat mengambil hash blok untuk menyiapkan transaksi secara manual agar dapat disimulasikan.

Parameter Permintaan

Metode ini dapat menerima objek konfigurasi opsional dengan parameter berikut:
  • commitment (string, opsional): Menentukan tingkat komitmen untuk kueri. Jika dihilangkan, komitmen default node akan digunakan. Gunakan finalized untuk kode baru; pada Alpenglow, confirmed mengembalikan status permanen yang sama dan tetap tersedia untuk kompatibilitas.
  • minContextSlot (integer, opsional): Slot minimum tempat permintaan dapat dievaluasi. Hal ini memastikan kueri dilakukan terhadap status ledger yang telah diproses setidaknya hingga slot ini.

Struktur Respons

Kolom result pada respons JSON-RPC akan berupa objek RpcResponse. Kolom value dalam objek ini berisi:
  • blockhash (string): String yang dikodekan dengan base-58 dan merepresentasikan hash blok terbaru.
  • lastValidBlockHeight (u64): Tinggi blok tempat blockhash akan kedaluwarsa. Transaksi yang merujuk pada blockhash ini tetap valid hingga jaringan mencapai lastValidBlockHeight tersebut.
Respons juga menyertakan objek context dengan slot tempat informasi tersebut diambil.

Contoh

1. Mendapatkan Blockhash Terbaru dengan Komitmen Default

Contoh ini mengambil blockhash terbaru menggunakan komitmen default node.

2. Dapatkan Hash Blok Terbaru dengan Komitmen finalized

Contoh ini secara eksplisit meminta hash blok terbaru dengan komitmen finalized.

Kiat untuk Developer

  • Validitas Hash Blok: Hash blok berlaku untuk waktu terbatas, sekitar 30 detik (meskipun durasi ini dapat bervariasi). Transaksi harus dikonfirmasi oleh jaringan sebelum lastValidBlockHeight transaksi tersebut terlewati. Selalu ambil hash blok baru jika sudah cukup lama sejak hash blok terakhir diperoleh.
  • Memilih Komitmen: Pada Alpenglow, confirmed dan finalized mengembalikan status yang dikomit secara permanen pada titik yang sama. Gunakan finalized untuk kode baru karena confirmed akan dihapus pada rilis mendatang.
  • Biaya Transaksi: Ingatlah untuk menghitung dan menyertakan biaya transaksi yang sesuai. Hash blok itu sendiri tidak menentukan biaya.
  • Logika Percobaan Ulang: Jika transaksi kedaluwarsa karena lastValidBlockHeight transaksi tersebut telah terlewati, Anda harus menandatanganinya kembali dengan hash blok baru yang lebih terkini, lalu mengirimkannya ulang.
Panduan ini memberikan langkah-langkah untuk menggunakan getLatestBlockhash secara efektif, yang merupakan komponen utama untuk berinteraksi dengan jaringan Solana melalui transaksi.

Metode Terkait

simulateTransaction

Simulasikan transaksi sebelum mengirimnya

isBlockhashValid

Periksa apakah blockhash masih valid