# Constants
DefaultNetMsgChanSize is the default size of network msg channel.
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
DefaultPaceMaker 是一个PacemakerInterface的默认实现,我们与PacemakerInterface放置在一起,方便查看 PacemakerInterface的新实现直接直接替代DefaultPaceMaker即可 The Pacemaker keeps track of votes and of time.
No description provided by the author
ledgerCommitInfo 表示的是本地账本和QC存储的状态,包含一个commitStateId和一个voteInfoHash commitStateId 表示本地账本状态,TODO: = 本地账本merkel root voteInfoHash 表示本地vote的vote_info的哈希,即本地QC的最新状态.
No description provided by the author
PendingTree 是一个内存内的QC状态存储树,仅存放目前未commit(即可能触发账本回滚)的区块信息 当PendingTree中的某个节点有[严格连续的]三代子孙后,将出发针对该节点的账本Commit操作 本数据结构替代原有Chained-BFT的三层QC存储,即proposalQC,generateQC和lockedQC.
quorumCert 是HotStuff的基础结构,它表示了一个节点本地状态以及其余节点对该状态的确认.
smr 组装了三个模块: pacemaker、saftyrules和propose election smr有自己的存储即PendingTree 原本的ChainedBft(联结smr和本地账本,在preferredVote被确认后, 触发账本commit操作) 被替代成smr和上层bcs账本的·组合实现,以减少不必要的代码,考虑到chained-bft暂无扩展性 注意:本smr的round并不是强自增唯一的,不同节点可能产生相同round(考虑到上层账本的块可回滚).
VoteInfo 包含了本次和上次的vote对象.
# Interfaces
PacemakerInterface is the interface of Pacemaker.
No description provided by the author
QuorumCertInterface 接口.