> ## 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.

# blockSubscribe

> 新しいブロックが確認または確定されるたびに通知を受け取るためにサブスクライブします。

<Note>
  このサブスクリプションは**不安定**と見なされ、バリデータが `--rpc-pubsub-enable-block-subscription` フラグで開始された場合にのみ利用可能です。このサブスクリプションの形式は将来変更される可能性があります。
</Note>

<Warning>
  これは不安定なRPCメソッドで、**Heliusはサポートしていません**。このドキュメントは参考用に提供されています。
</Warning>

## エンドポイント

WebSocketはメインネットとデブネットで以下のURLで利用可能です。

* **メインネット** `wss://mainnet.helius-rpc.com/?api-key=<api-key>`
* **デブネット** `wss://devnet.helius-rpc.com/?api-key=<api-key>`

<Note>WebSocketは10分の非アクティビティタイマーがあります。WebSocket接続を維持するために、ヘルスチェックを実装し、毎分ピンを送信することを強くお勧めします。</Note>

## 認証

<ParamField query="api-key" type="string" required>
  あなたのHelius APIキー。無料で[ダッシュボード](https://dashboard.helius.dev/api-keys)から取得できます。
</ParamField>

## ボディ

<ParamField body="params" type="array" required>
  <Expandable title="properties" defaultOpen>
    <ParamField body="filter" type="string | object" required>
      アカウントタイプごとの結果を受け取るためのログフィルター基準。現在サポートされているもの:

      * `all` - ブロック内のすべてのトランザクションを含む
      * 次のフィールドを持つJSONオブジェクト:
        * `mentionsAccountOrProgram: <string>` - 提供された公開鍵（base-58エンコードされた文字列として）を言及するトランザクションのみを返します。指定されたブロックで言及がない場合は通知は送信されません。
    </ParamField>

    <ParamField body="config" type="object">
      次のフィールドを含む構成オブジェクト:

      <ParamField body="commitment" type="string">
        サブスクリプションのコミットメントレベルです。`finalized`、`confirmed`、または`processed`を指定できます。
      </ParamField>

      <ParamField body="encoding" type="string">
        トランザクションデータのエンコーディング形式です。
      </ParamField>

      <ParamField body="transactionDetails" type="string">
        返されるトランザクション詳細のレベルです。
      </ParamField>

      <ParamField body="maxSupportedTransactionVersion" type="number">
        レスポンスに返される最大のトランザクションバージョンです。
      </ParamField>

      <ParamField body="showRewards" type="boolean">
        レスポンスに報酬を表示するかどうかです。
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

## レスポンス

<ResponseField name="result" type="integer">
  サブスクリプションID（登録解除に必要）
</ResponseField>

## 通知フォーマット

通知は次のフィールドを持つオブジェクトになります。

* `slot: <u64>` - 対応するスロット。
* `err: <object|null>` - 通知の公開中に何か問題が発生した場合のエラー。それ以外の場合はnull。
* `block: <object|null>` - `getBlock` RPC HTTPメソッドで見られるブロックオブジェクト。

<RequestExample>
  ```json Request theme={"system"}
  {
    "jsonrpc": "2.0",
    "id": "1",
    "method": "blockSubscribe",
    "params": [
      {
        "mentionsAccountOrProgram": "LieKvPRE8XeX3Y2xVNHjKlpAScD12lYySBVQ4HqoJ5op"
      },
      {
        "commitment": "confirmed",
        "encoding": "base64",
        "showRewards": true,
        "transactionDetails": "full"
      }
    ]
  }
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={"system"}
  {
    "jsonrpc": "2.0",
    "result": 0,
    "id": 1
  }
  ```

  ```json Notification theme={"system"}
  {
    "jsonrpc": "2.0",
    "method": "blockNotification",
    "params": {
      "result": {
        "context": {
          "slot": 112301554
        },
        "value": {
          "slot": 112301554,
          "block": {
            "previousBlockhash": "GJp125YAN4ufCSUvZJVdCyWQJ7RPWMmwxoyUQySydZA",
            "blockhash": "6ojMHjctdqfB55JDpEpqfHnP96fiaHEcvzEQ2NNcxzHP",
            "parentSlot": 112301553,
            "transactions": [
              {
                "transaction": [
                  "OpltwoUvWxYi1P2U8vbIdE/aPntjYo5Aa0VQ2JJyeJE2g9Vvxk8dDGgFMruYfDu8/IfUWb0REppTe7IpAuuLRgIBAAkWnj4KHRpEWWW7gvO1c0BHy06wZi2g7/DLqpEtkRsThAXIdBbhXCLvltw50ZnjDx2hzw74NVn49kmpYj2VZHQJoeJoYJqaKcvuxCi/2i4yywedcVNDWkM84Iuw+cEn9/ROCrXY4qBFI9dveEERQ1c4kdU46xjxj9Vi+QXkb2Kx45QFVkG4Y7HHsoS6WNUiw2m4ffnMNnOVdF9tJht7oeuEfDMuUEaO7l9JeUxppCvrGk3CP45saO51gkwVYEgKzhpKjCx3rgsYxNR81fY4hnUQXSbbc2Y55FkwgRBpVvQK7/+clR4Gjhd3L4y+OtPl7QF93Akg1LaU9wRMs5nvfDFlggqI9PqJl+IvVWrNRdBbPS8LIIhcwbRTkSbqlJQWxYg3Bo2CTVbw7rt1ZubuHWWp0mD/UJpLXGm2JprWTePNULzHu67sfqaWF99LwmwjTyYEkqkRt1T0Je5VzHgJs0N5jY4iIU9K3lMqvrKOIn/2zEMZ+ol2gdgjshx+sphIyhw65F3J/Dbzk04LLkK+CULmN571Y+hFlXF2ke0BIuUG6AUF+4214Cu7FXnqo3rkxEHDZAk0lRrAJ8X/Z+iwuwI5cgbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpDLAp8axcEkaQkLDKRoWxqp8XLNZSKial7Rk+ELAVVKWoWLRXRZ+OIggu0OzMExvVLE5VHqy71FNHq4gGitkiKYNFWSLIE4qGfdFLZXy/6hwS+wq9ewjikCpd//C9BcCL7Wl0iQdUslxNVCBZHnCoPYih9JXvGefOb9WWnjGy14sG9j70+RSVx6BlkFELWwFvIlWR/tHn3EhHAuL0inS2pwX7ZQTAU6gDVaoqbR2EiJ47cKoPycBNvHLoKxoY9AZaBjPl6q8SKQJSFyFd9n44opAgI6zMTjYF/8Ok4VpXEESp3QaoUyTI9sOJ6oFP6f4dwnvQelgXS+AEfAsHsKXxGAIUDQENAgMEBQAGBwgIDg8IBJCER3QXl1AVDBADCQoOAAQLERITDAjb7ugh3gOuTy==",
                  "base64"
                ],
                "meta": {
                  "err": null,
                  "status": {
                    "Ok": null
                  },
                  "fee": 5000,
                  "preBalances": [
                    1758510880, 2067120, 1566000, 1461600, 2039280, 2039280,
                    1900080, 1865280, 0, 3680844220, 2039280
                  ],
                  "postBalances": [
                    1758505880, 2067120, 1566000, 1461600, 2039280, 2039280,
                    1900080, 1865280, 0, 3680844220, 2039280
                  ],
                  "innerInstructions": [
                    {
                      "index": 0,
                      "instructions": [
                        {
                          "programIdIndex": 13,
                          "accounts": [1, 15, 3, 4, 2, 14],
                          "data": "21TeLgZXNbtHXVBzCaiRmH"
                        },
                        {
                          "programIdIndex": 14,
                          "accounts": [3, 4, 1],
                          "data": "6qfC8ic7Aq99"
                        }
                      ]
                    }
                  ],
                  "logMessages": [
                    "Program QMNeHCGYnLVDn1icRAfQZpjPLBNkfGbSKRB83G5d8KB invoke [1]",
                    "Program QMWoBmAyJLAsA1Lh9ugMTw2gciTihncciphzdNzdZYV invoke [2]"
                  ],
                  "preTokenBalances": [
                    {
                      "accountIndex": 4,
                      "mint": "iouQcQBAiEXe6cKLS85zmZxUqaCqBdeHFpqKoSz615u",
                      "uiTokenAmount": {
                        "uiAmount": null,
                        "decimals": 6,
                        "amount": "0",
                        "uiAmountString": "0"
                      },
                      "owner": "LieKvPRE8XeX3Y2xVNHjKlpAScD12lYySBVQ4HqoJ5op",
                      "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                    }
                  ],
                  "postTokenBalances": [
                    {
                      "accountIndex": 4,
                      "mint": "iouQcQBAiEXe6cKLS85zmZxUqaCqBdeHFpqKoSz615u",
                      "uiTokenAmount": {
                        "uiAmount": null,
                        "decimals": 6,
                        "amount": "0",
                        "uiAmountString": "0"
                      },
                      "owner": "LieKvPRE8XeX3Y2xVNHjKlpAScD12lYySBVQ4HqoJ5op",
                      "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                    }
                  ],
                  "rewards": []
                }
              }
            ],
            "blockTime": 1639926816,
            "blockHeight": 101210751
          },
          "err": null
        }
      },
      "subscription": 14
    }
  }
  ```
</ResponseExample>
