Commit b03329fb authored by mdj33's avatar mdj33 Committed by 33cn

modify comments

parent 01f0582a
......@@ -361,14 +361,14 @@ func (client *client) getLastBlockInfo() (int64, *types.Block, error) {
plog.Error("Parachain GetBlockedSeq fail", "err", err)
return -2, nil, err
}
if lastBlock.Height > 0 || blockedSeq == -1 {
return blockedSeq, lastBlock, nil
}
// lastBlockHeight=0 && blockedSeq != -1 创世区块本身没有记录主块hash,有两种场景:
// 1, blockedSeq =-1,也就是从主链0高度同步区块,主链seq从0开始,对seq=0的区块做特殊处理,不校验parentHash
// 2, blockedSeq !=-1, 也就是从主链n高度同步区块,此时创世区块倒退一个seq,seq=n-1, 可以获取到主链n-1的hash
// 3 有可能n-1 seq 是回退block 获取的pareHash就不准,这里获取0区块 n+1seq的parentHash
// 平行链创世区块特殊场景:
// 1,创世区块seq从-1开始,也就是从主链0高度同步区块,主链seq从0开始,平行链对seq=0的区块做特殊处理,不校验parentHash
// 2,创世区块seq不是-1, 也就是从主链seq=n高度同步区块,此时创世区块倒退一个seq,blockedSeq=n-1,
// 由于创世区块本身没有记录主块hash,需要在此处获取,有可能n-1 seq 是回退block 获取的Hash不对,这里获取主链第n seq的parentHash
// 在genesis create时候直接设mainhash也可以,但是会导致已有平行链所有block hash变化
main, err := client.GetBlockOnMainBySeq(blockedSeq + 1)
if err != nil {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment