This project is an Ethereum deposit tracker application using the MERN stack, Web3.js library, Alchemy API, and Telegram API. It monitors Ethereum deposits on the Beacon Chain Deposit Contract, logs relevant deposit details, and sends alerts through Telegram.
- Frontend: React, Material UI
- Backend: Node.js, Express, MongoDB
- Blockchain Interaction: Web3.js, Alchemy API
- Notifications: Telegram API
- Optional: Grafana for alerts and Docker for containerization
- Real-time Ethereum Deposit Tracking: Monitors deposits to the Beacon Chain Deposit Contract.
- Telegram Alerts: Sends alerts to a specified Telegram chat for each new deposit (optional).
- Error Handling & Logging: Built-in mechanisms to log errors and handle issues during runtime.
- Docker Support: (Partial) Containerize the app for easier deployment.
- ETH Deposit Tracker Application: (Partially implemented)
- Private Repository: Complete source code, structured and documented. ✔️
- Comprehensive README: Setup, usage instructions, and examples. ✔️
- Error Handling & Logging: Integrated mechanisms. ✔️
- Alerting System: Telegram alerts implemented (partial).
- DockerFile: Partial support for containerization.
-
Copy the code to your local machine:
git clone https://github.com/Atharva1704/luganodes-task.git cd frontend
-
Install dependencies:
npm install
-
Start the frontend server:
npm start
-
Copy the code to your local machine:
git clone https://github.com/Atharva1704/luganodes-task.git cd backend
-
Install dependencies:
npm install
-
Configure environment variables. Create a
.env
file in the root of the backend project with the following variables:PORT = "YOUR_PORT" MONGO_URL = "MONGO_URL" ALCHEMY_LINK = "ALCHEMY_WSS(WEBSOCKETS)_LINK" BEACON_CONTRACT = "0x00000000219ab540356cBB839Cbe05303d7705Fa" TELEGRAM_TOKEN = "TELEGRAM_TOKEN_USING_BOTFATHER"
-
Start the backend server:
node index.js
To run the application with Docker (in progress):
- Ensure Docker is installed on your system.
- Build and run the container (partial Docker implementation).
The application includes comprehensive error handling mechanisms. All logs and errors are recorded for troubleshooting purposes. Key events (like deposits) are also logged for reference.
Telegram integration is implemented to send alerts when deposits are detected. Configure your TELEGRAM_TOKEN
in the .env
file.
- Bot Setup: Use BotFather to create your bot and obtain the token.
- The alerting system with Grafana is partially integrated. Use it for real-time monitoring and alerting on deposit events.