A blockchain analytics platform with real-time data processing and deep insights into Ethereum network activity.
- Block Explorer: Navigate through blocks with detailed information including transactions, gas usage, and timestamps
- Transaction Details: View comprehensive transaction data with status, gas fees, and execution traces
- Address Profiles: Analyze address activity, balance history, and transaction patterns
- Universal Search: Smart search across blocks, transactions, and addresses with automatic detection and routing
- Real-time Updates: Live data streaming via WebSocket connections
- Flow Visualization: Interactive transaction flow diagrams
- Address Analytics: Comprehensive address activity analysis
- Transaction Path Analysis: Follow transaction paths and relationships
- Network Analysis: Understand transaction relationships and patterns
- Network Statistics: Real-time blockchain metrics and health indicators
- Performance Monitoring: Track network throughput and efficiency
- Data Aggregation: Historical data analysis and trend identification
- Custom Dashboards: Configurable analytics views
- High Performance: Optimized data ingestion and processing
- Scalable Architecture: Microservices-based design
- Real-time Processing: Live data streaming and updates
- API Integration: RESTful APIs for external integrations
- Docker Support: Containerized deployment
- Database Optimization: Efficient data storage and retrieval
- Go - High-performance backend services
- Gin Framework - Fast HTTP web framework
- go-ethereum - Ethereum client library
- PostgreSQL - Primary database
- WebSocket - Real-time communication
- Docker - Containerization
- Next.js 14 - React-based frontend framework
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- React Query - Data fetching and caching
- Recharts - Data visualization
- ethers.js - Ethereum JavaScript library
- Docker Compose - Local development environment
- PostgreSQL - Relational database
- Nginx - Reverse proxy (production)
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend β β Blockchain β
β (Next.js) βββββΊβ (Go) βββββΊβ (Ethereum) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
β βββββββββββββββββββ β
β β PostgreSQL β β
ββββββββββββββββΊβ Database ββββββββββββββββ
βββββββββββββββββββ
- Docker and Docker Compose
- Node.js 18+ (for local development)
- Go 1.21+ (for local development)
-
Clone the repository
git clone <repository-url> cd crypto-analytics
-
Environment Configuration
# Copy environment files cp backend/.env.example backend/.env # Configure your Ethereum RPC endpoint in backend/.env ETHEREUM_RPC=https://your-ethereum-node-url
-
Start the development environment
docker-compose up -d
-
Access the applications
- Frontend: http://localhost:3000
- Backend API: http://localhost:8080
- Database: localhost:5432
- Home (
/
) - Platform overview and real-time activity feed - Blocks (
/blocks
) - Block explorer with pagination - Block Details (
/blocks/[id]
) - Individual block information - Transactions (
/transactions
) - Transaction list and search - Transaction Details (
/transactions/[hash]
) - Detailed transaction view - Address Profile (
/addresses/[address]
) - Address activity and history
- Transaction Flow (
/transaction-flow
) - Flow analysis and visualization
GET /api/v1/health
- Service health checkGET /api/v1/blocks
- List blocksGET /api/v1/blocks/:identifier
- Get block detailsGET /api/v1/transactions
- List transactionsGET /api/v1/transactions/:hash
- Get transaction detailsGET /api/v1/addresses/:address
- Get address informationGET /api/v1/addresses/:address/transactions
- Get address transactionsGET /api/v1/search/:query
- Universal search endpointGET /api/v1/stats
- Network statistics
GET /api/v1/transaction-flow/:address
- Transaction flow analysisGET /api/v1/address-analytics/:address
- Address analyticsGET /api/v1/transaction-path
- Transaction path analysis
ws://localhost:8080/api/v1/ws
- Real-time updates for blocks and transactions
blocks
- Blockchain blocks with transaction datatransactions
- Transaction records with detailed informationaddresses
- Address information and activity tracking
# Database
DATABASE_URL=postgres://user:password@localhost:5432/crypto_analytics
# Ethereum
ETHEREUM_RPC=https://mainnet.infura.io/v3/your-key
# Server
PORT=8080
LOG_LEVEL=info
ENVIRONMENT=local
# Build production images
docker-compose -f docker-compose.prod.yml build
# Deploy with production configuration
docker-compose -f docker-compose.prod.yml up -d
# Backend tests
cd backend && go test ./...
# Frontend tests
cd frontend && npm test
# Go formatting and linting
cd backend && go fmt ./... && golangci-lint run
# Frontend linting
cd frontend && npm run lint
- Logs: Structured JSON logging
- Metrics: Application performance metrics
- Health Checks: Service health endpoints at
/api/v1/health
- Database Monitoring: Query performance tracking
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request