A monitoring bot that tracks your Celestia Light Node's status and sends notifications via Telegram. It alerts you when your node falls behind, stops, or experiences synchronization issues.
- Real-time monitoring of node block height
- Multiple remote RPC comparisons for reliability
- Telegram notifications for:
- Block height differences
- Node synchronization status
- Node operational status
- Multi-language support
- Customizable alert messages
- Configurable alert thresholds
- Node.js (v16 or higher)
- Running Celestia Light Node
- Telegram Bot Token
- Clone the repository:
git clone https://github.com/yourusername/celestia-light-monitor cd celestia-light-monitor
- Install dependencies:
npm install
-
Create a
.envfile in the root directory you can use .env.EXAMPLE file as a template: -
Run the bot:
pm2 start src/scheduler.js --name my-alert-bot
- Message @BotFather on Telegram
- Create new bot with
/newbotcommand - Copy the provided token to
TELEGRAM_TOKENin.env - Add bot to your group
- Get your chat ID:
- You can use @username_to_id_bot to get your chat id
- Copy the
chat_idtoTELEGRAM_CHAT_IDin.env
- 🔴 Warning: Node is 5+ blocks behind
- 🔴🔴 Critical: Node is 50+ blocks behind
⚠️ Not Responding: Local node connection issues- ✅ Recovered: Node caught up with network
- ⛔️ Stopped: Node not running
- 🔄 Syncing: Node catching up
Edit the config.json file to customize your alert messages and thresholds. To change the language of the alerts you can add new languages and use them by changing defaultLanguage. (Default English)
BLOCK_HEIGHT_DIFFERENCE_THRESHOLD: Minimum block height difference for a warningBLOCK_HEIGHT_DIFFERENCE_CONSECUTIVE_THRESHOLD: Minimum consecutive block height difference for a critical alert