This project posts measurement comment posts to selected DeSo backend nodes, timing the performance of each post using the deso-python-sdk. It schedules posts every x minutes and creates a daily main post with graphs and gauges visualizing node performance.
- Scheduled measurement comment posts to DeSo nodes
- Timing and logging of post performance
- Daily summary post with graphs and gauge (median response per node)
- Comprehensive logging with visual status indicators
- Uses deso-python-sdk for all DeSo interactions
Watch DesoMonitor in action: https://safetynet.social/u/desomonitor
See real-time node performance measurements and daily summary posts with performance visualizations.
https://node.deso.org- Main DeSo nodehttps://desocialworld.desovalidator.net- Validator with public APIhttps://safetynet.social- SafetyNet community node
- Ensure Python is installed.
- (Recommended) Create and activate a virtual environment:
python -m venv .venv .venv\Scripts\activate # On Windows source .venv/bin/activate # On macOS/Linux - Install dependencies (see below).
- Configure your node list and schedule in the script.
- Set up your
.envfile with DeSo credentials:DESO_PUBLIC_KEY="your_public_key" DESO_SEED_HEX="your_seed_hex"
pip install bip32 mnemonic coincurve ecdsa numpy matplotlib requests python-dotenv
- Run the script to start scheduled measurements and daily summary posts:
Or, if using the virtual environment:
python deso_monitor.py.venv\Scripts\python.exe deso_monitor.py
Use VS Code's integrated task system for easier management:
To Start:
- Press
Ctrl+Shift+P→ "Tasks: Run Task" → "Run DesoMonitor Script"
To Stop:
- Press
Ctrl+Cin the terminal running the task - Or use Command Palette:
Ctrl+Shift+P→ "Tasks: Terminate Task"
To Restart:
- Stop the current task, then start it again using the task command
- On startup: Creates initial daily post (may have empty graphs initially)
- Start measurements immediately: Begins collecting data under that post
- Every midnight (00:00 UTC):
- Creates NEW daily post with graphs from previous day's data
- Continues measurements under the new post
- Result: Each daily post shows performance from the previous 24 hours
The script provides comprehensive logging with visual indicators:
- 🚀 Startup and configuration
- 🔄 Active monitoring cycles
- 📡 Node connections and status
- ✅ Successful measurements with timing
⚠️ Warnings and timeouts- ❌ Errors and failures
- 📊 Data collection statistics
- 📈 Graph and gauge generation
- 💤 Sleep periods and scheduling
desomonitor.log- Persistent log file with all activitiesdaily_performance.png- Daily performance graphdaily_gauge.png- Performance gauge visualization- Console output - Real-time status updates
- Edit the script to set your node list, schedule interval, and post formatting.
- Modify
NODESarray to monitor different DeSo nodes - Adjust
SCHEDULE_INTERVALfor measurement frequency (in seconds) - Customize
POST_TAGhashtag for your measurements
MIT