这些保证适用于标准订阅(交易、账户、槽、区块)。预处理交易在单独的尽力传递保证下运行。
精确一次传递
LaserStream保证精确一次传递。每个消息恰好传递到您的流一次——您不会收到重复消息,也不会跳过任何消息。 LaserStream通过同时连接到多个Solana节点并在转发到您的流之前去重传入数据来实现这一点。这种多节点架构还消除了单点故障,确保最大正常运行时间而不牺牲传递的正确性。按承诺级别的消息排序
传递排序取决于消息的承诺级别:确认和最终确定
所有确认和最终确定的消息都是按顺序传递的。您可以依赖这些承诺级别提供一致的、顺序的链上状态视图。处理
所有处理的消息按照升序槽顺序发出,除非出现分叉。在分叉事件中,槽顺序可能会暂时偏离,因为网络围绕规范链重新组织。一旦分叉解决,升序顺序将恢复。插槽通知
已处理的插槽通知是在该插槽的所有消息都已传递后到达的。这意味着,当您收到已处理的插槽通知时,可以确信与该插槽关联的所有交易和账户更新数据已发送到您的流。您可以使用插槽通知作为清除或释放该插槽的缓冲数据的信号。断开连接时的数据连续性
LaserStream 维护最近插槽数据的缓冲区,支持最多 24 小时(约 216,000 个插槽)的历史重播。如果您的应用程序断开连接,您可以重新连接并从上一个已处理的插槽继续,不会丢失任何数据。 使用LaserStream SDK 客户端时,此恢复会自动处理——客户端通过插槽号跟踪您的流位置,并无缝重新连接。无需手动重新连接逻辑。承诺级别参考
| 级别 | 描述 | 延迟 | 排序 | 回退风险 |
|---|---|---|---|---|
| 已处理 | 包含在节点已知的最新区块中;尚无集群范围内的投票 | ~400毫秒 | 插槽顺序递增(可能在分叉期间中断) | 插槽被跳过或分叉的可能性较小 |
| 已确认 | 大多数权益(≥66%)已对区块投票(乐观确认) | 几秒钟 | 严格排序 | 可以忽略不计 |
| 最后确定 | 已确认且至少有31个额外的已确认区块建立在其上(32票锁定) | ~12-15秒 | 严格排序 | 基本不可逆 |