Skip to main content
Metode RPC 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

  1. message (string, wajib): Pesan transaksi yang dikodekan dengan base64. Anda dapat memperolehnya dengan mengompilasi transaksi.
  2. config (objek, opsional): Objek konfigurasi dengan bidang berikut:
    • commitment (string, opsional): Menentukan tingkat komitmen yang akan digunakan. Nilai default-nya adalah finalized.
    • minContextSlot (angka, opsional): Slot minimum tempat permintaan dapat dievaluasi.

Struktur Respons

Bidang result 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 berupa null jika 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 getFeeForMessage adalah membuat dan menserialisasi Message transaksi dengan benar. Proses ini mencakup penetapan pembayar biaya, instruksi, dan blockhash terbaru.
  • Blockhash Terbaru: Pesan harus dibuat dengan blockhash terbaru. Jika blockhash terlalu lama, value dalam respons mungkin berupa null.
  • 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 getRecentPrioritizationFees untuk memperkirakan biaya prioritas.
  • Lamport: Biaya dikembalikan dalam lamport (1 SOL = 1.000.000.000 lamport).
  • Nilai Null: Nilai null untuk 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.
Panduan ini menyediakan langkah-langkah yang diperlukan untuk menggunakan metode RPC 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