helius-laserstream SDK的实际实现。
**先决条件:**本指南假定您已完成LaserStream gRPC 快速入门并拥有API密钥。
交易过滤选项
LaserStream 使用与 Yellowstone gRPC 相同的过滤器形状,包括tokenAccounts (ATA 扩展) 过滤器。您将在 transactions.<label> 内设置的字段:
accountInclude— 当这些账户中的任意一个出现时匹配(逻辑 OR)accountRequired— 仅当所有这些账户都出现时匹配(逻辑 AND)accountExclude— 当这些账户中的任意一个出现时丢弃vote/failed— 分别用于投票交易和失败交易的布尔标志tokenAccounts— 选择启用关联代币账户 (ATA) 扩展("balanceChanged"、"all"或"none"),使accountInclude中的钱包也能匹配该钱包拥有 SPL 代币余额的交易。请参阅代币账户 (ATA) 过滤以及下方的 Watching a Wallet 选项卡。matchMints— 选择启用的标志,还会将账户列表与交易前后代币余额中的铸币地址进行匹配。因此,accountInclude中的铸币地址可以捕获该代币的每笔转账、兑换、铸造和销毁交易。请参阅代币铸币地址过滤以及下方的 Watching a Token 选项卡。
- 程序过滤
- 账户特定
- 高级过滤
- Watching a Wallet
- Watching a Token
监控涉及特定程序的交易跟踪所有接触您关心的程序的交易:最佳用于: 程序特定监控、DeFi 协议跟踪、智能合约交互。
实用示例
示例 1:监控 DEX 交易
跟踪涉及热门 DEX 程序的交易:示例 2:监控失败交易
跟踪失败交易以发现应用程序问题:示例 3:监控高价值交易
跟踪包含大额 SOL 转账的交易:示例 4:监控钱包(包括代币转账)
通过向普通的accountInclude 过滤器添加 tokenAccounts,监控某个钱包涉及资金变动的所有交易,包括涉及其 ATA 的传入 SPL 代币转账:
交易数据结构
Transaction Message Structure
Transaction Message Structure
Token Balance Changes
Token Balance Changes
Instruction Details
Instruction Details
过滤逻辑参考
Include Logic (OR)
accountInclude: 交易必须涉及这些账户中的任意一个。["A", "B"] 匹配涉及账户 A 或账户 B 的交易。Required Logic (AND)
accountRequired: 交易必须涉及所有这些账户。["A", "B"] 匹配同时涉及账户 A 和账户 B 的交易。Exclude Logic (NOT)
accountExclude: 交易不得涉及这些账户中的任何一个。Combined Logic
最终过滤器:
(accountInclude OR empty) AND (accountRequired AND all) AND NOT (accountExclude OR any)。性能注意事项
- Volume Management
- Data Processing
交易流的数据量可能很大。要跟上处理速度:
- 从特定的程序过滤器开始(不要订阅“所有交易”)
- 如果可以接受约 1.5 秒的额外延迟,请使用
confirmed而不是processed - 使用计数器监控处理能力
- 考虑在队列后运行并行消费者
错误处理
Too Many Transactions
Too Many Transactions
症状: 交易量过大。解决方案: 添加更严格的过滤器(
accountRequired、accountExclude);使用更高的确认级别;实现采样或速率限制;进行异步处理。Missing Transactions
Missing Transactions
症状: 预期的交易未出现。解决方案: 验证程序地址是否正确;检查交易是否确实存在;尝试使用
processed 以更快获取更新;放宽限制严格的 accountRequired/accountExclude 过滤器。Parse Errors
Parse Errors
症状: 无法解析交易数据。解决方案: 妥善处理缺失字段;处理前验证结构;使用 try/catch 封装解析逻辑;请参阅解码交易数据。
后续步骤
Slot & Block Monitoring
跟踪网络共识和区块生成。
Stream Pump AMM Data
实际示例:监控 Pump.fun AMM 交易。
Decoding Transaction Data
将二进制交易有效载荷解析为可读的 Solana 交易。
Yellowstone protocol reference
针对原始 Yellowstone gRPC 协议执行相同的工作流。