mirror of
https://github.com/0xfnzero/solana-streamer.git
synced 2026-08-15 18:08:05 +00:00
Release solana-streamer-sdk 1.5.1
This commit is contained in:
@@ -23,8 +23,9 @@ ShredStream 路径仍为下面的原始交易解析限制,不使用上述日
|
||||
|
||||
### 2.1 使用 Address Lookup Tables (ALT) 的交易
|
||||
|
||||
- **现象**:指令中的账户索引指向「static + loaded」的完整列表,shred 只传入 static,越界索引会被填成 `Pubkey::default()`(11111...)。
|
||||
- **影响协议/指令**:所有依赖「按索引取账户」的指令,在交易使用 ALT 时都可能出现错误或默认账户。
|
||||
- **现象**:指令中的账户索引指向「static + loaded」的完整列表,shred 只传入 static。当前 ShredStream 路径会尽量解析外层指令;若某个指令账户来自 ALT-loaded keys,会以 `Pubkey::default()`(11111...)占位。
|
||||
- **影响协议/指令**:所有依赖「按索引取账户」的指令,在交易使用 ALT 时都可能出现错误或默认账户;能靠指令 data / discriminator 识别的事件会 best-effort 产出。
|
||||
- **program id 也来自 ALT 时**:无法从 shred 恢复真实程序 ID,会按启用的协议/filter 进行 discriminator-only best-effort 解析。若不同协议 discriminator 碰撞,建议使用窄 filter 降低误判或多候选输出风险。
|
||||
- **典型表现**:
|
||||
- **PumpFun**:Create / CreateV2 的 token_program、global、event_authority 等为 11111...;Buy/Sell 的 creator_vault、token_program 等可能错误。
|
||||
- **PumpSwap / Bonk / Raydium / Meteora**:依赖高索引账户的指令同样可能得到错误或 default 账户。
|
||||
@@ -58,7 +59,7 @@ ShredStream 路径仍为下面的原始交易解析限制,不使用上述日
|
||||
## 3. 使用建议
|
||||
|
||||
- 需要**完整、正确**的账户与 log 字段(reserves、timestamp、amounts、swap_data 等)时,使用 **gRPC 订阅**。
|
||||
- Shredstream 更适合:对延迟更敏感、可接受「仅指令层 + 部分字段缺失/默认」的场景,或确认交易**未使用 ALT** 时的账户解析。
|
||||
- Shredstream 更适合:对延迟更敏感、可接受「仅指令层 + 部分字段缺失/默认」的场景;使用 ALT 的交易会 best-effort 解析,但 ALT-loaded 账户字段可能为 default。
|
||||
|
||||
## 4. 各事件 Shred 路径字段完整性
|
||||
|
||||
|
||||
Reference in New Issue
Block a user