2020-07-14 01:56:29 +00:00
package commands
2020-07-05 06:18:21 +00:00
2020-08-22 10:12:33 +00:00
import (
"github.com/ledgerwatch/turbo-geth/node"
"github.com/spf13/cobra"
)
2020-07-05 06:18:21 +00:00
var (
2020-07-07 07:11:10 +00:00
chaindata string
2020-10-13 12:56:16 +00:00
snapshotMode string
snapshotDir string
2020-07-25 07:35:08 +00:00
compact bool
2020-07-07 07:11:10 +00:00
referenceChaindata string
block uint64
unwind uint64
unwindEvery uint64
2020-09-05 06:27:47 +00:00
hdd bool
2020-07-07 07:11:10 +00:00
reset bool
bucket string
2020-07-28 13:07:36 +00:00
datadir string
2020-10-13 22:42:04 +00:00
mapSizeStr string
2020-07-05 06:18:21 +00:00
)
func must ( err error ) {
if err != nil {
panic ( err )
}
}
func withChaindata ( cmd * cobra . Command ) {
2020-07-07 04:00:25 +00:00
cmd . Flags ( ) . StringVar ( & chaindata , "chaindata" , "" , "path to the db" )
must ( cmd . MarkFlagDirname ( "chaindata" ) )
must ( cmd . MarkFlagRequired ( "chaindata" ) )
2020-10-13 12:56:16 +00:00
cmd . Flags ( ) . StringVar ( & snapshotMode , "snapshotMode" , "" , "set of snapshots to use" )
cmd . Flags ( ) . StringVar ( & snapshotDir , "snapshotDir" , "" , "snapshot dir" )
2020-07-05 06:18:21 +00:00
}
2020-10-13 22:42:04 +00:00
func withMapSize ( cmd * cobra . Command ) {
cmd . Flags ( ) . StringVar ( & mapSizeStr , "lmdb.mapSize" , "" , "map size for LMDB" )
}
2020-07-25 07:35:08 +00:00
func withCompact ( cmd * cobra . Command ) {
cmd . Flags ( ) . BoolVar ( & compact , "compact" , false , "compact db file. if remove much data form LMDB it slows down tx.Commit because it performs `realloc()` of free_list every commit" )
}
2020-07-07 07:11:10 +00:00
func withReferenceChaindata ( cmd * cobra . Command ) {
cmd . Flags ( ) . StringVar ( & referenceChaindata , "reference_chaindata" , "" , "path to the 2nd (reference/etalon) db" )
2020-07-07 10:07:14 +00:00
must ( cmd . MarkFlagDirname ( "reference_chaindata" ) )
2020-07-07 07:11:10 +00:00
}
2020-07-07 04:00:25 +00:00
func withBlock ( cmd * cobra . Command ) {
cmd . Flags ( ) . Uint64Var ( & block , "block" , 0 , "block test at this block" )
}
func withUnwind ( cmd * cobra . Command ) {
cmd . Flags ( ) . Uint64Var ( & unwind , "unwind" , 0 , "how much blocks unwind on each iteration" )
}
func withUnwindEvery ( cmd * cobra . Command ) {
2020-09-10 12:35:58 +00:00
cmd . Flags ( ) . Uint64Var ( & unwindEvery , "unwind_every" , 0 , "each iteration test will move forward `--unwind_every` blocks, then unwind `--unwind` blocks" )
2020-07-07 04:00:25 +00:00
}
2020-07-07 07:11:10 +00:00
func withReset ( cmd * cobra . Command ) {
2020-07-07 04:00:25 +00:00
cmd . Flags ( ) . BoolVar ( & reset , "reset" , false , "reset given stage" )
2020-07-05 06:18:21 +00:00
}
2020-07-07 07:11:10 +00:00
func withBucket ( cmd * cobra . Command ) {
cmd . Flags ( ) . StringVar ( & bucket , "bucket" , "" , "reset given stage" )
}
2020-07-28 13:07:36 +00:00
func withDatadir ( cmd * cobra . Command ) {
2020-08-22 10:12:33 +00:00
cmd . Flags ( ) . StringVar ( & datadir , "datadir" , node . DefaultDataDir ( ) , "data directory for temporary ELT files" )
2020-07-28 13:07:36 +00:00
}
2020-09-05 06:27:47 +00:00
func withHDD ( cmd * cobra . Command ) {
cmd . Flags ( ) . BoolVar ( & hdd , "hdd" , false , "optimizations valuable for HDD" )
}