Consensus Lifecycle
Introduction
High-Level Flow
┌──────────────────────────────────────────────────────────────────────┐
│ CONSENSUS LIFECYCLE │
│ │
│ Application.cpp │
│ │ │
│ ▼ │
│ NetworkOPs::beginConsensus() │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ CONSENSUS ROUND │ │
│ │ │ │
│ │ preStartRound() ──► startRound() ──► startRoundInternal() │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌──────────┐ ┌────────────┐ ┌──────────┐ │ │
│ │ │ OPEN │───►│ ESTABLISH │───►│ ACCEPTED │ │ │
│ │ └──────────┘ └────────────┘ └──────────┘ │ │
│ │ │ │ │ │ │
│ │ timerEntry() timerEntry() onAccept() │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ NetworkOPs::endConsensus() │
│ │ │
│ ▼ │
│ Loop back to beginConsensus() │
└──────────────────────────────────────────────────────────────────────┘Stage 1: Initiating Consensus
Stage 2: Pre-Start Preparation
Stage 3: Starting the Round
Stage 4: Open Phase
Parameter
Value
Purpose
Stage 5: Close Decision
Parameter
Value
Purpose
Stage 6: Closing the Ledger
Stage 7: Establish Phase
Parameter
Value
Purpose
Stage 8: Consensus Checking
State
Meaning
Action
Stage 9: Acceptance
Stage 10: Final Acceptance
Stage 11: End Consensus
Stage 12: Begin Next Round
Complete Lifecycle Diagram
Summary
Stage
Function
Purpose
Last updated

