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

# Solana Yellowstone gRPC：实时数据流

> 使用 gRPC 协议进行高性能、实时的 Solana 区块链数据流传输，提供高级过滤功能和超低延迟交付，专为开发者设计。

<Note>
  **寻找Helius的管理gRPC服务？** 此页面记录了开放的**Yellowstone gRPC**协议作为参考。对于拥有24小时历史重播、多节点故障转移和全管理环境的生产使用，请参见[LaserStream](/zh/laserstream)——Helius与Yellowstone兼容的gRPC产品。
</Note>

## 什么是Yellowstone gRPC？

Yellowstone gRPC通过直接连接Solana领导节点接收生成中的分片，提供Solana区块链数据的**超低延迟流**。这将实时数据以最小的延迟传递到您的应用程序。

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

  <Card title="实时流" icon="wave-pulse">
    双向流，立即创建和取消订阅
  </Card>

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

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

## 流类型

<Tabs>
  <Tab title="账户">
    **实时监控账户变更**

    跟踪余额更新、数据修改、所有权变更和账户创建/删除事件，并提供精确的过滤选项。

    <Card title="账户监控指南" icon="user" href="/zh/grpc/account-monitoring">
      学习如何通过过滤示例来流式传输账户更新
    </Card>
  </Tab>

  <Tab title="交易">
    **流式传输交易数据和执行结果**

    实时接收交易签名、执行状态、程序交互和代币余额更改。

    <Card title="交易监控指南" icon="receipt" href="/zh/grpc/transaction-monitoring">
      使用程序过滤和执行详细信息监控交易
    </Card>
  </Tab>

  <Tab title="插槽和区块">
    **跟踪网络共识和区块生成**

    在不同承诺级别上监控插槽更新、区块创建和网络状态变化。

    <Card title="插槽和区块监控指南" icon="cube" href="/zh/grpc/slot-and-block-monitoring">
      流式传输插槽和区块以及交易详细信息
    </Card>
  </Tab>

  <Tab title="条目">
    **低级区块链条目监控**

    访问包含交易批次及其结果的基本执行单元。

    <Card title="条目监控指南" icon="code" href="/zh/grpc/entry-monitoring">
      流式传输区块条目和交易批次
    </Card>
  </Tab>
</Tabs>

## 如何访问Yellowstone gRPC

选择最符合您需求的选项：

### LaserStream

[LaserStream](/zh/laserstream/) 是一个多租户、高可用的gRPC服务，具有自动故障转移和[24小时历史回放功能](/zh/laserstream/historical-replay)。非常适合大多数生产应用程序。

<Tip>
  从您的[Helius Dashboard](https://dashboard.helius.dev/laserstream)入手使用LaserStream。主网需要企业或专业计划；Devnet在开发者及以上计划中可用。详情请参阅[计划与定价](/zh/billing/plans)。
</Tip>

### 专用节点

[Dedicated Nodes](/zh/dedicated-nodes/) 提供一个独享的gRPC端点，具有资源隔离保证。适合特殊需求和高级操作员。

### 比较gRPC选项

需要帮助做决定？阅读我们的[gRPC比较指南](/zh/laserstream/laserstream-vs-dedicated-nodes)以确定LaserStream或专用节点是否最适合您的用例。

## 快速开始

准备好开始流式传输了吗？

请先阅读我们的综合设置指南，或者从您的仪表板开始：

<CardGroup>
  <Card title="Yellowstone gRPC快速入门" icon="rocket" href="/zh/grpc/quickstart">
    涵盖安装、认证和配置您的第一个流
  </Card>

  <Card title="开始使用" icon="rocket" href="https://dashboard.helius.dev/laserstream">
    从您的Helius Dashboard启用LaserStream并开始流式传输。
  </Card>
</CardGroup>

## 订阅请求结构

每个gRPC订阅都需要一个结构正确的请求。以下是如何构建一个：

### 核心参数

<ParamField path="commitment" type="string" required>
  **数据一致性的承诺级别**

  * `processed` - 交易由节点处理
  * `confirmed` - 交易由集群确认
  * `finalized` - 交易由集群完成
</ParamField>

<ParamField path="ping" type="boolean" optional>
  **保持连接活跃**

  设置为`true`以每15秒接收pong消息，防止来自负载均衡器或代理的连接超时。
</ParamField>

<ParamField path="accounts_data_slice" type="array" optional>
  **优化数据传输**

  请求来自账户数据的特定字节范围：

  ```json theme={"system"}
  [
    { "offset": 0, "length": 100 },
    { "offset": 200, "length": 50 }
  ]
  ```
</ParamField>

### 过滤器配置

<Accordion title="账户过滤器">
  <ParamField path="account" type="array<string>">
    要监控的账户公钥数组（逻辑或）
  </ParamField>

  <ParamField path="owner" type="array<string>">
    要监控的所有者公钥数组（逻辑或）
  </ParamField>

  <ParamField path="filters" type="array<object>">
    DataSize 和 Memcmp 过滤器（逻辑与）：

    ```json theme={"system"}
    [
      { "dataSize": 165 },
      { "memcmp": { "offset": 0, "bytes": "base58_encoded_bytes" } }
    ]
    ```
  </ParamField>

  <Info>
    当使用多个过滤器类型时，它们作为逻辑与操作。在数组内，值作为逻辑或操作。
  </Info>
</Accordion>

<Accordion title="交易过滤器">
  <ParamField path="vote" type="boolean">
    包含/排除投票交易
  </ParamField>

  <ParamField path="failed" type="boolean">
    包含/排除失败的交易
  </ParamField>

  <ParamField path="signature" type="string">
    监控特定交易签名
  </ParamField>

  <ParamField path="account_include" type="array<string>">
    包含涉及这些账户的交易（逻辑或）
  </ParamField>

  <ParamField path="account_exclude" type="array<string">
    排除涉及这些账户的交易
  </ParamField>

  <ParamField path="account_required" type="array<string>">
    包含涉及所有这些账户的交易（逻辑与）
  </ParamField>
</Accordion>

<Accordion title="区块过滤器">
  <ParamField path="account_include" type="array<string>">
    过滤区块内的交易和账户
  </ParamField>

  <ParamField path="include_transactions" type="boolean">
    包含区块内的所有交易
  </ParamField>

  <ParamField path="include_accounts" type="boolean">
    包含区块内的所有账户更新
  </ParamField>

  <ParamField path="include_entries" type="boolean">
    包含区块内的所有条目
  </ParamField>
</Accordion>

<Accordion title="插槽过滤器">
  <ParamField path="filter_by_commitment" type="boolean" default="false">
    当 `true` 时，仅接收指定承诺级别的插槽更新。当 `false` 时，接收所有承诺级别的更新。
  </ParamField>
</Accordion>

***

## 示例：基础交易监控

这里有一个完整的示例，帮助您入门：

```typescript theme={"system"}
import Client, { CommitmentLevel, SubscribeRequest } from "@triton-one/yellowstone-grpc";

const client = new Client("your-grpc-endpoint", "your-api-token", {
  "grpc.max_receive_message_length": 64 * 1024 * 1024
});

const stream = await client.subscribe();

// Handle incoming data
stream.on("data", (data) => {
  if (data.transaction) {
    console.log(`Transaction: ${data.transaction.signature}`);
    console.log(`Success: ${!data.transaction.meta?.err}`);
  }
});

// Subscribe to transactions with complete request structure
const subscribeRequest: SubscribeRequest = {
  transactions: {
    client: {
      accountInclude: [
        "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", // Token Program
        "11111111111111111111111111111111"               // System Program
      ],
      accountExclude: [],
      accountRequired: [],
      vote: false,
      failed: false
    }
  },
  commitment: CommitmentLevel.CONFIRMED,
  ping: { id: 1 }
};

stream.write(subscribeRequest);
```

<Note>
  这是一个基础示例。用于生产时，请实现适当的错误处理、重新连接逻辑和数据处理。请参阅我们的详细指南以获取完整实现。
</Note>

***

## 准备开始了吗？

<CardGroup cols={2}>
  <Card title="完整安装指南" icon="rocket" href="/zh/grpc/quickstart">
    安装、身份验证和第一个流的实现
  </Card>

  <Card title="流泵 AMM 数据" icon="chart-line" href="/zh/grpc/stream-pump-amm-data">
    实际示例：监控泵 AMM 交易
  </Card>
</CardGroup>

## 高级资源

* **[Yellowstone gRPC 源代码库](https://github.com/rpcpool/yellowstone-grpc)** - 完整的 protobuf 定义和示例
* **[Discord 社区](https://discord.com/invite/6GXdee3gBj)** - 获得开发者和 Helius 团队的帮助
* **[LaserStream 文档](/zh/laserstream/)** - 增强的 gRPC 服务，具有附加功能
