Skip to main content
Quantum Chain uses Clique Proof-of-Authority consensus. A fixed list of approved sealers — set at genesis and updatable through on-chain votes — produces blocks in round-robin.

Networks

Quantum Chain mainnet genesis is checked into configs/mainnet/genesis.json.

Genesis file structure

The extraData field encodes the initial sealer set:
The placeholder is zeroed at genesis. To build it, use the extradatagenerator tool:

Initialize a new network

init writes the genesis block. Run init once per data directory; running it again on a populated directory is a no-op.

Run a validator (Clique sealer)

A validator must be in the sealer set encoded in extraData, and must run with --mine:
Sealers take turns proposing blocks. With period 15s and N sealers, each sealer proposes one block every 15 × N seconds on average.

Add or remove a sealer

Sealers vote on changes through the clique_propose API. Voting completes when a majority of current sealers agree.
Votes are tallied at each epoch (every 30 000 blocks on mainnet). At an epoch transition, the active sealer set is finalized in the next checkpoint header’s extraData.

Inspect the active sealer set

Or via JSON-RPC:

Static peers

For private networks where discovery is undesirable, hard-code peers in static-nodes.json under your --datadir:
Or pass --bootnodes.

Bootnodes

For public networks, run a bootnode:
Distribute the resulting enode://... URL.

Operating a private testnet

A typical 3-validator testnet:
  1. Generate three keystores with keygenerator.
  2. Build genesis with extradatagenerator --validators <3 addresses>.
  3. geth init on each node.
  4. Connect them via static-nodes.json.
  5. Start each with --mine --unlock.
Block production starts when the first validator runs --mine and discovers at least one peer.

Reorg safety

Clique reorgs are bounded by the sealer-out-of-turn rule and are typically 1–2 blocks. For institutional flows, Qustody waits for CUSTODY_CONFIRMATION_DEPTH (default 12) blocks before marking a transaction CONFIRMED. Increase for high-value transfers.

Where to go next