本文对比了 Solana 中两种数据流:Shreds 和 Yellowstone gRPC,Shreds 提供原始、快速的数据,但缺乏完整交易信息和过滤功能,Yellowstone gRPC 提供完整交易信息,但速度较慢。RabbitStream 结合了两者的优点,提供接近 Shreds 的速度,同时具备 Yellowstone gRPC 的过滤和易用性,适合对速度有较高要求的开发者。

在 Solana 上,速度 不仅仅是重要的,而是 一切。 如果你正在构建高风险应用程序,例如 交易机器人 或 代币狙击器,那么比竞争对手提前几毫秒检测到交易就是你获胜的方式。 为了了解根据速度和上下文使用哪种工具进行流式传输,我们必须首先了解来自 Solana 验证器的两个数据流源之间的差异:Shreds 和 Yellowstone gRPC。
如果你错过了,这里有一篇 Rabbitstream 简介。
Yellowstone gRPC 插件,或称为 Geyser 插件,是 Solana 的官方接口,用于从验证器中流式传输结构化数据。 数据在交易完成完整的验证器管道(RPC 中的 Gossip、分片和执行)后提取,然后使用 Yellowstone 插件进行流式传输。
这是此接口最广泛采用且经过实战考验的实现:Yellowstone gRPC Geyser。
meta 字段、日志和余额。Shreds 是 Solana 验证器使用 Turbine 协议立即发送到网络的 原始小数据包。 数据在 Gossip 和分片步骤之后立即提取,在 RPC 执行交易之前,因此 速度更快。 但是,由于它不是由 RPC 执行的,因此不会生成执行后数据,即 meta、innerInstructions、logs 和 balances。
这在 狙击机器人 中特别有用,因为不需要完整的交易,只需要必要的上下文。
区别很明显:Shreds 提供原始、即时的信号(最快的检测),而 Yellowstone gRPC 提供可靠、完整的报告(最多的上下文)。

Yellowstone 和 Rabbitstream 之间的区别
虽然原始 shreds 提供了无与伦比的速度,但使用它们会对开发人员带来一些技术和财务挑战:
meta),包括程序日志、内部指令以及预/后代币余额等关键数据。 这从根本上限制了它们主要用于简单的狙击策略。RabbitStream 提供直接从 shreds 提取的 实时交易,这些 shreds 直接来自 leaders,并通过 gRPC 接口进行流式传输。 它 结合 了 shreds 的传输速度,以及 Yellowstone 的可用性和过滤能力。
了解更多关于 Rabbitstream 的信息 — 来自 Shyft 的全新流媒体解决方案 ](https://docs.shyft.to/rabbitstream/rabbitstream-overview),它比原始 shreds 提供了一些优势。
SubscribeRequest 格式。 按 accountInclude、accountRequired 等进行过滤——你的终端不需要复杂的解码。
Rabbitstream 和 Yellowstone gRPC 的数据流
想知道如何使用 Rabbitstream 连接和流式传输数据吗? 在 这里 查找更多信息。 ](https://miro.medium.com/v2/resize:fit:700/1*g8zNshH8ssD7R6ihlInbKA.png)
响应中的差异:meta 字段
你可以在 Shyft 文档 上找到更多关于 Rabbitstream 响应 及其差异的信息。 ](https://github.com/Shyft-to/yellowstone-grpc-vs-rabbitstream) 检测器。 我们的初步测试显示,始终如一的 速度优势 从 ~ 15 毫秒到 100 毫秒不等。
我们相信 RabbitStream 代表了对专注于速度关键型应用程序的开发人员的重要解锁。
如果你喜欢这篇文章,请随时查看我们关于 Rabbitstream 简介 或 使用 Yellowstone gRPC 重放插槽 的其他文章。 非常感谢你的阅读时间。
构建快乐!
- 原文链接: blogs.shyft.to/shreds-vs...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!