Links & Tools
Official Resources
Somnia Network
Technologies Used
Core Technologies
- Node.js - JavaScript runtime
- TypeScript - Type-safe JavaScript
- Telegraf - Telegram bot framework
- Viem - Ethereum interaction library
Database & Storage
- SQLite - Embedded database
- Redis - In-memory data store (optional)
Libraries & Tools
- Winston - Logging
- i18next - Internationalization
- node-cache - Caching
- Bull - Queue management
Development Tools
- Jest - Testing framework
- ESLint - Code linting
- Prettier - Code formatting
- PM2 - Process management
Useful Commands
Bot Management
# Start bot
npm start
# Start with PM2
pm2 start ecosystem.config.js
# View logs
pm2 logs somnia-bot
# Monitor
pm2 monit
Database Management
# Backup database
sqlite3 somnia_validator_bot.db ".backup backup.db"
# Check database
sqlite3 somnia_validator_bot.db ".tables"
# Optimize database
sqlite3 somnia_validator_bot.db "VACUUM;"
Development
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run tests
npm test
# Check types
npm run type-check
Learning Resources
Telegram Bot Development
Blockchain Development
TypeScript
Monitoring Tools
Application Monitoring
- PM2 Monitoring
- Grafana - Metrics visualization
- Prometheus - Metrics collection
Log Management
- ELK Stack - Log aggregation
- Papertrail - Cloud logging
- Loggly - Log analysis
Error Tracking
- Sentry - Error monitoring
- Rollbar - Error tracking
- Bugsnag - Stability monitoring
Security Resources
Best Practices
Tools
- npm audit - Dependency scanning
- Snyk - Vulnerability scanning
- SonarQube - Code quality
Deployment Platforms
VPS Providers
Cloud Platforms
Managed Hosting
- Heroku (with limitations)
- Railway
- Render