Zum Inhalt

BO-Engine - Technische Dokumentation

Back-Office Engine - Settlement, Worker & Monitoring System Stand: Februar 2026 | Runtime: Node.js/TypeScript | Blockchain: Arbitrum One


Was ist die BO-Engine?

Die BO-Engine ist das Backend-Settlement-System der ChainBETs-Plattform. Sie orchestriert die tägliche Gewinnabrechnung, verwaltet Worker-Prozesse für Recovery und Seed-Rotation, und überwacht die Systemgesundheit via Watchdog.

┌─────────────────────────────────────────────────────┐
│                   BO-Engine                         │
│                                                     │
│  ┌──────────┐  ┌──────────┐  ┌──────────────────┐  │
│  │Settlement│  │ Workers  │  │    Watchdog       │  │
│  │ Pipeline │  │          │  │   Monitoring      │  │
│  └────┬─────┘  └────┬─────┘  └────────┬─────────┘  │
│       │              │                 │             │
│       ▼              ▼                 ▼             │
│  ┌──────────────────────────────────────────────┐   │
│  │           PostgreSQL + Blockchain             │   │
│  └──────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────┘

Dokumentationsübersicht

Architektur

Dokument Beschreibung
Systemarchitektur Gesamtarchitektur, Verzeichnisstruktur, Tech-Stack

Settlement Pipeline

Dokument Beschreibung
Settlement Pipeline Orchestrierung der täglichen Abrechnung (settle.ts)
Settlement Compute Berechnungslogik: Pot-Splits, Gewinnverteilung, Jackpot
Merkle-System Merkle-Tree-Aufbau für Winner- und Affiliate-Claims
Approval Gateway 7 Validierungs-Gates vor dem On-Chain-Commit
Blockchain Commit On-Chain-Commit via SettlementV4

Worker & Services

Dokument Beschreibung
Worker-Übersicht Alle Worker-Prozesse im Überblick
Seed-Rotation VRF- und Drand-Seed-Erneuerung (Daemon)
Recovery-Mechanismen Buy-Intent- und Claim-Recovery
Benachrichtigungen Push-Notifications und E-Mail-System
Bonus-System Affiliate-, Leaderboard- und Re-Engagement-Boni

Monitoring & Infrastruktur

Dokument Beschreibung
Watchdog Health-Monitoring mit Telegram-Alerting
Datenbank-Schema Alle Tabellen, Relationen und Queries
Blockchain-IO ChainReader, Artefakt-Writer, Contract-ABIs
Konfiguration Environment-Variablen und bo_config
Betrieb & Deployment Cron-Jobs, Logging, Deployment

Schnellreferenz für Auditoren

Kritische Dateien

Datei Funktion
cli/settle.ts Settlement-Orchestrator (Einstiegspunkt)
core/settlementCompute.ts Reine Berechnungslogik
cli/approve_settlement.ts 7 Validierungs-Gates
cli/commit_from_db.ts Blockchain-Commit
merkle/merkleBuilder.ts Merkle-Tree-Konstruktion
watchdog/run.ts Systemüberwachung

Täglicher Settlement-Ablauf

00:00 UTC  settle.ts startet
    ├── 1. export_inputsDB.ts      → Gewinner aus DB exportieren
    ├── 2. export_affiliatesDB.ts   → Affiliate-Daten exportieren
    ├── 3. run.ts                   → Berechnung + Merkle-Trees
    ├── 4. approve_settlement.ts    → 7 Validierungs-Gates
    ├── 5. commit_from_db.ts        → On-Chain-Commit
    ├── 6. updatePotSizes.ts        → Pot-Sync (non-fatal)
    ├── 7. refresh-global-stats.ts  → Dashboard-Stats
    └── 8. notifyWinners.ts         → Push-Notifications

Finanzielle Aufteilung pro Ticket

Ticket-Einsatz (100%)
├── 27.5% → Operator-Fee (feeAcc)
├──  5.0% → Rollover (rolloverAcc)
└── 67.5% → Pot
    ├── 40% → Jackpot-Reserve (jackpotReserveAcc)
    └── 60% → Regular Pot (potAcc) → s5/s4/s3