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

add fork

parent e1cfbf6f
......@@ -293,6 +293,8 @@ ForkParaAssetTransferRbk=0
ForkParaSupervision=0
#仅平行链适用,开启挖矿交易的高度,已有代码版本可能未在0高度开启挖矿,需要设置这个高度,新版本默认从0开启挖矿,通过交易配置分阶段奖励
ForkParaFullMinerHeight=0
#仅平行链适用,在旧的版本中计算blockTxHash输入高度为0,需要在此高度后统一采用新的主链高度值,旧的版本需要设置此分叉高度,新版本缺省为0即可
ForkParaRootHash=0
[fork.sub.evm]
Enable=0
......
......@@ -437,7 +437,12 @@ func (client *blockSyncClient) addBlock(lastBlock *types.Block, localBlock *pt.P
if cfg.IsFork(newBlock.GetMainHeight(), "ForkRootHash") {
newBlock.Txs = types.TransactionSort(newBlock.Txs)
}
//在之前版本中CalcMerkleRoot的height是未初始化的MainHeight,等于0,在这个平行链的分叉ForkParaRootHash高度后统一采用新高度
if cfg.IsFork(newBlock.Height, pt.ForkParaRootHash) {
newBlock.TxHash = merkle.CalcMerkleRoot(cfg, newBlock.GetMainHeight(), newBlock.Txs)
} else {
newBlock.TxHash = merkle.CalcMerkleRoot(cfg, 0, newBlock.Txs)
}
err = client.writeBlock(lastBlock.StateHash, &newBlock)
......
......@@ -34,6 +34,8 @@ var (
ForkParaSupervision = "ForkParaSupervision"
// ForkParaFullMinerHeight 平行链全挖矿开启高度
ForkParaFullMinerHeight = "ForkParaFullMinerHeight"
// ForkParaRootHash 平行链按照ForkRootHash计算rootHash高度,在之前版本中平行链侧计算txRootHash没有提供正确的主链高度计算,需要分叉
ForkParaRootHash = "ForkParaRootHash"
// ParaConsSubConf sub
ParaConsSubConf = "consensus.sub.para"
......@@ -67,6 +69,7 @@ func InitFork(cfg *types.Chain33Config) {
//只在平行链启用
cfg.RegisterDappFork(ParaX, ForkParaSelfConsStages, types.MaxHeight)
cfg.RegisterDappFork(ParaX, ForkParaFullMinerHeight, types.MaxHeight)
cfg.RegisterDappFork(ParaX, ForkParaRootHash, types.MaxHeight)
}
//InitExecutor ...
......
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