-
Notifications
You must be signed in to change notification settings - Fork 0
Stack and Components
A map of the codebase — what each part does and where it lives.
Server — server/
TypeScript API gateway.
| Component | Description |
|---|---|
| API Gateway | RESTful endpoints with an OpenAPI spec |
| WebSocket | Real-time tag / alarm / health streaming to clients |
| Prometheus |
/metrics endpoint (homegrown scada_-prefixed registry) |
| Health checks | Liveness & readiness probes |
| Caching | Response caching layer (Redis) |
| Config | Centralized configuration management |
| Simulator | Industrial process simulator for development |
| Evolutionary Integrity Engine | Genome-based strategy evolution with safety guards (ADR-0023) |
| Decoherence Prediction | Correlation-based sentinel sampling with temporal advantage (ADR-0024) |
| Vendor Adapters | Rockwell · Siemens · ABB · Schneider · GE |
| PID Auto-Tuning | Adaptive PID controller tuning (human-approval-gated) |
| SPC Engine | Statistical process control, real-time monitoring |
| GR::LISTEN | Alert filtering and intelligent noise reduction |
| Flux Publisher | World-state engine event publishing |
Client — client/src/
React dashboard UI — components, hooks, and pages for real-time SCADA visualization, including the Living Fano Dashboard (ADR-0025) with geometry visualization, bloom/flow rendering, and real-time decoherence monitoring.
Smart contracts — contracts/
Solidity 0.8, built with Foundry + Hardhat (prefer forge for tests).
-
BountyPayment.sol — Gitcoin bounty integration for contributor rewards (payout is role-gated and enforces
claimant == recipient).
Blockchain — blockchain/
Custom EVM chain for industrial data integrity — Chain ID 0x5CADA (380634), Clique PoA, 5s blocks, go-ethereum fork. The production node (Kuramoto-BFT) lives in the sibling repo 0xSCADA-node.
Linux kernel — kernel/
Forked Linux 6.19-rc5 with PREEMPT_RT patches for deterministic real-time control loops.
Database — migrations/
PostgreSQL schema (Drizzle) with SQLite dev fallback: sites, assets, alarm definitions, certificate management, audit trails, and RBAC.
Production-grade: Helm charts, ArgoCD GitOps, zero-trust network policies, Prometheus + Grafana observability, industrial device plugins, and a real-time scheduler for PREEMPT_RT workloads.
Containers — docker/
Multi-container stack: client, server, gateway, edge, validator, plus pre-configured Grafana dashboards.
Pre-built Grafana dashboards (Alarms · Gateway Status · System Overview) and Prometheus metrics at /metrics on all services.
CLI — cli/
npx 0xscada <agents|alarms|containers|db|gateway|shell|tags> — see Getting Started.
For the industrial-protocol surface (OPC-UA, Modbus, DNP3, GOOSE, Sparkplug B) and the vendor adapters, see Protocols and Vendors.
0xSCADA — decentralized industrial control · Apache 2.0 · 0x5CADA · "Where atoms meet bits." Verify, not trust.