- 得到本地的最高区块难度和新的区块的难度
- 将区块写入DB中(叔块也是ETH的一部分,注意不是链的一部分,就像receipt log一样)
- 新区块难度和本地区块难度比较
- 新的区块难度更高,block需要进行ReOrg
- 如果新的区块难度小于本地最高区块难度,则是侧链的区块
- 如果难度值一样。。。
- 新的区块高度比本地最高区块低,本地链不是最长链,需要ReOrg
- 如果高度值也一样,则无法区分那个是最长链的区块,它通过一个产生随机数的方式概率式的选择其中一个
ReOrg
- 上面 3.3.1中的情景,本地的链不是最长链,直到回滚到新区块的父块哪里为止。并且删除本地侧链的交易信息。
上面所有的side chain block 都会通过 event的方式通知worker
网友评论