mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-17 02:10:46 +00:00
cmd, eth: implement flag delete-all-bad-blocks (#1770)
This commit is contained in:
parent
c66f8f9fb2
commit
de9ed732e2
4 changed files with 24 additions and 0 deletions
|
|
@ -138,6 +138,7 @@ var (
|
||||||
utils.AnnounceTxsFlag,
|
utils.AnnounceTxsFlag,
|
||||||
utils.StoreRewardFlag,
|
utils.StoreRewardFlag,
|
||||||
utils.SetHeadFlag,
|
utils.SetHeadFlag,
|
||||||
|
utils.DeleteAllBadBlocksFlag,
|
||||||
utils.XDCSlaveModeFlag,
|
utils.XDCSlaveModeFlag,
|
||||||
}, utils.NetworkFlags, utils.DatabaseFlags)
|
}, utils.NetworkFlags, utils.DatabaseFlags)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -806,6 +806,11 @@ var (
|
||||||
}
|
}
|
||||||
|
|
||||||
// MISC settings
|
// MISC settings
|
||||||
|
DeleteAllBadBlocksFlag = &cli.BoolFlag{
|
||||||
|
Name: "delete-all-bad-blocks",
|
||||||
|
Usage: "Delete all bad blocks in the database",
|
||||||
|
Category: flags.MiscCategory,
|
||||||
|
}
|
||||||
SetHeadFlag = &cli.Uint64Flag{
|
SetHeadFlag = &cli.Uint64Flag{
|
||||||
Name: "set-head",
|
Name: "set-head",
|
||||||
Usage: "Rollback chain to block number",
|
Usage: "Rollback chain to block number",
|
||||||
|
|
@ -1553,6 +1558,9 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *ethconfig.Config) {
|
||||||
os.Mkdir(common.StoreRewardFolder, os.ModePerm)
|
os.Mkdir(common.StoreRewardFolder, os.ModePerm)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ctx.Bool(DeleteAllBadBlocksFlag.Name) {
|
||||||
|
cfg.DeleteAllBadBlocks = true
|
||||||
|
}
|
||||||
if ctx.IsSet(SetHeadFlag.Name) {
|
if ctx.IsSet(SetHeadFlag.Name) {
|
||||||
common.RollbackNumber = ctx.Uint64(SetHeadFlag.Name)
|
common.RollbackNumber = ctx.Uint64(SetHeadFlag.Name)
|
||||||
if common.RollbackNumber == 0 {
|
if common.RollbackNumber == 0 {
|
||||||
|
|
|
||||||
|
|
@ -177,6 +177,20 @@ func New(stack *node.Node, config *ethconfig.Config, XDCXServ *XDCx.XDCX, lendin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
badBlocks := rawdb.ReadAllBadBlocks(chainDb)
|
||||||
|
log.Info("Bad blocks in db", "count", len(badBlocks))
|
||||||
|
for i, block := range badBlocks {
|
||||||
|
log.Info("Bad block in db", "i", i, "number", block.Number(), "hash", block.Hash().Hex())
|
||||||
|
}
|
||||||
|
if config.DeleteAllBadBlocks {
|
||||||
|
if len(badBlocks) == 0 {
|
||||||
|
log.Warn("No bad blocks in db to delete")
|
||||||
|
} else {
|
||||||
|
rawdb.DeleteBadBlocks(chainDb)
|
||||||
|
log.Info(fmt.Sprintf("Deleted %d bad blocks in db", len(badBlocks)))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
vmConfig = vm.Config{EnablePreimageRecording: config.EnablePreimageRecording}
|
vmConfig = vm.Config{EnablePreimageRecording: config.EnablePreimageRecording}
|
||||||
cacheConfig = &core.CacheConfig{
|
cacheConfig = &core.CacheConfig{
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,7 @@ type Config struct {
|
||||||
|
|
||||||
// Database options
|
// Database options
|
||||||
SkipBcVersionCheck bool `toml:"-"`
|
SkipBcVersionCheck bool `toml:"-"`
|
||||||
|
DeleteAllBadBlocks bool `toml:"-"`
|
||||||
DatabaseHandles int `toml:"-"`
|
DatabaseHandles int `toml:"-"`
|
||||||
DatabaseCache int
|
DatabaseCache int
|
||||||
TrieCleanCache int
|
TrieCleanCache int
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue