erigon-pulse/turbo/snapshotsync/snapshotsynccli/flags.go
Alex Sharov 9b47daee44
Default syncmode=snap for Mainnet, Bsc, Goerli (#3861)
* change syncmode default to snap sync

* save
2022-04-10 07:20:20 +01:00

42 lines
1.0 KiB
Go

package snapshotsynccli
import (
"fmt"
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon/eth/ethconfig"
)
var (
blockSnapshotEnabledKey = []byte("blocksSnapshotEnabled")
)
func EnsureNotChanged(tx kv.GetPut, cfg ethconfig.Snapshot) error {
ok, v, err := kv.EnsureNotChangedBool(tx, kv.DatabaseInfo, blockSnapshotEnabledKey, cfg.Enabled)
if err != nil {
return err
}
if !ok {
if v {
return fmt.Errorf("we recently changed default of --syncmode flag, please add flag --syncmode=snap")
} else {
return fmt.Errorf("we recently changed default of --syncmode flag, please add flag --syncmode=fast")
}
}
return nil
}
// ForceSetFlags - if you know what you are doing
func ForceSetFlags(tx kv.GetPut, cfg ethconfig.Snapshot) error {
if cfg.Enabled {
if err := tx.Put(kv.DatabaseInfo, blockSnapshotEnabledKey, []byte{1}); err != nil {
return err
}
} else {
if err := tx.Put(kv.DatabaseInfo, blockSnapshotEnabledKey, []byte{0}); err != nil {
return err
}
}
return nil
}