Phases of consensus for a single ledger round.
enum ConsensusPhase
Name |
Description |
---|---|
open |
We haven't closed our ledger yet, but others might have. |
establish |
Establishing consensus by exchanging proposals with our peers. |
accepted |
We have accepted a new last closed ledger and are waiting on a call to startRound to begin the next consensus round. |
"close" "accept" open ------- > establish ---------> accepted ^ | | |---------------| | ^ "startRound" | |------------------------------------|
The typical transition goes from open to establish to accepted and then a
call to startRound begins the process anew. However, if a wrong prior ledger
is detected and recovered during the establish or accept phase, consensus
will internally go back to open (see Consensus::handleWrongLedger
).
#include <ripple/consensus/ConsensusTypes.h>