LPsLux Proposals
Research
LP-6490

LuxDA Node Modularization

Draft

LuxDA Node Modularization specification for LuxDA Bus

Category
Core
Created
2026-01-02

Abstract

This LP defines how LuxDA Bus components are packaged into a single Lux node binary with configurable modules.

Specification

1. Module Architecture

┌─────────────────────────────────────────────────────────────┐
│                        Lux Node                             │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐          │
│  │ Header  │ │  Relay  │ │   DA    │ │  Store  │          │
│  │  Chain  │ │         │ │         │ │         │          │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘          │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐          │
│  │  Index  │ │  Chat   │ │  TFHE   │ │ Gateway │          │
│  │         │ │   SDK   │ │  Orch   │ │         │          │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘          │
├─────────────────────────────────────────────────────────────┤
│                    Core Runtime                             │
│  (P2P, Storage, Crypto, Config, Metrics)                   │
└─────────────────────────────────────────────────────────────┘

2. Configuration Profiles

# Full node profile
profile: full
modules:
  headerchain: true
  relay: true
  da: true
  store: true
  index: true
  chat: true
  tfhe: false
  gateway: true

# DA operator profile
profile: da-operator
modules:
  headerchain: false
  relay: true
  da: true
  store: true
  index: false
  chat: false
  tfhe: false
  gateway: true

# Messenger profile
profile: messenger
modules:
  headerchain: false
  relay: true
  da: false
  store: false
  index: false
  chat: true
  tfhe: false
  gateway: false

3. Module Interface

type Module interface {
    Name() string
    Dependencies() []string
    Start(ctx context.Context, runtime *Runtime) error
    Stop() error
    Status() ModuleStatus
}

type Runtime struct {
    Config   *Config
    P2P      *P2PNetwork
    Storage  *StorageBackend
    Crypto   *CryptoProvider
    Metrics  *MetricsRegistry
}

4. Resource Requirements

ProfileCPURAMStorageBandwidth
Full4 cores16 GB500 GB100 Mbps
DA Operator2 cores8 GB2 TB1 Gbps
Messenger1 core2 GB10 GB10 Mbps
Validator8 cores32 GB1 TB1 Gbps

LP-6490 v1.0.0 - 2026-01-02