erigon-pulse/cmd/state/commands/global_flags_vars.go
Alex Sharov 27b87f44d6
Erigon2: support block snapshots (#3557)
* save

* erigon

* save
2022-02-22 08:42:12 +07:00

53 lines
1.5 KiB
Go

package commands
import (
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon/common/paths"
"github.com/spf13/cobra"
)
var (
datadir string
chaindata string
statsfile string
block uint64
changeSetBucket string
indexBucket string
snapshotBlocks bool
)
func must(err error) {
if err != nil {
panic(err)
}
}
func withBlock(cmd *cobra.Command) {
cmd.Flags().Uint64Var(&block, "block", 0, "specifies a block number for operation")
}
func withDatadir(cmd *cobra.Command) {
cmd.Flags().StringVar(&datadir, "datadir", paths.DefaultDataDir(), "data directory for temporary ELT files")
must(cmd.MarkFlagDirname("datadir"))
cmd.Flags().StringVar(&chaindata, "chaindata", "", "path to the db")
must(cmd.MarkFlagDirname("chaindata"))
}
func withStatsfile(cmd *cobra.Command) {
cmd.Flags().StringVar(&statsfile, "statsfile", "stateless.csv", "path where to write the stats file")
must(cmd.MarkFlagFilename("statsfile", "csv"))
}
func withCSBucket(cmd *cobra.Command) {
cmd.Flags().StringVar(&changeSetBucket, "changeset-bucket", kv.AccountChangeSet, kv.AccountChangeSet+" for account and "+kv.StorageChangeSet+" for storage")
}
func withIndexBucket(cmd *cobra.Command) {
cmd.Flags().StringVar(&indexBucket, "index-bucket", kv.AccountsHistory, kv.AccountsHistory+" for account and "+kv.StorageHistory+" for storage")
}
func withSnapshotBlocks(cmd *cobra.Command) {
cmd.Flags().BoolVar(&snapshotBlocks, "experimental.snapshot", false, "")
}