getFeeForMessage memungkinkan Anda memperkirakan biaya yang akan dikenakan jaringan untuk memproses pesan transaksi tertentu. Ini berguna untuk memahami biaya transaksi sebelum transaksi dikirimkan ke jaringan.
Catatan Versi: Metode ini tersedia di solana-core v1.9 atau yang lebih baru. Untuk versi yang lebih lama, pertimbangkan untuk menggunakan getFees.
Kasus Penggunaan Umum
- Estimasi Biaya: Tentukan perkiraan biaya transaksi (dalam lamport) untuk pesan tertentu.
- Optimalisasi Biaya: Analisis biaya untuk berbagai struktur transaksi atau pada waktu yang berbeda.
- Tampilan Antarmuka Pengguna: Tampilkan perkiraan biaya transaksi kepada pengguna sebelum mereka menandatangani dan mengirim transaksi.
Parameter Permintaan
message(string, wajib): Pesan transaksi yang dikodekan dengan base64. Anda dapat memperolehnya dengan mengompilasi transaksi.config(objek, opsional): Objek konfigurasi dengan bidang berikut:commitment(string, opsional): Menentukan tingkat komitmen yang akan digunakan. Nilai default-nya adalahfinalized.minContextSlot(angka, opsional): Slot minimum tempat permintaan dapat dievaluasi.
Struktur Respons
Bidangresult dari respons JSON-RPC adalah objek dengan struktur berikut:
context(objek):slot(u64): Slot tempat biaya dievaluasi.
value(u64 | null): Perkiraan biaya dalam lamport. Nilai ini dapat berupanulljika biaya tidak dapat ditentukan (misalnya, jika blockhash yang digunakan dalam pesan terlalu lama atau tidak valid).
Contoh
1. Memperkirakan Biaya untuk Pesan Transfer Sederhana
Contoh ini menunjukkan cara membuat transfer sederhana, mengompilasi pesannya, lalu mengambil perkiraan biaya.Tips untuk Developer
- Pembuatan Pesan: Kunci untuk menggunakan
getFeeForMessageadalah membuat dan menserialisasiMessagetransaksi dengan benar. Proses ini mencakup penetapan pembayar biaya, instruksi, dan blockhash terbaru. - Blockhash Terbaru: Pesan harus dibuat dengan blockhash terbaru. Jika blockhash terlalu lama,
valuedalam respons mungkin berupanull. - Biaya vs. Biaya Prioritas: Metode ini mengembalikan biaya dasar jaringan. Nilai ini tidak mencakup biaya prioritas tambahan yang mungkin Anda tambahkan ke transaksi untuk meningkatkan kemungkinan transaksi diproses dengan cepat saat jaringan padat. Gunakan
getRecentPrioritizationFeesuntuk memperkirakan biaya prioritas. - Lamport: Biaya dikembalikan dalam lamport (1 SOL = 1.000.000.000 lamport).
- Nilai Null: Nilai
nulluntuk biaya dapat menunjukkan adanya masalah pada pesan (misalnya, blockhash tidak valid atau format pesan salah), atau bahwa node tidak dapat menghitung biayanya pada tingkat komitmen atau slot yang ditentukan.
getFeeForMessage guna memperkirakan biaya transaksi di jaringan Solana.
Metode Terkait
getLatestBlockhash
Dapatkan blockhash terbaru untuk membuat pesan
getRecentPrioritizationFees
Perkirakan biaya prioritas untuk pemrosesan yang lebih cepat