メインコンテンツへスキップ
このgetVoteAccounts RPCメソッドは、現在のバンク内のすべての投票アカウント(バリデーター)に関する情報を返します。current(アクティブ)バリデーターとdelinquentバリデーターを区別し、ステーク、投票活動、アイデンティティに関する詳細を提供します。

一般的なユースケース

  • バリデーターモニタリング: ネットワーク上のバリデーターのステータス、ステーク、およびパフォーマンスを追跡します。
  • ステーキングダッシュボード: SOLを委任しようとしているユーザー向けに利用可能なバリデーターの情報を表示します。
  • ネットワークの健全性分析: ステークの分布とバリデーターの活動を調査することで、ネットワーク全体の健全性と分散性を評価します。
  • 怠惰なバリデーターの特定: コンセンサスに積極的に参加していないバリデーターを見つけます。

リクエストパラメータ

このメソッドは、以下のフィールドを持つオプションの設定オブジェクトを受け入れます。
  1. commitment (string, optional): クエリのコミットメントレベル を指定します(例:"finalized", "confirmed", "processed")。省略した場合、ノードのデフォルトのコミットメントが使用されます。
  2. votePubkey (string, optional): 提供された場合、指定されたバリデーターの投票アカウントアドレス(base-58エンコード)のみを含むように結果がフィルタリングされます。
  3. keepUnstakedDelinquents (boolean, optional): デフォルトはfalseです。trueに設定すると、ステークがアクティブでないバリデーターも含まれます。それ以外の場合はフィルタリングされます。
  4. delinquentSlotDistance (u64, optional): 台帳の先端から遅れているスロット数を指定して、怠惰と見なされるバリデーターを決定します。指定しない場合、ノードのデフォルト値が使用されます。

レスポンス構造

JSON-RPCレスポンスのresultフィールドは、2つの配列を含むオブジェクトです。
  • current: オブジェクトの配列であり、各オブジェクトは次のフィールドを持つアクティブな投票アカウントを表します。
    • votePubkey (string): 投票アカウントアドレス(base-58エンコード)。
    • nodePubkey (string): バリデーターノードのアイデンティティ公開鍵(base-58エンコード)。
    • activatedStake (u64): この投票アカウントに委任され、現在のエポックでアクティブなステーク量(lamports)。
    • epochVoteAccount (boolean): 現在のエポック中に少なくとも一度アクティブだった場合にtrue
    • commission (number): バリデーターによって課せられる手数料の割合(0-100)。
    • lastVote (u64): 最も最近バリデーターが投票したスロット番号。
    • rootSlot (u64): ノードがルートと見なした最後のスロット(完全に確認されてロールバックされることのないブロック)。
    • epochCredits (array): 各内部配列が[epoch, credits_earned_in_epoch, previous_total_credits]を含む配列の配列。
  • delinquent: ノードによって怠惰と見なされるバリデーターを表す、currentと同様の構造を持つオブジェクトの配列。
レスポンス例のスニペット:

コード例

開発者へのヒント

  • 大きなレスポンス: このメソッドは、多くのバリデーターがあるネットワーク(例えばMainnet Beta)で大量のデータを返すことがあります。レスポンスサイズと処理時間に注意してください。
  • 怠惰の定義: 「怠惰」の定義は、delinquentSlotDistanceとノードの視点に依存します。あるノードでは怠惰に見えるバリデーターが、別のノードではそう見えないかもしれません。台帳の先端への見解が異なるためです。
  • ステークのアクティベーション: activatedStakeは、現在のエポックでアクティブなステークを反映しています。ステークのアクティベーションとデアクティベーションには時間がかかります。
  • エポッククレジット: epochCreditsは、投票によってクレジットを獲得するバリデーターのパフォーマンス履歴を提供します。
このガイドは、Solanaネットワーク上でバリデーター情報をクエリし、理解するためのgetVoteAccounts RPCメソッドをカバーしています。