|
|
- Real-Time Processing: Built on AWS Lambda and DynamoDB Streams
- Multi-Chain Support: ETH, BSC, Polygon networks
- Scalable Architecture: EKS with auto-scaling capabilities
- Infrastructure as Code: Terraform modules for AWS resources
- Secure Design: Private VPC architecture with strict IAM policies
graph TD
A[Frontend] --> B[Infrastructure]
A --> C[Backend Services]
B --> D[AWS Services]
C --> D
subgraph Frontend
F1[Next.js]
F2[React]
F3[TypeScript]
end
subgraph "Backend Services"
B1[WebSocket API]
B2[Lambda Functions]
B3[DynamoDB]
B4[The Graph Protocol]
end
subgraph "AWS Services"
A1[EKS]
A2[ECR]
A3[VPC]
A4[API Gateway]
end
project/
├── aws/ # Infrastructure as Code
│ ├── env/ # Environment-specific configurations
│ │ ├── dev/ # Development environment
│ │ └── prod/ # Production environment
│ └── modules/ # Reusable Terraform modules
├── k8s/ # Kubernetes manifests
│ ├── base/ # Base configurations
│ ├── front/ # Frontend deployments
│ └── miner/ # Miner service deployments
├── miner-service/ # Blockchain data collector
└── ws-client/ # Next.js frontend application
Prerequisites
- AWS CLI configured
- Terraform ≥ 1.0.0
- Node.js ≥ 16
- Docker
- kubectl
Installation Steps
- Clone the repository
git clone https://github.com/yourusername/project-name.git
cd project-name
- Deploy infrastructure
cd aws/env/dev
terraform init && terraform apply
- Deploy applications
kubectl apply -f k8s/base/
kubectl apply -f k8s/front/
kubectl apply -f k8s/miner/
This project is MIT licensed.
Made with ❤️ by Oleksii Bichuk