mirror of
https://github.com/0xfnzero/solana-streamer.git
synced 2026-08-21 12:58:11 +00:00
feat: refactor to multi-protocol event streaming system
Major architectural refactor, upgrading from simple logging system to comprehensive multi-protocol Solana DEX event streaming system: ✨ New Features: - Support for 5 DEX protocols: PumpFun, PumpSwap, Bonk, Raydium CPMM, Raydium CLMM - Implement unified event interface (UnifiedEvent trait) and event factory pattern - Add dual streaming support: Yellowstone gRPC and ShredStream - Add Chinese documentation (README_CN.md) 🏗️ Architectural Improvements: - Refactor event parsing system with modular design - Implement protocol-specific parsers and event types - Optimize dependency management, update Cargo.toml - Remove legacy logging modules, clean up redundant code 📊 Statistics: - Added 46 files, 4511 lines of code - Removed 1381 lines of legacy code - Net addition of 3130 lines of code Tech Stack: - Rust async/await for asynchronous processing - Protocol Buffers support - Multi-protocol event parsing - High-performance event stream subscription
This commit is contained in:
+8
-39
@@ -1,12 +1,12 @@
|
||||
[package]
|
||||
name = "grpc-parsed"
|
||||
version = "2.4.3"
|
||||
name = "solana-streamer"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
authors = []
|
||||
repository = ""
|
||||
description = "Rust SDK to interact with the Pump.fun Solana program."
|
||||
authors = ["William <byteblock6@gmail.com>", "sgxiang <sgxiang@gmail.com>", "wei <1415121722@qq.com>"]
|
||||
repository = "https://github.com/0xfnzero/solana-streamer"
|
||||
description = "A lightweight Rust library for real-time event streaming from Solana DEX trading programs. Supports PumpFun, PumpSwap, Bonk, and Raydium protocols with Yellowstone gRPC and ShredStream."
|
||||
license = "MIT"
|
||||
keywords = ["solana", "memecoins", "pumpfun", "grpc-parsed", "pumpbot"]
|
||||
keywords = ["solana", "streaming", "events", "grpc", "shredstream"]
|
||||
readme = "README.md"
|
||||
|
||||
[lib]
|
||||
@@ -21,18 +21,12 @@ solana-rpc-client-api = "2.1.16"
|
||||
solana-transaction-status = "2.1.16"
|
||||
solana-account-decoder = "2.1.16"
|
||||
solana-hash = "2.1.16"
|
||||
solana-security-txt = "1.1.1"
|
||||
solana-entry = "2.1.16"
|
||||
solana-rpc-client-nonce-utils = "2.1.16"
|
||||
solana-perf = "2.1.16"
|
||||
|
||||
spl-token = "8.0.0"
|
||||
spl-token-2022 = { version = "8.0.0", features = ["no-entrypoint"] }
|
||||
solana-metrics = "2.1.16"
|
||||
spl-associated-token-account = "6.0.0"
|
||||
mpl-token-metadata = "5.1.0"
|
||||
|
||||
borsh = { version = "1.5.3", features = ["derive"] }
|
||||
isahc = "1.7.2"
|
||||
serde = { version = "1.0.215", features = ["derive"] }
|
||||
serde_json = "1.0.134"
|
||||
futures = "0.3.31"
|
||||
@@ -44,16 +38,11 @@ bincode = "1.3.3"
|
||||
anyhow = "1.0.90"
|
||||
yellowstone-grpc-client = { version = "6.0.0" }
|
||||
yellowstone-grpc-proto = { version = "6.0.0" }
|
||||
reqwest = { version = "0.12.12", features = ["json", "multipart"] }
|
||||
tokio = { version = "1.42.0" , features = ["full", "rt-multi-thread"]}
|
||||
tonic = { version = "0.12.3", features = ["tls", "tls-roots", "tls-webpki-roots"] }
|
||||
rustls = { version = "0.23.23", features = ["ring"] }
|
||||
rustls-native-certs = "0.8.1"
|
||||
tokio-rustls = "0.26.1"
|
||||
core_affinity = "0.8"
|
||||
|
||||
dotenvy = "0.15.7"
|
||||
pretty_env_logger = "0.5.0"
|
||||
log = "0.4.22"
|
||||
chrono = "0.4.39"
|
||||
regex = "1"
|
||||
@@ -64,31 +53,11 @@ lazy_static = "1.5.0"
|
||||
once_cell = "1.20.3"
|
||||
prost = "0.13.5"
|
||||
prost-types = "0.13.5"
|
||||
arrform = { git = "https://github.com/raydium-io/arrform" }
|
||||
num_enum = "0.7.3"
|
||||
num-derive = "0.4.2"
|
||||
num-traits = "0.2.19"
|
||||
uint = "0.10.0"
|
||||
clap = { version = "4.5.31", features = ["derive"] }
|
||||
|
||||
hex = "0.4.3"
|
||||
bytemuck = { version = "1.4.0" }
|
||||
safe-transmute = "0.11.0"
|
||||
enumflags2 = "0.6.4"
|
||||
static_assertions = "1.1.0"
|
||||
demand = "1.2.2"
|
||||
arrayref = "0.3.6"
|
||||
default-env = "0.1.1"
|
||||
|
||||
borsh-derive = "1.5.5"
|
||||
axum = { version = "0.8.1", features = ["macros"] }
|
||||
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
|
||||
tokio-tungstenite = { version = "0.26.1", features = ["native-tls"] }
|
||||
indicatif = "0.17.11"
|
||||
toml = "0.8.20"
|
||||
|
||||
pumpfun = "4.2.0"
|
||||
|
||||
|
||||
|
||||
|
||||
indicatif = "0.17.11"
|
||||
Reference in New Issue
Block a user