This project is an Ethereum deposit tracking system that monitors transactions on a specified beacon contract address. It utilizes Node.js, Express, MongoDB, and Telegram for notifications and Nextjs for frontend and Infura to access the Ethereum Mainnet
server
│
├── src
│ ├── config
│ │ └── config.js # Configuration settings
│ ├── models
│ │ └── Deposit.js # Mongoose model for deposits
│ ├── routes
│ │ └── deposits.js # API routes for deposits
│ ├── services
│ │ ├── depositTrackerService.js # Logic for tracking deposits
│ │ ├── ethereumService.js # Ethereum interaction logic
│ │ └── telegramService.js # Telegram notification service
│ ├── utils
│ │ └── logger.js # Logging utility
│ ├── server.js # Server setup
│ ├── app.js # Application logic
│ └── test.js # Test scripts
│
├── public # Public assets
├── node_modules # Node.js dependencies
├── .env # Environment variables
├── abi.json # ABI for Ethereum contracts
├── package.json # Project metadata and scripts
├── package-lock.json # Dependency lock file
└── README.md- Ethereum Monitoring: Tracks deposits to a specified beacon contract address.
- MongoDB Storage: Stores transaction details in a MongoDB database.
- Telegram Alerts: Sends alerts for new transactions via Telegram.
- REST API: Provides endpoints to access transaction data.
- Clone the Repository:
git clone https://github.com/yourusername/ethereum-deposit-tracker.git cd ethereum-deposit-tracker
Install Dependencies:
npm install2.Set Up Environment Variables:
Create a .env file in the root directory. Add the necessary environment variables:
INFURA_URL=your_infura_url
MONGO_URI=your_mongo_uri
TELEGRAM_BOT_TOKEN=your_telegram_bot_token
TELEGRAM_CHAT_ID=your_telegram_chat_id
BEACON_DEPOSIT_CONTRACT=your_beacon_contract_addressRun the Application:
npm startDockerization To run the application in a Docker container: Build the Docker Image:
docker build -t ethereum-deposit-tracker .Run the Docker Container:
docker run -p 8000:8000 ethereum-deposit-trackerUsage Access the API: Visit http://localhost:8000/api/deposits to access the deposit data. Monitor Transactions: Check your Telegram for alerts on new transactions.