跳至内容
0%

什么是 Solana Geyser Plugin?2026 年开发者指南

Alchemy team headshot

作者 Alchemy

发布于 2026年5月20日3 分钟阅读

Solana Geyser Plugin 数据栈

TL;DR:Geyser、Yellowstone,以及何时该用流式传输

  • Geyser: 一个验证者侧插件,将账户更新、slot、交易、区块和 entry 推送给外部系统。无需轮询。
  • Yellowstone gRPC: 目前大多数开发者使用的网络协议。它封装 Geyser,并通过网络对外暴露流。
  • 需要流式传输的场景: 你需要每一次账户写入、亚秒级确认,或者你在循环调用 getProgramAccounts(索引器、MEV、成交引擎、AMM 监控)。
  • 使用 RPC 的场景: 偶尔性读取(余额、单笔交易、当前 slot)。
  • Alchemy: 提供验证者 + Geyser + 兼容 Yellowstone 的 gRPC。平均 5-15ms 送达延迟,多节点冗余,起价 $75/TB,无月度最低消费。

如果你只想读一节内容,请阅读你的团队什么时候该关注 Geyser?

Solana Geyser Plugin 是一个验证者侧接口,将实时状态变化(账户更新、slot 状态、交易、区块和 entry)从 Solana 验证者流式传输到数据库、消息队列或索引器等外部系统。

Geyser 是验证者内部的机制。目前大多数开发者接触的协议是 Yellowstone gRPC,它建立在 Geyser 之上,通过网络暴露这些流,使应用无需自己运行验证者即可消费它们。偶尔查询时使用 Solana RPC。当你需要实时获取每一次账户变化、交易或 slot,而不是在循环中调用 getProgramAccounts 时,使用兼容 Yellowstone 的 Geyser 流。

Solana Geyser Plugin 自 2023 年以来发生了什么变化

Geyser 随 Solana 1.9 作为验证者内部的一个 plugin trait 推出。2023 年时,大多数团队会自己运行验证者,并直接编译进一个 PostgreSQL 或 Kafka 插件。这种模式现在已经不常见了。

此后:

  • Yellowstone gRPC(最初由 Triton One 开发,现由社区维护)成为封装 Geyser、通过网络暴露流的标准协议。如今大多数所谓的 "Geyser 提供商" 实际上卖的是兼容 Yellowstone 的 gRPC。
  • 托管提供商Alchemy、Helius、Triton 等)代你运行验证者和 Geyser 插件,并在 API key 之后暴露流式端点
  • 索引管道如 Substreams、Carbon 以及各种自建方案,消费 Yellowstone 流,而不是轮询 RPC。

如果你的博客或文档还在说"把 PostgreSQL 插件编译进你的验证者",这种工作流仍然存在,但已不再是大多数团队采用的路径。想对比运行这些方案的各家提供商,可参考我们的顶级 Solana RPC 提供商指南

Solana Geyser Plugin 实际做了什么

Geyser 插件是验证者启动时加载的共享库。验证者实现了 GeyserPlugin trait,每当链上发生值得关注的事情,就会调用插件。插件随后决定如何处理这些数据:写入数据库、推送到队列、通过 gRPC 流发送出去、丢弃它,等等。

验证者负责推送,插件负责响应。这就是整个模型。没有轮询、没有 RPC 调用、也没有速率限制。数据在验证者处理的那一刻就到达。

可以流式传输哪些内容

Geyser 为以下内容暴露了钩子:

  1. 账户更新: 每一次对每个账户的写入,包含 slot、写入版本和完整账户数据。
  2. slot 状态变化: processedconfirmedrooted
  3. 交易: 完整的交易详情,包括日志和内部指令,在验证者确认交易时提供。
  4. 区块: 区块元数据,包括奖励、父 slot 和 entry 数量。
  5. entry: 子区块单元(PoH entry),对延迟最敏感的消费者有用。

插件可以订阅任意子集。Yellowstone gRPC 将同一组钩子以订阅流的形式暴露出来,并支持服务端过滤(按账户、程序、owner、签名或数据切片)。

你的团队什么时候该关注 Geyser?

在以下任一情况成立时,使用基于 Geyser 的流:

  • 你需要某个程序(例如 AMM、订单簿、借贷市场)的每一次账户写入。getProgramAccounts 既太慢又太贵。
  • 你在构建索引器、成交引擎、MEV 机器人或实时分析管道。
  • 你需要亚秒级延迟的交易确认事件。
  • 你在分页拉取大型数据集,并因此消耗大量 RPC 额度。
  • 你需要有序、无缺口的程序状态历史。

以下情况你可能需要 Geyser:

  • 你只是偶尔读取(代币余额、单笔交易查询、当前 slot)。RPC 是合适的工具。
  • 你的应用以用户驱动的查询为主,而非写入流消费。

Geyser、Yellowstone、gRPC 和索引器如何协同工作

现代 Solana 数据栈是一个四层架构:

Layer
What it is
Who runs it

Validator

The Solana node processing transactions

Validator operators (or your provider)

Geyser plugin

Validator-loaded library that receives state-change callbacks

Compiled into the validator

Yellowstone gRPC

Standardized streaming protocol on top of Geyser

Exposed by your provider's endpoint

Indexer / consumer

Your app, your database, your pipeline

You

大多数现代 Solana 应用从不直接接触验证者或 Geyser 插件。它们建立一条 Yellowstone gRPC 连接,订阅自己关心的数据切片(按程序、owner、签名等过滤),并将事件流式传输到自建的存储或处理层。流式传输提供商负责运行验证者、加载 Geyser 插件,并在该连接的另一端暴露 Yellowstone。

兼容 Yellowstone 的 gRPC 在 Rust、TypeScript、Go 以及任何能编译 .proto 的语言中都被广泛支持,因此在提供商之间迁移通常只需更换 URL 和 key。

Alchemy 在现代 Solana 数据栈中的位置

Alchemy 为你运行验证者、Geyser 插件,以及兼容 Yellowstone 的 gRPC 层。如果你正在评估提供商,以下几点值得了解:

  • 兼容 Yellowstone 的 gRPC 在 Rust、TypeScript、Go 中即插即用。迁移只需更换 URL。
  • 平均 5-15ms 送达延迟: 为延迟敏感型消费者提供首个 slot 数据保证。
  • 48 小时区块回放,6,000 多个历史 slot: 可按需恢复,因此短暂的断连或重启不会造成数据丢失。
  • 多节点冗余: 每个订阅都会分发到多个上游节点,因此单个慢速或卡顿的节点不会影响到你的流。
  • 区域端点: 美国东部、美国西部、欧洲中部、亚太地区。
  • 只为你所流式传输的内容付费: 每 TB $75,无月度最低消费。
  • 兼容 Prometheus 的指标: 内置在 Alchemy 仪表盘中的按流遥测数据。

Alchemy 的 Solana 技术栈是与来自 DexterLab 和 Bware Labs 的资深 Solana 工程师从零合作打造的,为 Phantom、Solflare、Robinhood、OpenSea 和 Circle 提供支持。

常见问题

什么是 Solana Geyser Plugin?

Geyser Plugin 是一个验证者侧接口,将实时状态变化(账户更新、slot 状态、交易、区块和 entry)从 Solana 验证者流式传输到外部系统。它采用推送模型:验证者在数据到达时通知插件,没有轮询或 RPC 开销。

Geyser 和 Yellowstone 有什么区别?

Geyser 是验证者内部的插件接口。Yellowstone 是(构建在 gRPC 之上的)网络协议,将 Geyser 流暴露给远程客户端。如今大多数开发者接触的是 Yellowstone,而非直接接触 Geyser。他们连接到由流式传输提供商运营的 Yellowstone gRPC 端点,而不是把 Geyser 插件编译进自己的验证者。

我应该什么时候使用 Geyser/Yellowstone 而不是 RPC?

当你需要实时获取每一次账户写入、每一笔交易或每一个 slot 时,使用流式传输。这在索引器、MEV 机器人、成交引擎、AMM/订单簿监控以及实时分析中很常见。偶尔读取(余额、单笔交易、单个账户)时使用 RPC。如果你发现自己在循环中调用 getProgramAccounts,那就是切换到流式传输的信号。

使用 Geyser 需要自己运行验证者吗?

不需要。2023 年时这很常见;到 2026 年,大多数团队使用由提供商代为处理验证者和 Geyser 插件的托管式、兼容 Yellowstone 的 gRPC 端点。自托管仅适用于有监管或主权要求的团队。

通过 Geyser/Yellowstone 订阅可以流式传输哪些内容?

账户更新、slot 状态变化(processed/confirmed/rooted)、包含日志和内部指令的交易、区块元数据,以及 PoH entry。Yellowstone gRPC 支持按账户、程序、owner、签名或数据切片进行服务端过滤,因此流中只会携带你的应用需要的内容。

如何在 Yellowstone 提供商之间迁移?

Yellowstone 是一个标准化协议,因此大多数迁移只需更换 URL 和 API key。请先确认新提供商支持你所使用的流和过滤器,在预发布环境测试,再逐步切换流量。不同提供商的"重连并回填"行为有所不同,切换生产环境负载前请务必确认。

Geyser/Yellowstone 流式传输的费用是多少?

定价模式各不相同。按 TB 计费(Alchemy:起价 $75/TB,无月度最低消费)对于突发性负载来说最为可预测。有些提供商将 gRPC 打包进月度套餐并附带一定数据量,在流量稳定时可能更便宜,但一旦流量激增就会变得昂贵。在做出决定前,务必按照你实际的订阅过滤条件进行基准测试。

准备好在 Solana 上构建了吗?使用 Alchemy 兼容 Yellowstone 的 gRPC 进行流式传输:即插即用、多节点冗余,且 $75/TB 无月度最低消费。

Background gradient

构建区块链应用

Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。