跳转到主要内容
Jetstream v1 已弃用。 新集成应使用 Jetstream 协议参考。v1 仍可供现有集成使用。

可用端点

Jetstream 在所有 OrbitFlare 地区均可使用。连接到距您基础设施最近的地区以获得最低延迟。
Jetstream 使用普通 http://(而非 https://)进行 gRPC 连接。gRPC 通过 HTTP/2 使用自己的传输安全协商。仅当您的专用节点明确要求时才使用 https://。

Protocol Buffer 规范

本文档概述了 OrbitFlare Jetstream 使用的 Protocol Buffer (protobuf) 规范。完整规范可在我们的 GitHub 仓库 中找到。

服务定义

请求消息

SubscribeRequest

用于订阅数据更新的主要请求消息:

交易过滤

账户过滤

账户过滤器在 proto 中有定义,但尚未实现。Jetstream 不推送账户更新,因此请将 SubscribeRequest 中的 accounts 映射留空。如需按账户匹配交易,请使用交易过滤器的 account_include、account_exclude 和 account_required 字段。如需账户更新,请使用 Yellowstone gRPC。

Ping 请求

响应消息

SubscribeUpdate

包含更新的主要响应消息:

交易更新

账户更新

尚未实现。Jetstream 不会发送账户更新;此消息仅因属于 proto 而列出。

Ping/Pong 更新

共享类型

解析指令支持

解析请求

解析交易更新

指令类型

非流式方法

使用协议

实现 Jetstream 客户端时,您需要:
  1. 从 protobuf 定义生成客户端代码
  2. 实现 Subscribe RPC 方法用于数据流
  3. 使用 Ping/Pong 进行连接健康检查
  4. 使用 GetVersion 检查服务器兼容性
  5. 处理不同类型的更新(交易、pong)

代码生成

TypeScript/JavaScript:
Rust:

最佳实践

  1. 版本兼容性
    • 使用 GetVersion 检查协议兼容性
    • 监控 beta 版本中的破坏性变更
    • 升级时进行充分测试
  2. 错误处理
    • 为所有消息类型实现适当的错误处理
    • 优雅地处理连接失败
    • 在处理之前验证消息字段
  3. 连接管理
    • 使用 Ping/Pong 进行连接健康检查
    • 实现自动重连逻辑
    • 设置适当的超时时间
  4. 性能
    • 使用适当的过滤器最小化不必要的数据
    • 使用 account_include、account_exclude 和 account_required 收窄交易过滤器
    • 监控资源使用情况,特别是使用宽泛的交易过滤器时

另请参阅

Jetstream 概览

入门指南、示例和过滤文档。

更新日志

版本历史和协议更新。

支持

如有关于协议规范或实现细节的技术问题,请访问我们的 GitHub 仓库 或加入我们的 Discord 社区。