mirror of
https://github.com/luxfi/consensus.git
synced 2026-09-24 00:26:58 +00:00
Split into one focused guide per source system + a short index: - raft-to-lux: drop-in (Do->Commit, FSM->apply, Leader->deterministic writer) - thrift-to-lux: RPC->ZAP transport+schema; coordination metastore->replog - zookeeper-to-lux: config/locks/election/membership/watches folded in Core throughout: replog (ordered replicated log) + pinned-writer for non-commutative ops; leaderless, permissionless, PQ-final, ZAP-native.
1.2 KiB
1.2 KiB
Migrating to Lux Consensus
Lux consensus (Quasar) is leaderless, permissionless, post-quantum-final,
and ZAP-native — block/vote gossip rides the
zap-proto transport, no gRPC, no separate
coordination cluster. The core is replog: a replicated,
totally-ordered command log — Commit(payload) proposes, and once consensus
finalizes, your apply(payload) runs once, in order, on every replica.
Pick your starting point:
- Raft → Lux —
etcd/raft,hashicorp/raft,seaweedfs/raft. A drop-in:server.Do→log.Commit, FSM →apply,Leader()→ the deterministic pinned writer. - Thrift → Lux — Apache Thrift RPC → ZAP
transport+schema; a Thrift coordination metastore →
replog. - ZooKeeper → Lux — (also etcd-as-coordinator, Consul) config/locks/leader-election/membership/watches folded into the service.
The one idea that recurs: you rarely need Raft or a coordination ensemble — you
need an ordered replicated log (replog) plus, for non-commutative ops, a
deterministic pinned writer instead of an elected leader.