产块和维护周期
所有 Active Witness 按照排序,以严格时序依次产块,产块所在时间区间被称作 slot(槽)。每隔一段事件进入维护周期,暂停产块,进行重新计票和维护操作。
目前主网每 3 秒产一个块,每6小时进入一次维护周期。测试网维护周期间隔一般是 10 分钟。
维护周期
维护周期时,节点进行如下操作:
处理提案(见下一节)
重新计票。目前实现只处理上一维护周期至当前事件的所有投票,以 diff 方式处理。
按计票数排序得到新 Active Witness 列表和 Schedule.
更新下次维护周期时间
维护逻辑结束后,网络暂停两个 slot 产快(本意是预留时间给维护周期处理逻辑)。
Genesis Block
Genesis Block 由配置文件生成。指定了公链的初始账号及其资产分配,以及初始 Witness 情况。
而 Block #1 时并不按照 Genesis Block 所列 Witness 的顺序生成,而是由任一产快节点产出并广播(需要配置 needSyncCheck = false),此时全网节点都会自动接受 Block #1, 并触发第一个维护周期,生成之后的 Active Witness Schedule.
最后更新于
这有帮助吗?