A professional real-time monitoring, telemetry, and smart alerting utility built for tracking blockchain metrics, gas prices, and block activities on the Arc L1 Testnet. Developed for the Encode Club Hackathon.
- Real-Time Block Tracking: Listens to live network events, capturing block numbers, transaction counts, and unique block hashes instantly.
- Gas Price Telemetry: Periodically polls network fee data to calculate and log gas price fluctuations in Gwei.
- Smart Alerting & Discord Webhooks: Automated console warnings and real-time Discord webhook notifications for gas spikes and high network traffic.
- SQLite Database Integration: Persistent local storage of block telemetry inside a structured SQLite database (
data/metrics.db). - Automated Markdown Reporting: Dynamically generates professional analytics dashboards (
reports/latest-report.md) on-the-fly. - Bulletproof Error Handling: Resilient RPC provider architecture and process-level error catching to prevent unexpected crashes.
- Docker Support: Fully containerized setup ready for cloud deployment.
- Language: TypeScript
- Runtime: Node.js
- Blockchain Library: Ethers.js v6
- Database: SQLite3
- HTTP Client: Axios
- Containerization: Docker & Docker Compose
ARC-MONITOR-TOOL/
├── data/ # SQLite local database storage
├── dist/ # Compiled JavaScript output
├── logs/ # Persistent network activity logs
├── reports/ # Auto-generated markdown analytics reports
├── src/
│ ├── alerts.ts # Smart threshold monitoring & Discord webhook engine
│ ├── database.ts # SQLite database connection & schema manager
│ ├── monitor.ts # Core real-time event listener & safety wrapper
│ ├── provider.ts # Resilient network provider & auto-recovery
│ └── reporter.ts # Metrics processor, report generator & orchestrator
├── .env # Configuration & RPC endpoint secrets
├── Dockerfile # Container configuration
├── docker-compose.yml # Multi-service orchestration
├── package.json # Project dependencies & scripts
└── tsconfig.json # TypeScript compilation configuration
- Clone the repository:
git clone [https://github.com/your-username/arc-monitor-tool.git](https://github.com/your-username/arc-monitor-tool.git)
cd arc-monitor-tool
- Install dependencies:
npm install
- Configure environment variables:
Create a
.envfile in the root directory and add your settings:
ARC_RPC_URL=[https://rpc.testnet.arc.network](https://rpc.testnet.arc.network)
DISCORD_WEBHOOK_URL=your_discord_webhook_url_here
- Compile TypeScript files:
npx tsc
- Start the monitor:
node dist/monitor.js
Run the entire suite using Docker Compose:
docker-compose up --build -d
This project is open-source and developed for hackathon demonstration purposes.