getSupply RPCメソッドは、Solanaネットワーク上のSOLの現在の供給に関する情報を提供します。総供給量、循環供給量、非循環供給量を詳述し、オプションで非循環アカウントをリストすることもできます。
一般的なユースケース
- SOLトークノミクスの理解: SOLの現在の配分をスナップショットで取得します。
- 経済分析: 時間を追った供給メトリクスの変更を追跡します。
- ネットワーク統計の表示: ダッシュボードやエクスプローラにおけるSOL供給の最新情報をユーザーに提供します。
- インフレーションモニタリング:
getInflationRateやgetInflationGovernorがより直接的なインフレーションデータを提供する一方、getSupplyはより広いコンテキストを提供します。
リクエストパラメータ
getSupplyメソッドは以下のフィールドを含むオプションの設定オブジェクトを受け入れます。
commitment(string, optional): クエリのコミットメントレベルを指定します。省略された場合、RPCノードのデフォルトのコミットメントが使用されます。excludeNonCirculatingAccountsList(boolean, optional):trueに設定されている場合、レスポンスからnonCirculatingAccounts配列が除外されます。デフォルトはfalseです。個別の非循環アカウントリストが不要な場合、レスポンスサイズを削減するのに役立ちます。
レスポンス構造
レスポンスは以下のフィールドを持つJSONオブジェクトです。value: 供給情報を含むオブジェクト:total(u64): Lamportsでの総SOL供給量。circulating(u64): Lamportsでの循環SOL供給量。nonCirculating(u64): Lamportsでの非循環SOL供給量。nonCirculatingAccounts(array of strings, optional): 非循環SOLを保持するアカウントの公開鍵(base58でエンコードされた文字列として)の配列。このフィールドは、リクエストでexcludeNonCirculatingAccountsListがtrueに設定されている場合は省略されます。
context: 次を含むオブジェクト:slot(u64): 情報が取得されたスロット。
excludeNonCirculatingAccountsList: falseを含む):
excludeNonCirculatingAccountsList: trueを含む):
コード例
開発者向けのヒント
- LamportsとSOL: 金額はLamportsで返されます。SOLに変換するには
1,000,000,000を除算します(1 SOL = 10^9 lamports)。 - データの鮮度: データは
contextオブジェクトで示されるスロットの状態を反映しており、使用されたコミットメントレベルに基づいています。 excludeNonCirculatingAccountsList: 総供給数のみが必要な場合、レスポンスサイズと処理時間を最適化するためにこのオプションを使用します。特に非循環アカウントのリストが非常に長い場合に便利です。- 動的な値: トークンの発行(インフレーション)やバーンメカニズムによって供給数は頻繁に変化する可能性があります。
getSupply RPCメソッドを効果的に使用するためのものであるべきです。
関連メソッド
getInflationRate
現在のインフレ率を取得
getInflationGovernor
インフレーションガバナンスパラメータを取得