@@ -92,9 +92,9 @@ func NewTdposConsensus(cCtx cctx.ConsensusCtx, cCfg def.ConsensusConfig) base.Co
9292 contractGetTdposInfos : tdpos .runGetTdposInfos ,
9393 }
9494 for method , f := range tdposKMethods {
95- if _ , err := cCtx . Contract . GetKernRegistry (). GetKernMethod ( schedule . bindContractBucket , method ); err != nil {
96- cCtx .Contract .GetKernRegistry ().RegisterKernMethod (schedule .bindContractBucket , method , f )
97- }
95+ // 若有历史句柄,删除老句柄
96+ cCtx .Contract .GetKernRegistry ().UnregisterKernMethod (schedule .bindContractBucket , method )
97+ cCtx . Contract . GetKernRegistry (). RegisterKernMethod ( schedule . bindContractBucket , method , f )
9898 }
9999
100100 // 凡属于共识升级的逻辑,新建的Tdpos实例将直接将当前值置为true,原因是上一共识模块已经在当前值生成了高度为trigger height的区块,新的实例会再生成一边
@@ -116,7 +116,7 @@ func NewTdposConsensus(cCtx cctx.ConsensusCtx, cCfg def.ConsensusConfig) base.Co
116116 CurrentView : cCfg .StartHeight ,
117117 }
118118 // 重启状态检查1,pacemaker需要重置
119- tipHeight := cCtx .Ledger .GetTipBlock ().GetHeight ()
119+ tipHeight := cCtx .Ledger .QueryTipBlockHeader ().GetHeight ()
120120 if ! bytes .Equal (qcTree .GetGenesisQC ().In .GetProposalId (), qcTree .GetRootQC ().In .GetProposalId ()) {
121121 pacemaker .CurrentView = tipHeight - 1
122122 }
@@ -169,18 +169,18 @@ Again:
169169 }
170170 // 即现在有可能发生候选人变更,此时需要拿tipHeight-3=H高度的稳定高度当作快照,故input时的高度一定是TipHeight
171171 if term > tp .election .curTerm {
172- tp .election .UpdateProposers (tp .election .ledger .GetTipBlock ().GetHeight ())
172+ tp .election .UpdateProposers (tp .election .ledger .QueryTipBlockHeader ().GetHeight ())
173173 }
174174 // 查当前term 和 pos是否是自己
175175 tp .election .curTerm = term
176176 tp .election .miner = tp .election .validators [pos ]
177177 // master check
178178 if tp .election .validators [pos ] == tp .election .address {
179- tp .log .Debug ("consensus:tdpos:CompeteMaster: now xterm infos" , "term" , term , "pos" , pos , "blockPos" , blockPos , "master" , true , "height" , tp .election .ledger .GetTipBlock ().GetHeight ())
179+ tp .log .Debug ("consensus:tdpos:CompeteMaster: now xterm infos" , "term" , term , "pos" , pos , "blockPos" , blockPos , "master" , true , "height" , tp .election .ledger .QueryTipBlockHeader ().GetHeight ())
180180 s := tp .needSync ()
181181 return true , s , nil
182182 }
183- tp .log .Debug ("consensus:tdpos:CompeteMaster: now xterm infos" , "term" , term , "pos" , pos , "blockPos" , blockPos , "master" , false , "height" , tp .election .ledger .GetTipBlock ().GetHeight ())
183+ tp .log .Debug ("consensus:tdpos:CompeteMaster: now xterm infos" , "term" , term , "pos" , pos , "blockPos" , blockPos , "master" , false , "height" , tp .election .ledger .QueryTipBlockHeader ().GetHeight ())
184184 return false , false , nil
185185}
186186
0 commit comments