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

# Yellowstone gRPC

> 通过 Yellowstone gRPC 实现高性能、低延迟的 Solana 实时数据流——订阅 slot、区块、交易、账户与 entry 更新并按需过滤。

Yellowstone gRPC 将实时 Solana 数据流推送到你的应用。当你需要在事件发生时获得账户、交易、slot、区块或 entry 更新时，请使用它。

在底层，Yellowstone 可以在 Solana leader 生产 shred 的过程中靠近其节点接入。leader 是按计划生产区块的验证者；shred 是通过网络发送的一小段区块数据。Jito Shreds 加速可以让对延迟敏感的应用更早获得这些数据。

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

  <Card title="实时数据流" icon="heart-pulse" iconType="duotone">
    支持双向流，可即时创建和取消订阅。
  </Card>

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

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

***

## 定价与访问

<Card title="独立方案" icon="credit-card" iconType="duotone">
  **€200/月** — 固定费率，无按用量收费

  ### 端点

  * **欧洲区域：** `https://grpc.solanatracker.io`
  * **美国区域：** `https://grpc-us.solanatracker.io`

  ### 特性

  * 25 个并发 gRPC 连接
  * 超低延迟数据流
  * 由 Jito Shreds 加速
  * 7×24 在线，欧盟 + 美国自动故障切换
  * 不按带宽或请求次数收费
</Card>

Yellowstone gRPC 也与 RPC Business（€399/月）、RPC Professional（€799/月）及所有专用节点**免费捆绑**。完整对比见 [定价与限制](/cn/pricing)。

***

## 数据流类型

<Tabs>
  <Tab title="账户">
    **实时监控账户状态变化**

    通过灵活的过滤器跟踪余额更新、数据修改、所有权变更以及账户创建/删除事件。

    <Card title="账户监控指南" icon="user" iconType="duotone" href="/cn/yellowstone-grpc/account-monitoring">
      了解如何使用过滤器示例来流式获取账户更新。
    </Card>
  </Tab>

  <Tab title="交易">
    **流式获取交易执行数据**

    实时接收交易签名、状态、程序调用以及代币余额更新。

    <Card title="交易监控指南" icon="receipt" iconType="duotone" href="/cn/yellowstone-grpc/transaction-monitoring">
      利用程序级过滤器和执行细节监控交易。
    </Card>
  </Tab>

  <Tab title="Slot 与区块">
    **跟踪共识与区块生产**

    在不同 commitment 级别下流式获取 slot 更新、区块生成以及网络状态变化。

    <Card title="Slot 与区块监控指南" icon="cube" iconType="duotone" href="/cn/yellowstone-grpc/slot-block-monitoring">
      流式获取 slot 和区块及其交易详情。
    </Card>
  </Tab>

  <Tab title="Entry">
    **监控底层区块链 entry**

    访问包含交易批次与执行结果的核心执行单元。

    <Card title="Entry 监控指南" icon="code" iconType="duotone" href="/cn/yellowstone-grpc/entry-monitoring">
      流式获取 entry 与交易批次。
    </Card>
  </Tab>
</Tabs>

***

## 快速开始

数分钟内启动数据流：

<Card title="Yellowstone gRPC 快速入门" icon="rocket" iconType="duotone" href="/cn/yellowstone-grpc/quickstart">
  分步设置指南，包含安装、鉴权以及你的第一次数据流。
</Card>

***

## 关键特性

### Jito Shreds 加速

通过 **Jito Shreds** 进行增强，相比标准 Yellowstone gRPC 节点可提前 **50–100 毫秒** 提供数据。

### 区域端点

选择最近的端点以获得最佳性能：

* **欧洲：** `https://grpc.solanatracker.io`
* **美国：** `https://grpc-us.solanatracker.io`

### 灵活过滤

精细控制你接收的数据：

* 按账户、所有者或程序进行过滤
* 包含或排除投票/失败交易
* 应用 `memcmp` 和数据大小过滤器
* 切片账户数据以减小带宽占用

***

## 订阅请求结构

每个 gRPC 订阅都包含一个结构化请求，用于定义要流式传输的内容和方式。

### 核心参数

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

  * `processed` — 最快，未确认的数据
  * `confirmed` — 已经过集群确认
  * `finalized` — 完全最终化的数据
</ParamField>

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

  有些客户端将其建模为 `ping: { id: 1 }`；另一些则提供布尔助手。请使用与你 Yellowstone 客户端版本匹配的形式。
</ParamField>

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

  请求特定字节范围：

  ```json theme={null}
  [
    { "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>">
    数据大小与内存比较过滤器（逻辑与）：

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

  <Info>
    多种过滤器类型之间使用**与**逻辑。数组内部的值使用**或**逻辑。
  </Info>

  示例：`owner: [TOKEN_PROGRAM]` 加上 `filters: [{ dataSize: 165 }]` 表示“由 Token Program 拥有**且**长度恰好为 165 字节的账户。”
</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>

***

## 示例：基础交易监控

一个使用 TypeScript 的最简示例：

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

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

const stream = await client.subscribe();

// 处理传入数据
stream.on("data", (data) => {
  if (data.transaction) {
    console.log(`Transaction: ${data.transaction.signature}`);
    console.log(`Success: ${!data.transaction.meta?.err}`);
  }
});

// 订阅交易
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" iconType="duotone" href="/cn/yellowstone-grpc/quickstart">
    安装、鉴权以及第一次数据流的实现。
  </Card>

  <Card title="监控 Pump.fun 数据" icon="chart-line" iconType="duotone" href="/cn/yellowstone-grpc/examples/pumpfun-transactions">
    真实示例：实时流式获取 Pump.fun 交易。
  </Card>
</CardGroup>

***

## 资源

* **[Yellowstone gRPC 仓库](https://github.com/rpcpool/yellowstone-grpc)** — 完整 protobuf 定义和示例客户端
* **[支持](mailto:support@solanatracker.io)** — 获取部署或集成方面的帮助
