mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2024-12-25 13:07:17 +00:00
14288b8cd0
* Add headers persistence * Print flushBuffer * Fix indexing problem * Not skip hard-coded headers if the files are empty * Fix lint * print anchor state after init * Properly construct file names * Add check sub-command * Fix lint * Fix lint * Fix lint * Print more info when recovering * Fix recovering * Fix recovery * Add anchors also as tips * 2-level priority queue for tips * Initialise tipQueue in anchor * update maxTipHeight * fix type * Add anchors to the anchorQueue and rebuild anchorQueue on deletion * Fix NPE * fix recovery * User buffersize, add hard coded headers to buffer * Reinit anchorQueue * Schedule requests after recovery * No fix * Remove duplicates * Report duplicate headers * Log buffer additions * Fix for duplicate headers * Try to fix duplicate headers again * remove TODO comment * Use LLRB instead of heap for anchors * Print reserveTip info * Correctly replace anchors in the tree * Remove excessive logging * Print tips attached to the anchor * Print tips better * limitTips instead of reserveTip * Print forked headers * Use pointers in llrb * Print tipStretch * Print limitTips * Mininise AnchorItem * Put anchors into the tree * Fix totalDiff calculation, but is it needed? * Remove totalDifficulty from anchors * CheckInitiation * Fix tests * Fix lint, print more at check initiation * Better output for hard-coded anchors * Print hard-coded anchors better * Prioritise anchors with short stretches * Prioritise by chainSize * Use linked list instead of heap for requestQueue * Fix problem of no requests * Push front * Fix lint * Not verify PoW for too far in the past and future * Fix Calculation of totalDifficulty when Connect * Fix hard tips * Another fix for tips
32 lines
739 B
Go
32 lines
739 B
Go
package check
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/ledgerwatch/turbo-geth/log"
|
|
"github.com/ledgerwatch/turbo-geth/turbo/stages/headerdownload"
|
|
)
|
|
|
|
func Check(filesDir string) error {
|
|
log.Info("Checking", "directory", filesDir)
|
|
hd := headerdownload.NewHeaderDownload(
|
|
filesDir,
|
|
32*1024, /* bufferLimit */
|
|
16*1024, /* tipLimit */
|
|
1024, /* initPowDepth */
|
|
nil,
|
|
nil,
|
|
3600, /* newAnchor future limit */
|
|
3600, /* newAnchor past limit */
|
|
)
|
|
if recovered, err := hd.RecoverFromFiles(uint64(time.Now().Unix())); err != nil || !recovered {
|
|
if err != nil {
|
|
log.Error("Recovery from file failed, will start from scratch", "error", err)
|
|
} else {
|
|
log.Info("Nothing recovered")
|
|
}
|
|
}
|
|
log.Info(hd.AnchorState())
|
|
return nil
|
|
}
|