A monitoring tool for the Babylon chain that tracks validators and finality providers and sends notifications for signature issues.
- Monitoring of validator block signatures, BLS signatures, and Finality Provider signatures
- Load balancing and redundancy with support for multiple RPC/LCD/WS URLs
- Ability to track specific validators or finality providers
- Notification system (Telegram, PagerDuty)
- Data storage with MongoDB
- Support for both Testnet and Mainnet
- Node.js 16+ and npm
- MongoDB database
- Telegram bot and chat ID (optional)
- PagerDuty integration key (optional)
# Clone the repository
git clone https://github.com/kullaniciadi/babylon-monitoring.git
cd babylon-monitoring
# Install dependencies
npm install
# configure .env
cp .env.example .env
# build and start the app
npm run build
npm startYou can configure the following settings in the .env file:
- MongoDB Connection:
MONGODB_URIparameter - RPC/LCD URLs: Multiple node URLs supported (comma separated)
MAINNET_RPC_URLS,MAINNET_REST_URLSTESTNET_RPC_URLS,TESTNET_REST_URLS
- Monitoring Parameters: Which monitoring modules to enable
MONITORING_ENABLEDFINALITY_PROVIDER_MONITORING_ENABLEDVALIDATOR_SIGNATURE_MONITORING_ENABLEDBLS_SIGNATURE_MONITORING_ENABLED
- Notification Settings: Keys/tokens for Telegram and PagerDuty
TELEGRAM_ENABLED,MAINNET_TELEGRAM_BOT_TOKEN,MAINNET_TELEGRAM_CHAT_IDPAGERDUTY_ENABLED,MAINNET_PAGERDUTY_INTEGRATION_KEY
- Tracked Validators/Finality Providers: For monitoring specific validators (monitors all if empty)
TRACKED_VALIDATORSTRACKED_FINALITY_PROVIDERS
- Notification Thresholds: Minimum signature rate thresholds for alerts
VALIDATOR_SIGNATURE_THRESHOLDFINALITY_PROVIDER_SIGNATURE_THRESHOLDBLS_SIGNATURE_THRESHOLD
# Run in development mode
npm run dev
# Build
npm run build
# Run compiled version
npm start
# Run tests
npm testThis project is designed according to SOLID principles
src/
├── clients/ # Clients for communication with Babylon chain
├── config/ # Application configuration
├── database/ # MongoDB connection and repository classes
├── models/ # Data models
├── notifiers/ # Notification services (Telegram, PagerDuty)
├── services/ # Monitoring & indexing services
└── utils/ # Helper functions
MIT