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

# Yellowstone gRPC

> 通过 gRPC 进行高性能、实时的 Solana 区块链数据流传输，支持高级过滤

## 什么是 Yellowstone gRPC？

Yellowstone gRPC 是一个 [Geyser 插件](https://github.com/rpcpool/yellowstone-grpc)，可以以超低延迟将 Solana 区块链数据直接流式传输到您的后端。它使用双向 gRPC 流，允许您动态创建和取消订阅，无需重新连接。

通过 Yellowstone，您可以订阅：

* **账户** — 实时余额和数据变化
* **交易** — 交易处理时的执行结果
* **Slot** — 跨承诺级别的网络共识进度
* **区块** — 完整区块数据，可选择包含交易/账户信息
* **条目** — 区块内的低级执行单元

<CardGroup cols={2}>
  <Card title="高性能" icon="bolt">
    二进制协议，高效序列化，最大化吞吐量，最小化带宽占用。
  </Card>

  <Card title="实时流式传输" icon="wave-pulse">
    双向流式传输，即时创建和取消订阅——无需重新连接。
  </Card>

  <Card title="高级过滤" icon="filter">
    通过账户、交易和程序过滤器精确控制接收的数据。
  </Card>

  <Card title="多种数据类型" icon="database">
    在单一流中订阅账户、交易、Slot、区块和条目。
  </Card>
</CardGroup>

## 通过 OrbitFlare 访问

Yellowstone gRPC 可通过以下方式访问：

* **OrbitFlare Pass** — 包含在有效的 NFT Pass 许可证中
* **gRPC 订阅** — 独立 gRPC 计划
* **专用 gRPC 节点** — 完全隔离，无限吞吐量

请参阅 [产品](/cn/products) 页面了解定价和计划详情。

## 订阅请求结构

每个 gRPC 订阅都共享相同的基础请求结构：

```typescript theme={null}
const subscriptionRequest: SubscribeRequest = {
  commitment: CommitmentLevel.CONFIRMED, // processed | confirmed | finalized
  accountsDataSlice: [],                 // 可选：请求特定字节范围
  ping: { id: 1 },                       // 可选：保持连接活跃
  accounts: {},
  transactions: {},
  slots: {},
  blocks: {},
  blocksMeta: {},
  entry: {},
};
```

| 参数                  |  必填 | 描述                                         |
| ------------------- | :-: | ------------------------------------------ |
| `commitment`        |  是  | 承诺级别：`processed`、`confirmed` 或 `finalized` |
| `accountsDataSlice` |  否  | `{ offset, length }` 数组，用于接收账户数据的特定字节范围    |
| `ping`              |  否  | 发送 ping 以保持连接活跃。服务器每 15 秒响应一次 pong         |

<Note>
  云负载均衡器（如 Cloudflare）通常在 10 分钟不活动后关闭 gRPC 连接。始终每 30 秒发送一次 ping 以防止断开连接。
</Note>

## 流类型

<Tabs>
  <Tab title="账户">
    监控实时账户变化——余额更新、数据修改、所有权变更以及创建/删除事件。按特定账户地址、所有者程序、数据大小或字节模式进行过滤。

    [账户监控指南 →](/cn/data-streaming/yellowstone-account-monitoring)
  </Tab>

  <Tab title="交易">
    接收交易签名、执行状态、程序交互和代币余额变化。按涉及的账户、投票状态和失败状态进行过滤。

    [交易监控指南 →](/cn/data-streaming/yellowstone-transaction-monitoring)
  </Tab>

  <Tab title="Slot 与区块">
    跨承诺级别追踪 Slot 进度，并接收完整区块数据，可配置是否包含交易、账户和条目。

    [Slot 与区块指南 →](/cn/data-streaming/yellowstone-slot-block-monitoring)
  </Tab>

  <Tab title="条目">
    访问构成区块的基本执行单元——最低粒度级别的交易批次及其结果。

    [条目监控指南 →](/cn/data-streaming/yellowstone-entry-monitoring)
  </Tab>
</Tabs>

## 开始使用

<CardGroup cols={2}>
  <Card title="快速入门" icon="rocket" href="/cn/data-streaming/yellowstone-quickstart">
    安装客户端，连接到您的端点，并在几分钟内发送第一个订阅。
  </Card>

  <Card title="账户监控" icon="user" href="/cn/data-streaming/yellowstone-account-monitoring">
    通过精确过滤流式传输实时账户更新。
  </Card>

  <Card title="交易监控" icon="receipt" href="/cn/data-streaming/yellowstone-transaction-monitoring">
    使用程序和账户过滤器监控交易。
  </Card>

  <Card title="Slot 与区块" icon="cube" href="/cn/data-streaming/yellowstone-slot-block-monitoring">
    实时追踪网络共识和区块生产。
  </Card>
</CardGroup>
