Lux Docs

Architecture

Two-layer storage, chain adapters, and API server

Overview

┌──────────────────────────────────────────────────┐
│              API Server (40+ endpoints)           │
│  REST v2 │ GraphQL │ WebSocket │ Etherscan RPC    │
├──────────────────────────────────────────────────┤
│           Chain-Specific Adapters                 │
│  EVM │ DAG │ P-Chain │ Solana │ Bitcoin │ Cosmos  │
├──────────────────────────────────────────────────┤
│           Unified Storage Layer                   │
│  ┌──────────────┐  ┌──────────────────────────┐  │
│  │  KV Layer    │  │    Query Layer            │  │
│  │  (BadgerDB)  │  │  (PostgreSQL / SQLite)    │  │
│  └──────────────┘  └──────────────────────────┘  │
└──────────────────────────────────────────────────┘

Key Files

FileSizePurpose
evm/adapter.go77.5 KBFull EVM indexer with Blockscout compat
evm/api/server.go32.9 KBHTTP/WebSocket API server
evm/api/repository.go30.3 KBDatabase query layer
storage/unified.go20.8 KBUnified KV + Query storage
config/chains.yaml1450 lines100+ chain configuration

Directory Structure

indexer/
├── cmd/indexer/        # Single-chain CLI
├── cmd/evmchains/      # Multi-EVM CLI
├── cmd/multichain/     # Universal CLI
├── evm/                # EVM indexer + API + DeFi
├── chain/              # Linear chain (P-Chain)
├── dag/                # DAG consensus (X, A, B, Q, T, Z, K)
├── storage/            # Unified storage layer
├── multichain/         # 100+ chain orchestrator
├── migrations/         # SQL migrations
└── config/             # Chain configurations

On this page