A finality gadget for Substrate using a modified version of Jasmine.
- Block generation module: block generation in Jasmine.
- How to trigger: rather than
on-slot
, it gets triggered withon-event
.- When became leader, the replica is allowed to propose in-between blocks.
- When gather a QC, the replica is allowed to propose key blocks. (And exits.)
- How to know if a replica is the leader?
- The consensus module maintain leader, and expose the state to the generation module.
- How to trigger: rather than
- Block consensus module: block vote in Jasmine (on key blocks).
- How to know if a replica is the leader?
- round-robin + round number.
- How to track blocks' state, if its in prevote or precommit?
- track it inside the consensus module.
- Where to store the QC?
- justification or in the block itself?
- How to know if a replica is the leader?