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

> 새로운 블록이 `confirmed` 또는 `finalized` 될 때마다 알림을 수신하도록 구독합니다.

<Note>
  이 구독은 **불안정**하다고 간주되며, 검증자가 `--rpc-pubsub-enable-block-subscription` 플래그로 시작된 경우에만 사용 가능합니다. 이 구독의 형식은 향후 변경될 수 있습니다.
</Note>

<Warning>
  이것은 **Helius에서 지원하지 않는** 불안정한 RPC 메서드입니다. 이 문서는 참조용으로만 제공됩니다.
</Warning>

## Endpoints

웹소켓은 다음 URL로 메인넷 및 devnet에서 사용할 수 있습니다:

* **Mainnet** `wss://mainnet.helius-rpc.com/?api-key=<api-key>`
* **Devnet** `wss://devnet.helius-rpc.com/?api-key=<api-key>`

<Note>웹소켓은 10분의 비활성화 타이머가 있습니다; 건강 검진을 구현하고 매분 핑을 보내 웹소켓 연결을 유지하는 것이 강력히 권장됩니다.</Note>

## Authorizations

<ParamField query="api-key" type="string" required>
  귀하의 Helius API 키입니다. [대시보드](https://dashboard.helius.dev/api-keys)에서 무료로 얻을 수 있습니다.
</ParamField>

## Body

<ParamField body="params" type="array" required>
  <Expandable title="properties" defaultOpen>
    <ParamField body="filter" type="string | object" required>
      계정 유형별로 결과를 수신하기 위한 로그 필터 기준; 현재 지원됨:

      * `all` - 블록의 모든 트랜잭션 포함
      * 다음 필드가 있는 JSON 객체:
        * `mentionsAccountOrProgram: <string>` - 제공된 공개 키(베이스-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>

## Response

<ResponseField name="result" type="integer">
  구독 ID (구독 취소에 필요)
</ResponseField>

## Notification Format

알림은 다음 필드를 가진 객체입니다:

* `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>
