Skip to main content
To understand this simulation, read Catchain whitepaper first.

Interact with the simulation

  • Click nodes to view status (locks/commits) and toggle behavior (good, crash, lagging).
  • Click Adjust simulation config at the top to change consensus simulation parameters.
  • Hover over the Event types at the bottom to read short description.
  • Click moving messages to inspect sender/receiver, timings, and embedded actions; drop a message from the overlay with Drop message button.
  • Click Candidates in the sidebar to see proposer, priority, and per-node approvals/votes/pre-commits/commits observed.
  • Use the speed slider to slow down/accelerate the sim; use Restart round to begin a new round.

Simulation notes

This is a teaching simulation, not the exact C++ validator-session implementation of the whitepaper. It contains certain simplifications.
  • Timing is approximate; actions are driven by the sim loop and simplified delays, not the precise check_all/process_blocks cadence.
  • Catchain dependency handling is simplified: if a node sees a message but lacks one of its parents, it asks peers for that missing block (no vector-time sync).
  • Quorums use equal weights (counts), not stake weights.
  • Submits are auto-scheduled per priority window; retries and network sync differ from the real catchain/validator logic.
  • Null candidate is assumed after its delay; VoteFor/slow-mode handling is simplified.