Skip to main content

安装

ws 为可选对等依赖。仅在使用 WebSocket 客户端时才需要安装。

构建客户端

最简配置:
注意 .build() 为异步 - 在返回前会建立 WebSocket 连接。若连接失败,Promise 会立即拒绝。

构建器方法

.url(url) - 主 WebSocket 端点。回退读取环境变量 ORBITFLARE_WS_URL
.urls([...]) - 一次设置主端点与备用端点。
.fallbackUrl(url) / .fallbackUrls([...]) - 添加故障转移端点。重连时 SDK 会轮换尝试。
.apiKey(key) - 许可证密钥。回退读取环境变量 ORBITFLARE_LICENSE_KEY
.retry(policy) - 重连退避。默认:初始 100ms、最大 30s、2 倍乘数、无限次尝试。
.pingIntervalSecs(n) - SDK 发送 WebSocket Ping 帧的频率。默认:10。
.maxMissedPongs(n) - 多少次 Ping 无应答后终止连接。默认:3。

可用订阅

slotSubscribe()

在槽位被处理、确认或最终确定时触发。
每条事件为含 slotparentroot 字段的对象:

accountSubscribe(address, commitment)

指定账户数据变更时触发。
返回含 lamports、owner 与可执行标志的 base64 编码账户数据。

logsSubscribe(mentions, commitment)

提及给定地址的交易产生日志时触发。传入空数组表示所有交易。
全部日志:

signatureSubscribe(signature, commitment)

交易达到给定承诺级别时触发一次。适合确认刚发送的交易。

读取事件

所有订阅返回 WsSubscription。调用 .next() 获取下一条事件:
订阅关闭时 .next() 解析为 undefined 也可附加事件监听式回调:

取消订阅

向服务器发送取消订阅消息。若丢弃订阅而未调用,SDK 会检测孤立订阅并自动发送取消。

多路订阅

所有订阅共用单一 WebSocket 连接。SDK 在内部将通知路由到正确订阅。
可在已有订阅运行时随时添加新订阅。

重连

若连接断开,后台任务会以指数退避重连并自动重新订阅所有内容。.next() 调用会持续工作 - 连接恢复后事件会继续到达。

完整示例

监控脚本:订阅槽位更新与 USDC 账户变更,打印实时流。