Преглед на файлове

consensus/clique: only trust snapshot for genesis or les checkpoint

Péter Szilágyi преди 7 години
родител
ревизия
bcfb7f58b9
променени са 1 файла, в които са добавени 1 реда и са изтрити 1 реда
  1. 1 1
      consensus/clique/clique.go

+ 1 - 1
consensus/clique/clique.go

@@ -388,7 +388,7 @@ func (c *Clique) snapshot(chain consensus.ChainReader, number uint64, hash commo
 			}
 		}
 		// If we're at an checkpoint block, make a snapshot if it's known
-		if number%c.config.Epoch == 0 {
+		if number == 0 || (number%c.config.Epoch == 0 && chain.GetHeaderByNumber(number-1) == nil) {
 			checkpoint := chain.GetHeaderByNumber(number)
 			if checkpoint != nil {
 				hash := checkpoint.Hash()