getVoteAccounts menampilkan informasi tentang semua akun voting (validator) di bank saat ini. Metode ini membedakan validator current (aktif) dan delinquent serta memberikan detail tentang stake, aktivitas voting, dan identitasnya.
Kasus Penggunaan Umum
- Pemantauan Validator: Melacak status, stake, dan performa validator di jaringan.
- Dasbor Staking: Menampilkan informasi tentang validator yang tersedia bagi pengguna yang ingin mendelegasikan SOL mereka.
- Analisis Kondisi Jaringan: Menilai kondisi dan desentralisasi jaringan secara keseluruhan dengan memeriksa distribusi stake dan aktivitas validator.
- Mengidentifikasi Validator Bermasalah: Menemukan validator yang tidak berpartisipasi aktif dalam konsensus.
Parameter Permintaan
Metode ini menerima objek konfigurasi opsional dengan bidang berikut:commitment(string, opsional): Menentukan tingkat komitmen untuk kueri (misalnya,"finalized","confirmed","processed"). Jika dihilangkan, komitmen default simpul akan digunakan.votePubkey(string, opsional): Jika diberikan, hasil akan difilter agar hanya menyertakan alamat akun voting validator yang ditentukan (dikodekan dalam base-58).keepUnstakedDelinquents(boolean, opsional): Nilai default-nya adalahfalse. Jika ditetapkan ketrue, daftardelinquentakan menyertakan validator tanpa stake yang diaktifkan. Jika tidak, validator tersebut akan difilter.delinquentSlotDistance(u64, opsional): Menentukan jumlah slot ketertinggalan validator dari ujung ledger agar dianggap bermasalah. Jika tidak ditentukan, simpul akan menggunakan nilai default.
Struktur Respons
Bidangresult dalam respons JSON-RPC adalah objek yang berisi dua array:
current: Array objek, dengan setiap objek mewakili akun voting aktif yang memiliki bidang berikut:votePubkey(string): Alamat akun voting (dikodekan dalam base-58).nodePubkey(string): Kunci publik identitas simpul validator (dikodekan dalam base-58).activatedStake(u64): Jumlah stake, dalam lamport, yang didelegasikan ke akun voting ini dan aktif pada epoch saat ini.epochVoteAccount(boolean):truejika akun voting telah aktif setidaknya sekali selama epoch saat ini.commission(number): Persentase komisi (0-100) yang dibebankan oleh validator.lastVote(u64): Nomor slot terbaru yang dipilih oleh validator ini.rootSlot(u64): Slot terakhir yang dianggap sebagai root oleh simpul (blok yang telah dikonfirmasi sepenuhnya dan tidak akan dibatalkan).epochCredits(array): Array yang berisi array, dengan setiap array di dalamnya memuat[epoch, credits_earned_in_epoch, previous_total_credits].
delinquent: Array objek dengan struktur yang sama seperticurrent, yang mewakili validator yang dianggap bermasalah oleh simpul.
Contoh Kode
Tips untuk Developer
- Respons Besar: Metode ini dapat menampilkan data dalam jumlah besar, terutama pada jaringan dengan banyak validator seperti Mainnet Beta. Perhatikan ukuran respons dan waktu pemrosesan.
- Definisi Validator Bermasalah: Definisi “bermasalah” dapat bergantung pada
delinquentSlotDistancedan perspektif simpul. Validator mungkin terlihat bermasalah pada satu simpul, tetapi tidak pada simpul lain jika pandangan mereka terhadap ujung ledger berbeda. - Aktivasi Stake:
activatedStakemencerminkan stake yang aktif pada epoch saat ini. Aktivasi dan penonaktifan stake membutuhkan waktu. - Kredit Epoch:
epochCreditsmenyediakan riwayat performa validator dalam memperoleh kredit melalui voting.
getVoteAccounts, sehingga Anda dapat mengkueri dan memahami informasi validator di jaringan Solana.