Note: This project was created specifically to study and practice Rust programming concepts, particularly async runtime, TUI development, and clean code practices.
- Monitors real-time prices for any symbol on Binance
- Renders elegant sparkline charts using
ratatui - Maintains persistent history up to 600 data points
- Displays dynamically scaling Y-axes and human-readable X-axes with timestamps
- Rust 1.70+
- Cargo
- Working internet connection (to reach Binance API)
- Clone the repository:
git clone https://github.com/kodezy/crypto-watcher.git
cd crypto-watcher- Build the project:
cargo build --releaseStart the application directly using Cargo:
cargo run <symbol1> <symbol2> ...Or run the compiled binary:
./target/release/crypto-watcher- Exit: Press
qto safely exit the application.
main.rs: Core application logic. Contains the data structures (Asset), the Tokio-based async fetching loop, and the rendering logic using Ratatui.- Dependencies:
ratatui&crossterm: Terminal UI rendering and event mapping.tokio: Async runtime for parallel REST requests.reqwest: HTTP client to fetch data.serde&serde_json: JSON parsing.chrono: Real-time timestamp formatting.
