@@ -210,10 +210,11 @@ func (s *tdposSchedule) UpdateProposers(height int64) bool {
210210 return false
211211 }
212212 if ! common .AddressEqual (nextProposers , s .validators ) {
213- s .log .Debug ("tdpos::UpdateProposers" , "origin" , s .validators , "proposers" , nextProposers )
213+ s .log .Debug ("tdpos::UpdateProposers" , "origin" , s .validators , "proposers" , nextProposers , "height" , height )
214214 s .validators = nextProposers
215215 return true
216216 }
217+ s .log .Debug ("tdpos::UpdateProposers" , "origin" , s .validators , "height" , height )
217218 return false
218219}
219220
@@ -352,7 +353,7 @@ func (s *tdposSchedule) calHisValidators(height int64) ([]string, error) {
352353 term , pos , blockPos := s .minerScheduling (block .GetTimestamp ())
353354 // 往前回溯的最远距离为internal,即该轮term之前最多生产过多少个区块
354355 internal := pos * s .blockNum + blockPos
355- begin := block .GetHeight () - internal
356+ begin := block .GetHeight () - internal - 1
356357 if begin <= s .startHeight {
357358 begin = s .startHeight
358359 }
@@ -361,7 +362,9 @@ func (s *tdposSchedule) calHisValidators(height int64) ([]string, error) {
361362 if err != nil {
362363 return nil , err
363364 }
364- s .log .Debug ("tdpos::CalculateProposers::target height." , "height" , height , "targetHeight" , targetHeight , "term" , term )
365+ s .log .Debug ("tdpos::CalculateProposers::target height." , "inputHeight" , height , "targetHeight" , targetHeight ,
366+ "begin" , begin , "end" , block .GetHeight (), "term" , term , "pos" , pos , "blockPos" , blockPos , "internal" , internal ,
367+ "blockNum" , s .blockNum , "block.Timestamp" , block .GetTimestamp ())
365368 return s .calTopKNominator (targetHeight )
366369}
367370
@@ -378,7 +381,7 @@ func (s *tdposSchedule) binarySearch(begin int64, end int64, term int64) (int64,
378381 return - 1 , err
379382 }
380383 if midTerm < term && nextMidTerm == term {
381- return mid + 1 , nil
384+ return mid , nil
382385 }
383386 if midTerm < term {
384387 begin = mid + 1
0 commit comments