TUI Dashboard & Observability
Focus: real-time operator visibility via fullscreen terminal dashboard.
Added
- Fullscreen ratatui TUI dashboard (default; disable with
--no-tui)- Phase indicator, progress bar, coverage map, speed chart
- Network, queue, storage, DB, and RPC panels
- DOS-style splash screen with animated connection status
- Real-time log viewer with level coloring
- TUI log capture (circular buffer, suppresses stdout in TUI mode)
- Per-shard compaction during fast-sync (shards compact as they fill)
- P2P stats tracking: discovery count, genesis mismatches, sessions
- RPC stats tracking: total requests, per-method counters, errors
- Coverage tracker with bucket-based braille visualization
- Peak speed tracking and follow-mode staleness detection
- Stale-peer banning with 120s cooldown and async re-probe
- Peer feeder rotation for fairness
- Stall detection with peer health dump (30s threshold)
- Sealed shard cache for fast startup on slow storage
db compactsubcommand with progress bars, JSON logging, per-shard timingdb rebuild-cachesubcommand to rebuild sealed shard cache--defer-compactionflag to skip inline compaction during fast-sync- SHiNode branding: renamed binary to
shinode, website (shinode.rs) - MIT/Apache-2.0 dual licensing
- Workspace
Cargo.toml - Pre-built binaries (Linux x86_64, macOS ARM, macOS x86_64)
Changed
- Binary renamed from
stateless-history-nodetoshinode - Storage open performance: 8MB read buffers, in-memory WAL reads, cached disk stats
- ShardMeta now tracks
total_logs,total_transactions,total_receipts,disk_bytes_* - StorageAggregateStats for cheap cross-shard rollup (no disk I/O)
- Read-only segment readers (prevents follow-mode file-lock crash)
Fixed
- Follow-mode stale-peer spin-loop
- Follow-mode head desync
- Follow-mode log dedup
Install:
# Pre-built binary
tar xzf shinode-linux-x86_64.tar.gz && chmod +x shinode-linux-x86_64
# Or from source
cargo install --git https://github.com/vicnaum/shinode.git --path nodeFull Changelog: v0.2.0...v0.3.0