Skip to main content

sol_parser_sdk/shredstream/
mod.rs

1//! ShredStream 模块 - Jito ShredStream 超低延迟交易订阅
2//!
3//! 提供从 Jito ShredStream 直接订阅 Solana Entry 数据的能力,
4//! 相比 gRPC 订阅具有更低的延迟(约 50-100ms 优势)。
5//!
6//! ## 使用示例
7//! ```rust,no_run
8//! use sol_parser_sdk::shredstream::{ShredStreamClient, ShredStreamConfig};
9//! use sol_parser_sdk::DexEvent;
10//!
11//! #[tokio::main]
12//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
13//!     let client = ShredStreamClient::new("http://localhost:10800").await?;
14//!
15//!     // 订阅并获取事件队列
16//!     let queue = client.subscribe().await?;
17//!
18//!     // 消费事件
19//!     loop {
20//!         if let Some(event) = queue.pop() {
21//!             println!("Received: {:?}", event);
22//!         } else {
23//!             std::hint::spin_loop();
24//!         }
25//!     }
26//! }
27//! ```
28//!
29//! ## 限制说明
30//! ShredStream 相比 gRPC 订阅有以下限制:
31//! - 仅 `static_account_keys()`,使用 ALT 的交易会有错误账户
32//! - 无 Inner Instructions,无法解析 CPI 调用
33//! - 无 block_time,恒为 0
34//! - tx_index 是 entry 内索引而非 slot 内索引
35
36pub mod client;
37pub mod config;
38pub mod proto;
39
40pub use client::ShredStreamClient;
41pub use config::ShredStreamConfig;