Forráskód Böngészése

Merge pull request #16068 from karalabe/import-known-rolledback-blocks

core: force import known but rolled back blocks
Péter Szilágyi 7 éve
szülő
commit
1d39912a9b
1 módosított fájl, 6 hozzáadás és 2 törlés
  1. 6 2
      core/blockchain.go

+ 6 - 2
core/blockchain.go

@@ -1070,8 +1070,12 @@ func (bc *BlockChain) insertChain(chain types.Blocks) (int, []interface{}, []*ty
 		}
 		switch {
 		case err == ErrKnownBlock:
-			stats.ignored++
-			continue
+			// Block and state both already known. However if the current block is below
+			// this number we did a rollback and we should reimport it nonetheless.
+			if bc.CurrentBlock().NumberU64() >= block.NumberU64() {
+				stats.ignored++
+				continue
+			}
 
 		case err == consensus.ErrFutureBlock:
 			// Allow up to MaxFuture second in the future blocks. If this limit is exceeded