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

# GraphQLでクエリを実行する

> GraphQLを使用して解析されたイベントをクエリし、型付き転送、要約、命令フィールドを含みます。

## 概要

GraphQLインターフェースは、解析されたイベントメソッドの両方を公開しています。`transactions`を通じてトランザクションを解析し、`transactionsByAddress`を通じて解析済みトランザクション履歴を取得します。クライアントが必要なフィールドのみを選択できるようにしつつ、[RESTエンドポイント](/docs/ja/parsed-events/quickstart#rest-reference)と同じ解析済みトランザクションモデルを返します。

GraphQLはフィールドが選択されている場合にのみ`rawTransaction`を含みます。動的パーサーペイロードは、命令のデコード済み`args`、トランザクション実行`error`、要約`parsedData`、および`rawTransaction`を含むJSONスカラーのままです。

## トランザクションを解析する

```graphql theme={"system"}
query ParseTransactions($signatures: [String!]!) {
  transactions(signatures: $signatures, commitment: CONFIRMED) {
    signature
    parserStatus
    parsed {
      slot
      blockTime
      fee
      feePayer
      transactionStatus
      nativeTransfers {
        fromUserAccount
        toUserAccount
        amount
      }
      tokenTransfers {
        fromUserAccount
        toUserAccount
        fromTokenAccount
        toTokenAccount
        rawTokenAmount
        decimals
        tokenStandard
        mint
      }
      summary {
        type
        description
        parsedData
      }
      instructions {
        topIxIdx
        innerIxIdx
        programId
        programName
        instructionName
        summary {
          type
          description
          parsedData
        }
        decoded {
          args
          accounts {
            name
            pubkey
            isSigner
            isWritable
          }
        }
      }
    }
    parserError {
      code
      message
    }
  }
}
```

変数：

```json theme={"system"}
{
  "signatures": ["5xSKzM8bvpudE521jikHqASzMr23Ms4X4ieY3K8oFPFrJWCSSgYocJmHznrR8b12voDxKDH8ykdCLXSRrx6duVLH"]
}
```

## 解析済みトランザクション履歴

```graphql theme={"system"}
query AddressHistory($address: String!) {
  transactionsByAddress(
    address: $address
    limit: 100
    sortOrder: DESC
    commitment: CONFIRMED
    filters: {
      slot: { gte: 300000000 }
    }
  ) {
    data {
      signature
      parserStatus
      parsed {
        slot
        blockTime
        nativeTransfers {
          fromUserAccount
          toUserAccount
          amount
        }
        tokenTransfers {
          fromUserAccount
          toUserAccount
          rawTokenAmount
          decimals
          mint
        }
      }
    }
    paginationToken
  }
}
```

変数：

```json theme={"system"}
{
  "address": "GV6UUmNxz2RpKxmNAPadYKb7uQpszwqQAu3qLJxVdC52"
}
```

## クエリ引数

### `transactions`

| 引数           | 型            | デフォルト       | 説明                         |
| ------------ | ------------ | ----------- | -------------------------- |
| `signatures` | `[String!]!` | -           | 解析するトランザクションシグネチャ。         |
| `commitment` | `Commitment` | `CONFIRMED` | `CONFIRMED`または`FINALIZED`。 |

### `transactionsByAddress`

| 引数                | 型                                | デフォルト       | 説明                                  |
| ----------------- | -------------------------------- | ----------- | ----------------------------------- |
| `address`         | `String!`                        | -           | トランザクション履歴を取得すべきアドレス。               |
| `limit`           | `Int`                            | `100`       | 返すトランザクションの数。`1`と`100`の間である必要があります。 |
| `beforeSignature` | `String`                         | -           | このシグネチャの前のトランザクションを返します。            |
| `afterSignature`  | `String`                         | -           | このシグネチャの後のトランザクションを返します。            |
| `paginationToken` | `String`                         | -           | 形状`slot:transactionIndex`のカーソル。     |
| `sortOrder`       | `SortOrder`                      | `DESC`      | `ASC`または`DESC`。                     |
| `commitment`      | `Commitment`                     | `CONFIRMED` | `CONFIRMED`または`FINALIZED`。          |
| `filters`         | `AddressTransactionFiltersInput` | -           | オプションの`slot`および`time`の境界。           |

## 生トランザクション

元のトランザクションJSONを含めるために`rawTransaction`を選択してください。

```graphql theme={"system"}
query ParseWithRaw($signatures: [String!]!) {
  transactions(signatures: $signatures) {
    signature
    rawTransaction
    parsed {
      slot
    }
  }
}
```

`rawTransaction`が選択されていない場合、サービスはそれをレスポンスに含めません。
