Run NodesReference

consensus

Package consensus provides node-side consensus integration for the Lux node.

import "github.com/luxfi/node/consensus"

Package consensus provides node-side consensus integration for the Lux node.

The canonical consensus protocol implementation lives in the github.com/luxfi/consensus module. This package only contains the node-side glue (Acceptor callbacks, Quasar wiring) needed to wire the consensus engine into the node's chain manager and indexer.

Components

Acceptor: Callback interface invoked before blocks are committed as accepted. Multiple acceptors can be registered per chain via AcceptorGroup. This is the node-side hook that adapts consensus acceptance to chain-ID-keyed runtime contexts (indexer, warp, IPC).

Quasar: Node-side wiring around github.com/luxfi/consensus/protocol/quasar. The quasar subpackage adapts P-Chain validator state, BLS signers, and the Corona threshold coordinator into the canonical consensus engine.

Quasar Integration

The Quasar engine achieves hybrid finality by running two signature paths in parallel:

  • BLS Path: Fast aggregate signatures from 2/3+ validators
  • Corona Path: Post-quantum threshold signatures (t-of-n)

Blocks achieve quantum finality only when both paths complete successfully.

See github.com/luxfi/consensus for the canonical protocol implementation.

Types

Acceptor

Acceptor is implemented when a struct is monitoring if a message is accepted

AcceptorGroup

func NewAcceptorGroup(log log.Logger) AcceptorGroup