跳转到主要内容

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 将实时 Solana 数据流推送到你的应用。当你需要在事件发生时获得账户、交易、slot、区块或 entry 更新时,请使用它。 在底层,Yellowstone 可以在 Solana leader 生产 shred 的过程中靠近其节点接入。leader 是按计划生产区块的验证者;shred 是通过网络发送的一小段区块数据。Jito Shreds 加速可以让对延迟敏感的应用更早获得这些数据。

高性能

采用二进制协议和高效序列化,吞吐量最大、带宽占用最小。

实时数据流

支持双向流,可即时创建和取消订阅。

高级过滤

通过账户、交易和程序级过滤器精确控制接收的数据。

多种数据类型

在单一数据流中订阅账户、交易、slot、区块和 entry。

定价与访问

独立方案

€200/月 — 固定费率,无按用量收费

端点

  • 欧洲区域: https://grpc.solanatracker.io
  • 美国区域: https://grpc-us.solanatracker.io

特性

  • 25 个并发 gRPC 连接
  • 超低延迟数据流
  • 由 Jito Shreds 加速
  • 7×24 在线,欧盟 + 美国自动故障切换
  • 不按带宽或请求次数收费
Yellowstone gRPC 也与 RPC Business(€399/月)、RPC Professional(€799/月)及所有专用节点免费捆绑。完整对比见 定价与限制

数据流类型

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

账户监控指南

了解如何使用过滤器示例来流式获取账户更新。

快速开始

数分钟内启动数据流:

Yellowstone gRPC 快速入门

分步设置指南,包含安装、鉴权以及你的第一次数据流。

关键特性

Jito Shreds 加速

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

区域端点

选择最近的端点以获得最佳性能:
  • 欧洲: https://grpc.solanatracker.io
  • 美国: https://grpc-us.solanatracker.io

灵活过滤

精细控制你接收的数据:
  • 按账户、所有者或程序进行过滤
  • 包含或排除投票/失败交易
  • 应用 memcmp 和数据大小过滤器
  • 切片账户数据以减小带宽占用

订阅请求结构

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

核心参数

commitment
string
必填
数据一致性级别
  • processed — 最快,未确认的数据
  • confirmed — 已经过集群确认
  • finalized — 完全最终化的数据
ping
boolean
保持连接活跃有些客户端将其建模为 ping: { id: 1 };另一些则提供布尔助手。请使用与你 Yellowstone 客户端版本匹配的形式。
accounts_data_slice
array
优化账户数据传输请求特定字节范围:
[
  { "offset": 0, "length": 100 },
  { "offset": 200, "length": 50 }
]

过滤器配置

account
array<string>
要监控的账户公钥列表(逻辑或)。
owner
array<string>
要监控的账户所有者列表(逻辑或)。
filters
array<object>
数据大小与内存比较过滤器(逻辑与):
[
  { "dataSize": 165 },
  { "memcmp": { "offset": 0, "bytes": "base58_encoded_bytes" } }
]
多种过滤器类型之间使用逻辑。数组内部的值使用逻辑。
示例:owner: [TOKEN_PROGRAM] 加上 filters: [{ dataSize: 165 }] 表示“由 Token Program 拥有长度恰好为 165 字节的账户。”
vote
boolean
包含或排除投票交易。
failed
boolean
包含或排除失败交易。
signature
string
监控特定的交易签名。
account_include
array<string>
包含涉及其中任意账户的交易(或逻辑)。
account_exclude
array<string>
排除涉及这些账户的交易。
account_required
array<string>
仅包含涉及所有指定账户的交易(与逻辑)。

示例:基础交易监控

一个使用 TypeScript 的最简示例:
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);
对于生产环境部署,请加入重试逻辑、错误处理和结构化的数据处理。详细的实现模式请参考相关指南。

准备开始?

完整设置指南

安装、鉴权以及第一次数据流的实现。

监控 Pump.fun 数据

真实示例:实时流式获取 Pump.fun 交易。

资源