跳转到主要内容
本页的每个程序都是完整的。把它复制到文件中,设置好密钥,然后运行即可。每个程序在发布前都已在真实的 OrbitFlare 端点上运行过。

开始之前

先设置一次许可证密钥。三个 SDK 都会从环境变量中读取它,因此密钥永远不必出现在代码里。
示例使用法兰克福(fra)。请把主机名改为离您的服务器最近的区域。如果您的许可证处于 API Key Only 模式,SDK 也会把密钥发送给 Jetstream 和 Yellowstone。在 IP Whitelist 模式下,运行流式示例之前,请先在控制台中把服务器的 IP 添加到许可证。
ws 和 @grpc/grpc-js 是 SDK 的可选 peer 依赖。缺少它们时,WebSocket 和 Jetstream 客户端会报错 Cannot find package 'ws' 或 Cannot find package '@grpc/grpc-js'。使用 npx tsx file.ts 运行文件。

检查密钥是否可用

这是排除配置问题最快的方法。如果它打印出一个 slot 编号,说明您的密钥、区域和网络路径都没有问题。
如果失败,错误信息会说明原因: 完整列表见错误参考。

监听账户变化

通过 WebSocket 订阅并打印每一次更新。示例监听 Clock sysvar,因为它每个 slot 都会变化,您可以立即看到输出。可以换成任意账户地址。
只有账户发生变化时才会收到更新。账户没有动静,订阅也就没有动静,并不代表订阅出了问题。如果一直收不到任何消息,请参阅 WebSocket 调试。

等待交易确认

在命令行中传入签名。程序会轮询 getSignatureStatuses,直到交易已确认、失败,或者明显不会再上链为止。
使用 searchTransactionHistory 轮询适用于任何签名,无论新旧。signatureSubscribe 只知道最近的交易,因此订阅一笔几分钟前就已确认的交易永远不会收到通知。状态为 null 表示集群还没有见到这笔交易。交易调试介绍了遇到这种情况该怎么办。

订阅程序的交易流

使用 Jetstream v2 打印每一笔涉及 pump.fun 的交易,并通过增强字段输出手续费支付者和计算单元价格。
grpcurl 版本需要当前文件夹中有来自 SDK 仓库的 jetstream_v2.proto。Jetstream 只过滤交易。如需监听账户状态,请使用 Yellowstone。

读取钱包的最近交易

使用 getTransactionsForAddress 返回某个地址最近的 10 笔交易。
每个条目都包含 signature、slot、blockTime、err 和 confirmationStatus。传入返回的 paginationToken 即可获取下一页。如需完整交易,请将 transactionDetails 设为 "full",并同时设置 "maxSupportedTransactionVersion": 1。缺少后者时,版本 1 交易会被悄悄略过。过滤和排序选项请参阅 getTransactionsForAddress。

更多示例

错误参考

OrbitFlare 返回的每一种错误以及相应的处理方法。

交易调试

交易为何失败、被丢弃或始终没有上链。

通过 Apex 发送

使用 OrbitFlare Apex 让交易更快上链。

SDK 参考

SDK 中的每个客户端、构建器选项和方法。