Ver Fonte

core: avoid write existing block again (#14849)

Mark há 8 anos atrás
pai
commit
4f9789b28d
1 ficheiros alterados com 5 adições e 0 exclusões
  1. 5 0
      core/blockchain.go

+ 5 - 0
core/blockchain.go

@@ -827,6 +827,11 @@ func (bc *BlockChain) WriteBlock(block *types.Block) (status WriteStatus, err er
 	bc.mu.Lock()
 	defer bc.mu.Unlock()
 
+	if bc.HasBlock(block.Hash()) {
+		log.Trace("Block existed", "hash", block.Hash())
+		return
+	}
+
 	localTd := bc.GetTd(bc.currentBlock.Hash(), bc.currentBlock.NumberU64())
 	externTd := new(big.Int).Add(block.Difficulty(), ptd)