mirror of
https://github.com/hanzoai/bootnode.git
synced 2026-10-25 02:31:30 +00:00
Full-stack fleet lifecycle management for Lux blockchain validators deployed via Helm to DOKS clusters. Backend (Python/FastAPI): - HelmDeployer: async helm/kubectl CLI wrapper with temp file cleanup, per-release locking, and command injection protection - LuxFleetManager: fleet CRUD, scale, rolling restart, node health probes via luxd RPC (health + C-chain block height) - Fleet API: authenticated REST endpoints (ApiKeyDep) with RFC 1123 input validation, kubeconfig error sanitization - Pydantic models: 3 networks (mainnet/testnet/devnet), fleet status enums, helm values translation - 110 unit tests (0.30s, all passing) Frontend (TypeScript/Next.js): - Fleet dashboard: cluster selector, stats banner, fleet cards with scale/restart/destroy operations, node status table, create dialog - Interactive SVG world map: zero-dep Mercator projection with DOKS region markers, pulsing animations, P2P mesh lines, click-to-zoom - DOKS region data: 11 regions with coordinates and API client - Dark theme throughout
Hanzo Nodes API
Multi-chain blockchain infrastructure platform providing RPC, APIs, WebSockets, Webhooks, and ERC-4337 bundling.
Features
- Multi-Chain RPC: 100+ EVM chains with load balancing
- Token API: ERC-20 balances, transfers, prices
- NFT API: ERC-721/1155 ownership, metadata, transfers
- Wallet API: Portfolio tracking, activity history
- WebSocket Subscriptions: Real-time blockchain events
- Webhooks: Event notifications with delivery tracking
- ERC-4337 Bundler: Account abstraction with gasless transactions
- Gas API: Real-time gas estimates and EIP-1559 data
Quick Start
# Start dependencies
docker compose up -d postgres redis clickhouse
# Run API locally
uv run uvicorn bootnode.main:app --reload
# Or with Docker
docker compose up -d
API Endpoints
GET /health- Health checkPOST /v1/rpc/{chain}/{network}- JSON-RPC proxyGET /v1/tokens/{chain}/balance/{address}- Token balancesGET /v1/nfts/{chain}/owner/{address}- NFT ownershipPOST /v1/webhooks- Create webhookWS /v1/ws/{chain}/{network}- WebSocket subscriptions
Environment Variables
DATABASE_URL=postgresql+asyncpg://...
REDIS_URL=redis://...
DATASTORE_URL=clickhouse://...
JWT_SECRET=...
Documentation
- API Docs: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
License
BSD-3-Clause