> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# getInflationGovernorの使用方法

> getInflationGovernorの使用事例、コード例、リクエストパラメータ、レスポンス構造、ヒントを学びます。

[`getInflationGovernor`](https://www.helius.dev/docs/api-reference/rpc/http/getinflationgovernor) RPCメソッドは、Solanaクラスタの現在の[インフレーション](https://www.helius.dev/blog/solana-issuance-inflation-schedule)パラメータを返します。これらのパラメータは、新しいSOL（インフレーション）の発行が時間と共にどのように管理されるかを定義し、初期レート、テーパーの仕方、長期のターミナルレート、ファウンデーションへの配分を含みます。

これらのパラメータを理解することは、トークンエコノミクス、ステーキング報酬、Solanaの全体的な経済モデルに関連する分析にとって重要です。

## 共通の使用事例

* **経済分析:** リサーチやモデリングのために現行のSOLインフレーションを司るパラメータを取得します。
* **ステーキング報酬計算:** `getInflationRate`が現在の年間率を提供する一方、`getInflationGovernor`はその基礎となるパラメータを提供し、この率とその将来的な軌道を決定します。
* **トークンエコノミクスの理解:** 時間と共に計画されたトークン供給の変化について洞察を得ます。

## リクエストパラメータ

このメソッドは以下のパラメータを含むコンフィギュレーションオブジェクトをオプションで取ることができます。

* **`commitment`**（文字列、オプション）: 台帳をクエリするときに使用する[コミットメントレベル](https://www.helius.dev/blog/solana-commitment-levels)を指定します。指定しない場合、ノードのデフォルトのコミットメントが使用されます（通常は`finalized`）。

## レスポンス構造

JSON-RPCレスポンスの`result`フィールドは、以下のインフレーションパラメータを含むオブジェクトになります（すべてのパラメータは`f64`浮動小数点数でパーセンテージまたは期間を表します）。

* **`initial`**: 初期インフレーション率（例: 15%の場合、0.15）。
* **`terminal`**: 長期のターミナルインフレーション率（例: 1.5%の場合、0.015）。
* **`taper`**: `initial`から`terminal`レートまでインフレーション率が減少する速度。これはインフレーション率自体の年間パーセンテージ減少です（例: テーパーが0.15の場合、インフレーション率は毎年15%減少し、ターミナルレートに達します）。
* **`foundation`**: 新たにインフレートされたSOLの一部がSolanaファウンデーションに割り当てられる割合（例: 5%の場合、0.05）。
* **`foundationTerm`**: `foundation`配分が配布される年数。

## 例

### 1. 現行のインフレーションガバナーパラメータを取得

この例では、デフォルトのコミットメントを使用して現在のインフレーションガバナー設定を取得します。

<CodeGroup>
  ```bash cURL theme={"system"}
  curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getInflationGovernor"
    }'
  ```

  ```javascript JavaScript (using @solana/web3.js) theme={"system"}
  const { Connection } = require('@solana/web3.js');

  async function logInflationGovernor() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const inflationGovernor = await connection.getInflationGovernor();
      console.log('Current Inflation Governor Parameters:');
      console.log(`  Initial Rate: ${(inflationGovernor.initial * 100).toFixed(2)}%`);
      console.log(`  Terminal Rate: ${(inflationGovernor.terminal * 100).toFixed(2)}%`);
      console.log(`  Taper Rate: ${(inflationGovernor.taper * 100).toFixed(2)}% per year`);
      console.log(`  Foundation Allocation: ${(inflationGovernor.foundation * 100).toFixed(2)}%`);
      console.log(`  Foundation Term: ${inflationGovernor.foundationTerm} years`);
      // For full raw details:
      // console.log(JSON.stringify(inflationGovernor, null, 2));
    } catch (error) {
      console.error('Error fetching inflation governor:', error);
    }
  }

  logInflationGovernor();
  ```
</CodeGroup>

### 2. 'confirmed'コミットメントでインフレーションガバナーパラメータを取得

<CodeGroup>
  ```bash cURL theme={"system"}
  curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getInflationGovernor",
      "params":[{"commitment":"confirmed"}]
    }'
  ```

  ```javascript JavaScript (using @solana/web3.js) theme={"system"}
  const { Connection } = require('@solana/web3.js');

  async function logConfirmedInflationGovernor() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const inflationGovernor = await connection.getInflationGovernor('confirmed');
      console.log('Confirmed Inflation Governor Parameters:');
      console.log(`  Initial Rate: ${(inflationGovernor.initial * 100).toFixed(2)}%`);
      console.log(`  Terminal Rate: ${(inflationGovernor.terminal * 100).toFixed(2)}%`);
      // console.log(JSON.stringify(inflationGovernor, null, 2));
    } catch (error) {
      console.error('Error fetching confirmed inflation governor:', error);
    }
  }

  logConfirmedInflationGovernor();
  ```
</CodeGroup>

## 開発者ヒント

* **静的パラメータ:** これらのインフレーションパラメータは、クラスタのジェネシスまたはネットワークアップグレードで設定され、一般的に正式なガバナンスプロセスとネットワークの更新がない限り頻繁に変更されることはありません。
* **ステーキング報酬への影響:** これらのパラメータは、全体的なインフレーションスケジュールを決定し、SOLのステーキングAPRに影響を与えます。
* **ファウンデーション配分:** `foundation`および`foundationTerm`パラメータは、特定の期間にわたりSolanaファウンデーションに向けられるインフレーションの一部を記述し、エコシステムの開発と運営をサポートします。

このガイドでは、Solanaネットワーク上のインフレーションを司る主要パラメータを取得し理解するために、`getInflationGovernor` RPCメソッドの使用方法について概要を提供します。

## 関連するメソッド

<CardGroup cols={2}>
  <Card title="getInflationRate" href="/ja/api-reference/rpc/http/getinflationrate">
    現在のエポックのインフレーション率を取得
  </Card>

  <Card title="getInflationReward" href="/ja/api-reference/rpc/http/getinflationreward">
    特定のアドレスのインフレーション報酬を取得
  </Card>
</CardGroup>
