getInflationReward memungkinkan Anda meminta informasi tentang imbalan inflasi (umumnya dikenal sebagai imbalan staking) yang dikreditkan ke satu atau beberapa alamat untuk epoch tertentu.
Metode ini berguna untuk memverifikasi imbalan yang diterima oleh akun stake atau akun lain yang mungkin telah menerima imbalan inflasi.
Kasus Penggunaan Umum
- Verifikasi Imbalan Staking: Periksa apakah akun stake menerima imbalan yang diharapkan untuk epoch sebelumnya.
- Lacak Riwayat Imbalan: Minta informasi imbalan untuk beberapa epoch guna menyusun riwayat suatu alamat.
- Audit Pembayaran Validator: Validator dapat menggunakan metode ini untuk memverifikasi distribusi imbalan (meskipun imbalan dibayarkan ke akun stake, bukan langsung ke identitas validator).
Parameter Permintaan
Metode ini menerima dua parameter utama:addresses(larik string): Daftar kunci publik yang dikodekan dengan base-58 untuk akun yang ingin Anda minta informasinya. Jumlah maksimum alamat yang diizinkan dapat berbeda-beda tergantung penyedia RPC (misalnya, Helius mengizinkan hingga 1005 untuk paket berbayar).config(objek, opsional): Objek konfigurasi dengan bidang opsional berikut:commitment(string, opsional): Menentukan tingkat komitmen. Nilai default-nya adalahfinalizedjika tidak diberikan.epoch(bilangan bulat, opsional): Nomor epoch yang imbalannya ingin diambil. Jika dihilangkan, node RPC biasanya akan menggunakan epoch terakhir yang telah selesai dan imbalannya telah didistribusikan.minContextSlot(bilangan bulat, opsional): Slot minimum tempat permintaan dapat dievaluasi. Ini memastikan kueri dilakukan terhadap status ledger yang telah diproses setidaknya hingga slot ini.
Struktur Respons
Bidangresult dalam respons JSON-RPC akan berupa larik yang sesuai dengan larik input addresses. Setiap elemen dalam larik hasil akan berupa salah satu dari berikut ini:
- Sebuah objek yang berisi detail imbalan inflasi jika alamat tersebut menerima imbalan untuk epoch yang ditentukan.
nulljika alamat tersebut tidak menerima imbalan inflasi untuk epoch tersebut atau jika akunnya tidak ada.
epoch(u64): Epoch saat imbalan ini dikreditkan.effectiveSlot(u64): Slot tempat imbalan diterapkan dan mulai berlaku.amount(u64): Jumlah imbalan dalam lamport.postBalance(u64): Saldo akun dalam lamport setelah imbalan dikreditkan.commission(u8 | undefined): Untuk akun voting, ini adalah persentase komisi (0-100) yang diambil oleh validator saat imbalan dikreditkan. Nilainya akan berupaundefineduntuk akun non-voting.
Contoh
1. Dapatkan Imbalan Inflasi untuk Satu Alamat (Epoch Sebelumnya)
Contoh ini mengambil imbalan inflasi untuk alamat tertentu pada epoch terakhir yang telah selesai.2. Dapatkan Imbalan Inflasi untuk Beberapa Alamat pada Epoch Tertentu
Tips untuk Developer
- Ketepatan Epoch: Imbalan dikreditkan satu kali per epoch. Pastikan Anda meminta informasi untuk nomor epoch yang benar.
- Waktu Pemberian Imbalan: Imbalan inflasi dihitung pada akhir epoch dan diterapkan pada awal epoch berikutnya.
effectiveSlotmenunjukkan kapan hal ini terjadi. - Hasil Null: Hasil
nulluntuk suatu alamat berarti tidak ada imbalan yang ditemukan bagi alamat tersebut dalam epoch yang ditentukan. Hal ini mungkin terjadi karena akun tidak memenuhi syarat (misalnya, bukan akun stake dengan jumlah staking yang memadai), nilai imbalannya nol, atau akun tersebut belum ada pada saat itu. - Batas Laju: Perhatikan batas laju penyedia RPC, terutama saat meminta informasi untuk banyak alamat.
getInflationReward untuk mengambil dan memverifikasi imbalan staking secara akurat di jaringan Solana.