> ## 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/zh/parsed-events/quickstart#rest-reference) 相同的已解析事务模型，同时允许客户端仅选择所需的字段。

仅当字段被选择时，GraphQL 才会包括 `rawTransaction`。动态解析器有效负载仍然是 JSON 标量，包括解码的指令 `args`、事务执行 `error`、摘要 `parsedData` 和 `rawTransaction`。

## 解析事务

```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` 界限。           |

## 原始交易

选择 `rawTransaction` 来包括原始交易 JSON:

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

如果未选择 `rawTransaction`，服务不会在响应中包含它。
