forked from cerc-io/plugeth
cmd: group network and db path flags together (#24698)
This PR groups all built-in network flags together and list them in the command as a whole. And all database path flags(datadir, ancient) are also grouped, since usually these two are used together.
This commit is contained in:
parent
5157d4540a
commit
344d6f95cf
@ -372,8 +372,8 @@ func (s *Suite) TestSnapTrieNodes(t *utesting.T) {
|
|||||||
{
|
{
|
||||||
root: s.chain.RootAt(999),
|
root: s.chain.RootAt(999),
|
||||||
paths: []snap.TrieNodePathSet{
|
paths: []snap.TrieNodePathSet{
|
||||||
snap.TrieNodePathSet{}, // zero-length pathset should 'abort' and kick us off
|
{}, // zero-length pathset should 'abort' and kick us off
|
||||||
snap.TrieNodePathSet{[]byte{0}},
|
{[]byte{0}},
|
||||||
},
|
},
|
||||||
nBytes: 5000,
|
nBytes: 5000,
|
||||||
expHashes: []common.Hash{},
|
expHashes: []common.Hash{},
|
||||||
@ -382,8 +382,8 @@ func (s *Suite) TestSnapTrieNodes(t *utesting.T) {
|
|||||||
{
|
{
|
||||||
root: s.chain.RootAt(999),
|
root: s.chain.RootAt(999),
|
||||||
paths: []snap.TrieNodePathSet{
|
paths: []snap.TrieNodePathSet{
|
||||||
snap.TrieNodePathSet{[]byte{0}},
|
{[]byte{0}},
|
||||||
snap.TrieNodePathSet{[]byte{1}, []byte{0}},
|
{[]byte{1}, []byte{0}},
|
||||||
},
|
},
|
||||||
nBytes: 5000,
|
nBytes: 5000,
|
||||||
//0x6b3724a41b8c38b46d4d02fba2bb2074c47a507eb16a9a4b978f91d32e406faf
|
//0x6b3724a41b8c38b46d4d02fba2bb2074c47a507eb16a9a4b978f91d32e406faf
|
||||||
@ -392,7 +392,7 @@ func (s *Suite) TestSnapTrieNodes(t *utesting.T) {
|
|||||||
{ // nonsensically long path
|
{ // nonsensically long path
|
||||||
root: s.chain.RootAt(999),
|
root: s.chain.RootAt(999),
|
||||||
paths: []snap.TrieNodePathSet{
|
paths: []snap.TrieNodePathSet{
|
||||||
snap.TrieNodePathSet{[]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8,
|
{[]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8,
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8}},
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8}},
|
||||||
},
|
},
|
||||||
nBytes: 5000,
|
nBytes: 5000,
|
||||||
@ -401,8 +401,8 @@ func (s *Suite) TestSnapTrieNodes(t *utesting.T) {
|
|||||||
{
|
{
|
||||||
root: s.chain.RootAt(0),
|
root: s.chain.RootAt(0),
|
||||||
paths: []snap.TrieNodePathSet{
|
paths: []snap.TrieNodePathSet{
|
||||||
snap.TrieNodePathSet{[]byte{0}},
|
{[]byte{0}},
|
||||||
snap.TrieNodePathSet{[]byte{1}, []byte{0}},
|
{[]byte{1}, []byte{0}},
|
||||||
},
|
},
|
||||||
nBytes: 5000,
|
nBytes: 5000,
|
||||||
expHashes: []common.Hash{},
|
expHashes: []common.Hash{},
|
||||||
|
@ -47,10 +47,8 @@ var (
|
|||||||
Name: "init",
|
Name: "init",
|
||||||
Usage: "Bootstrap and initialize a new genesis block",
|
Usage: "Bootstrap and initialize a new genesis block",
|
||||||
ArgsUsage: "<genesisPath>",
|
ArgsUsage: "<genesisPath>",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.DatabasePathFlags,
|
||||||
utils.DataDirFlag,
|
Category: "BLOCKCHAIN COMMANDS",
|
||||||
},
|
|
||||||
Category: "BLOCKCHAIN COMMANDS",
|
|
||||||
Description: `
|
Description: `
|
||||||
The init command initializes a new genesis block and definition for the network.
|
The init command initializes a new genesis block and definition for the network.
|
||||||
This is a destructive action and changes the network in which you will be
|
This is a destructive action and changes the network in which you will be
|
||||||
@ -63,14 +61,8 @@ It expects the genesis file as argument.`,
|
|||||||
Name: "dumpgenesis",
|
Name: "dumpgenesis",
|
||||||
Usage: "Dumps genesis block JSON configuration to stdout",
|
Usage: "Dumps genesis block JSON configuration to stdout",
|
||||||
ArgsUsage: "",
|
ArgsUsage: "",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.NetworkFlags,
|
||||||
utils.MainnetFlag,
|
Category: "BLOCKCHAIN COMMANDS",
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Category: "BLOCKCHAIN COMMANDS",
|
|
||||||
Description: `
|
Description: `
|
||||||
The dumpgenesis command dumps the genesis block configuration in JSON format to stdout.`,
|
The dumpgenesis command dumps the genesis block configuration in JSON format to stdout.`,
|
||||||
}
|
}
|
||||||
@ -79,8 +71,7 @@ The dumpgenesis command dumps the genesis block configuration in JSON format to
|
|||||||
Name: "import",
|
Name: "import",
|
||||||
Usage: "Import a blockchain file",
|
Usage: "Import a blockchain file",
|
||||||
ArgsUsage: "<filename> (<filename 2> ... <filename N>) ",
|
ArgsUsage: "<filename> (<filename 2> ... <filename N>) ",
|
||||||
Flags: []cli.Flag{
|
Flags: append([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.CacheFlag,
|
utils.CacheFlag,
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.GCModeFlag,
|
utils.GCModeFlag,
|
||||||
@ -102,7 +93,7 @@ The dumpgenesis command dumps the genesis block configuration in JSON format to
|
|||||||
utils.MetricsInfluxDBBucketFlag,
|
utils.MetricsInfluxDBBucketFlag,
|
||||||
utils.MetricsInfluxDBOrganizationFlag,
|
utils.MetricsInfluxDBOrganizationFlag,
|
||||||
utils.TxLookupLimitFlag,
|
utils.TxLookupLimitFlag,
|
||||||
},
|
}, utils.DatabasePathFlags...),
|
||||||
Category: "BLOCKCHAIN COMMANDS",
|
Category: "BLOCKCHAIN COMMANDS",
|
||||||
Description: `
|
Description: `
|
||||||
The import command imports blocks from an RLP-encoded form. The form can be one file
|
The import command imports blocks from an RLP-encoded form. The form can be one file
|
||||||
@ -116,11 +107,10 @@ processing will proceed even if an individual RLP-file import failure occurs.`,
|
|||||||
Name: "export",
|
Name: "export",
|
||||||
Usage: "Export blockchain into file",
|
Usage: "Export blockchain into file",
|
||||||
ArgsUsage: "<filename> [<blockNumFirst> <blockNumLast>]",
|
ArgsUsage: "<filename> [<blockNumFirst> <blockNumLast>]",
|
||||||
Flags: []cli.Flag{
|
Flags: append([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.CacheFlag,
|
utils.CacheFlag,
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
},
|
}, utils.DatabasePathFlags...),
|
||||||
Category: "BLOCKCHAIN COMMANDS",
|
Category: "BLOCKCHAIN COMMANDS",
|
||||||
Description: `
|
Description: `
|
||||||
Requires a first argument of the file to write to.
|
Requires a first argument of the file to write to.
|
||||||
@ -134,11 +124,10 @@ be gzipped.`,
|
|||||||
Name: "import-preimages",
|
Name: "import-preimages",
|
||||||
Usage: "Import the preimage database from an RLP stream",
|
Usage: "Import the preimage database from an RLP stream",
|
||||||
ArgsUsage: "<datafile>",
|
ArgsUsage: "<datafile>",
|
||||||
Flags: []cli.Flag{
|
Flags: append([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.CacheFlag,
|
utils.CacheFlag,
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
},
|
}, utils.DatabasePathFlags...),
|
||||||
Category: "BLOCKCHAIN COMMANDS",
|
Category: "BLOCKCHAIN COMMANDS",
|
||||||
Description: `
|
Description: `
|
||||||
The import-preimages command imports hash preimages from an RLP encoded stream.
|
The import-preimages command imports hash preimages from an RLP encoded stream.
|
||||||
@ -150,11 +139,10 @@ It's deprecated, please use "geth db import" instead.
|
|||||||
Name: "export-preimages",
|
Name: "export-preimages",
|
||||||
Usage: "Export the preimage database into an RLP stream",
|
Usage: "Export the preimage database into an RLP stream",
|
||||||
ArgsUsage: "<dumpfile>",
|
ArgsUsage: "<dumpfile>",
|
||||||
Flags: []cli.Flag{
|
Flags: append([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.CacheFlag,
|
utils.CacheFlag,
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
},
|
}, utils.DatabasePathFlags...),
|
||||||
Category: "BLOCKCHAIN COMMANDS",
|
Category: "BLOCKCHAIN COMMANDS",
|
||||||
Description: `
|
Description: `
|
||||||
The export-preimages command exports hash preimages to an RLP encoded stream.
|
The export-preimages command exports hash preimages to an RLP encoded stream.
|
||||||
@ -166,8 +154,7 @@ It's deprecated, please use "geth db export" instead.
|
|||||||
Name: "dump",
|
Name: "dump",
|
||||||
Usage: "Dump a specific block from storage",
|
Usage: "Dump a specific block from storage",
|
||||||
ArgsUsage: "[? <blockHash> | <blockNum>]",
|
ArgsUsage: "[? <blockHash> | <blockNum>]",
|
||||||
Flags: []cli.Flag{
|
Flags: append([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.CacheFlag,
|
utils.CacheFlag,
|
||||||
utils.IterativeOutputFlag,
|
utils.IterativeOutputFlag,
|
||||||
utils.ExcludeCodeFlag,
|
utils.ExcludeCodeFlag,
|
||||||
@ -175,7 +162,7 @@ It's deprecated, please use "geth db export" instead.
|
|||||||
utils.IncludeIncompletesFlag,
|
utils.IncludeIncompletesFlag,
|
||||||
utils.StartKeyFlag,
|
utils.StartKeyFlag,
|
||||||
utils.DumpLimitFlag,
|
utils.DumpLimitFlag,
|
||||||
},
|
}, utils.DatabasePathFlags...),
|
||||||
Category: "BLOCKCHAIN COMMANDS",
|
Category: "BLOCKCHAIN COMMANDS",
|
||||||
Description: `
|
Description: `
|
||||||
This command dumps out the state for a given block (or latest, if none provided).
|
This command dumps out the state for a given block (or latest, if none provided).
|
||||||
|
@ -48,7 +48,7 @@ var (
|
|||||||
Name: "dumpconfig",
|
Name: "dumpconfig",
|
||||||
Usage: "Show configuration values",
|
Usage: "Show configuration values",
|
||||||
ArgsUsage: "",
|
ArgsUsage: "",
|
||||||
Flags: append(nodeFlags, rpcFlags...),
|
Flags: utils.GroupFlags(nodeFlags, rpcFlags),
|
||||||
Category: "MISCELLANEOUS COMMANDS",
|
Category: "MISCELLANEOUS COMMANDS",
|
||||||
Description: `The dumpconfig command shows configuration values.`,
|
Description: `The dumpconfig command shows configuration values.`,
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ var (
|
|||||||
Action: utils.MigrateFlags(localConsole),
|
Action: utils.MigrateFlags(localConsole),
|
||||||
Name: "console",
|
Name: "console",
|
||||||
Usage: "Start an interactive JavaScript environment",
|
Usage: "Start an interactive JavaScript environment",
|
||||||
Flags: append(append(nodeFlags, rpcFlags...), consoleFlags...),
|
Flags: utils.GroupFlags(nodeFlags, rpcFlags, consoleFlags),
|
||||||
Category: "CONSOLE COMMANDS",
|
Category: "CONSOLE COMMANDS",
|
||||||
Description: `
|
Description: `
|
||||||
The Geth console is an interactive shell for the JavaScript runtime environment
|
The Geth console is an interactive shell for the JavaScript runtime environment
|
||||||
@ -49,7 +49,7 @@ See https://geth.ethereum.org/docs/interface/javascript-console.`,
|
|||||||
Name: "attach",
|
Name: "attach",
|
||||||
Usage: "Start an interactive JavaScript environment (connect to node)",
|
Usage: "Start an interactive JavaScript environment (connect to node)",
|
||||||
ArgsUsage: "[endpoint]",
|
ArgsUsage: "[endpoint]",
|
||||||
Flags: append(consoleFlags, utils.DataDirFlag),
|
Flags: utils.GroupFlags([]cli.Flag{utils.DataDirFlag}, consoleFlags),
|
||||||
Category: "CONSOLE COMMANDS",
|
Category: "CONSOLE COMMANDS",
|
||||||
Description: `
|
Description: `
|
||||||
The Geth console is an interactive shell for the JavaScript runtime environment
|
The Geth console is an interactive shell for the JavaScript runtime environment
|
||||||
@ -63,7 +63,7 @@ This command allows to open a console on a running geth node.`,
|
|||||||
Name: "js",
|
Name: "js",
|
||||||
Usage: "Execute the specified JavaScript files",
|
Usage: "Execute the specified JavaScript files",
|
||||||
ArgsUsage: "<jsfile> [jsfile...]",
|
ArgsUsage: "<jsfile> [jsfile...]",
|
||||||
Flags: append(nodeFlags, consoleFlags...),
|
Flags: utils.GroupFlags(nodeFlags, consoleFlags),
|
||||||
Category: "CONSOLE COMMANDS",
|
Category: "CONSOLE COMMANDS",
|
||||||
Description: `
|
Description: `
|
||||||
The JavaScript VM exposes a node admin interface as well as the Ðapp
|
The JavaScript VM exposes a node admin interface as well as the Ðapp
|
||||||
@ -141,6 +141,8 @@ func remoteConsole(ctx *cli.Context) error {
|
|||||||
path = filepath.Join(path, "goerli")
|
path = filepath.Join(path, "goerli")
|
||||||
} else if ctx.GlobalBool(utils.SepoliaFlag.Name) {
|
} else if ctx.GlobalBool(utils.SepoliaFlag.Name) {
|
||||||
path = filepath.Join(path, "sepolia")
|
path = filepath.Join(path, "sepolia")
|
||||||
|
} else if ctx.GlobalBool(utils.KilnFlag.Name) {
|
||||||
|
path = filepath.Join(path, "kiln")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
endpoint = fmt.Sprintf("%s/geth.ipc", path)
|
endpoint = fmt.Sprintf("%s/geth.ipc", path)
|
||||||
|
@ -48,10 +48,8 @@ var (
|
|||||||
Name: "removedb",
|
Name: "removedb",
|
||||||
Usage: "Remove blockchain and state databases",
|
Usage: "Remove blockchain and state databases",
|
||||||
ArgsUsage: "",
|
ArgsUsage: "",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.DatabasePathFlags,
|
||||||
utils.DataDirFlag,
|
Category: "DATABASE COMMANDS",
|
||||||
},
|
|
||||||
Category: "DATABASE COMMANDS",
|
|
||||||
Description: `
|
Description: `
|
||||||
Remove blockchain and state databases`,
|
Remove blockchain and state databases`,
|
||||||
}
|
}
|
||||||
@ -79,16 +77,9 @@ Remove blockchain and state databases`,
|
|||||||
Action: utils.MigrateFlags(inspect),
|
Action: utils.MigrateFlags(inspect),
|
||||||
Name: "inspect",
|
Name: "inspect",
|
||||||
ArgsUsage: "<prefix> <start>",
|
ArgsUsage: "<prefix> <start>",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.AncientFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.MainnetFlag,
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Usage: "Inspect the storage size for each type of data in the database",
|
Usage: "Inspect the storage size for each type of data in the database",
|
||||||
Description: `This commands iterates the entire database. If the optional 'prefix' and 'start' arguments are provided, then the iteration is limited to the given subset of data.`,
|
Description: `This commands iterates the entire database. If the optional 'prefix' and 'start' arguments are provided, then the iteration is limited to the given subset of data.`,
|
||||||
}
|
}
|
||||||
@ -96,31 +87,19 @@ Remove blockchain and state databases`,
|
|||||||
Action: utils.MigrateFlags(dbStats),
|
Action: utils.MigrateFlags(dbStats),
|
||||||
Name: "stats",
|
Name: "stats",
|
||||||
Usage: "Print leveldb statistics",
|
Usage: "Print leveldb statistics",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.MainnetFlag,
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
dbCompactCmd = cli.Command{
|
dbCompactCmd = cli.Command{
|
||||||
Action: utils.MigrateFlags(dbCompact),
|
Action: utils.MigrateFlags(dbCompact),
|
||||||
Name: "compact",
|
Name: "compact",
|
||||||
Usage: "Compact leveldb database. WARNING: May take a very long time",
|
Usage: "Compact leveldb database. WARNING: May take a very long time",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.MainnetFlag,
|
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
utils.CacheFlag,
|
utils.CacheFlag,
|
||||||
utils.CacheDatabaseFlag,
|
utils.CacheDatabaseFlag,
|
||||||
},
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
Description: `This command performs a database compaction.
|
Description: `This command performs a database compaction.
|
||||||
WARNING: This operation may take a very long time to finish, and may cause database
|
WARNING: This operation may take a very long time to finish, and may cause database
|
||||||
corruption if it is aborted during execution'!`,
|
corruption if it is aborted during execution'!`,
|
||||||
@ -130,15 +109,9 @@ corruption if it is aborted during execution'!`,
|
|||||||
Name: "get",
|
Name: "get",
|
||||||
Usage: "Show the value of a database key",
|
Usage: "Show the value of a database key",
|
||||||
ArgsUsage: "<hex-encoded key>",
|
ArgsUsage: "<hex-encoded key>",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.MainnetFlag,
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: "This command looks up the specified database key from the database.",
|
Description: "This command looks up the specified database key from the database.",
|
||||||
}
|
}
|
||||||
dbDeleteCmd = cli.Command{
|
dbDeleteCmd = cli.Command{
|
||||||
@ -146,15 +119,9 @@ corruption if it is aborted during execution'!`,
|
|||||||
Name: "delete",
|
Name: "delete",
|
||||||
Usage: "Delete a database key (WARNING: may corrupt your database)",
|
Usage: "Delete a database key (WARNING: may corrupt your database)",
|
||||||
ArgsUsage: "<hex-encoded key>",
|
ArgsUsage: "<hex-encoded key>",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.MainnetFlag,
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: `This command deletes the specified database key from the database.
|
Description: `This command deletes the specified database key from the database.
|
||||||
WARNING: This is a low-level operation which may cause database corruption!`,
|
WARNING: This is a low-level operation which may cause database corruption!`,
|
||||||
}
|
}
|
||||||
@ -163,15 +130,9 @@ WARNING: This is a low-level operation which may cause database corruption!`,
|
|||||||
Name: "put",
|
Name: "put",
|
||||||
Usage: "Set the value of a database key (WARNING: may corrupt your database)",
|
Usage: "Set the value of a database key (WARNING: may corrupt your database)",
|
||||||
ArgsUsage: "<hex-encoded key> <hex-encoded value>",
|
ArgsUsage: "<hex-encoded key> <hex-encoded value>",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.MainnetFlag,
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: `This command sets a given database key to the given value.
|
Description: `This command sets a given database key to the given value.
|
||||||
WARNING: This is a low-level operation which may cause database corruption!`,
|
WARNING: This is a low-level operation which may cause database corruption!`,
|
||||||
}
|
}
|
||||||
@ -180,15 +141,9 @@ WARNING: This is a low-level operation which may cause database corruption!`,
|
|||||||
Name: "dumptrie",
|
Name: "dumptrie",
|
||||||
Usage: "Show the storage key/values of a given storage trie",
|
Usage: "Show the storage key/values of a given storage trie",
|
||||||
ArgsUsage: "<hex-encoded storage trie root> <hex-encoded start (optional)> <int max elements (optional)>",
|
ArgsUsage: "<hex-encoded storage trie root> <hex-encoded start (optional)> <int max elements (optional)>",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.MainnetFlag,
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: "This command looks up the specified database key from the database.",
|
Description: "This command looks up the specified database key from the database.",
|
||||||
}
|
}
|
||||||
dbDumpFreezerIndex = cli.Command{
|
dbDumpFreezerIndex = cli.Command{
|
||||||
@ -196,15 +151,9 @@ WARNING: This is a low-level operation which may cause database corruption!`,
|
|||||||
Name: "freezer-index",
|
Name: "freezer-index",
|
||||||
Usage: "Dump out the index of a given freezer type",
|
Usage: "Dump out the index of a given freezer type",
|
||||||
ArgsUsage: "<type> <start (int)> <end (int)>",
|
ArgsUsage: "<type> <start (int)> <end (int)>",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.MainnetFlag,
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: "This command displays information about the freezer index.",
|
Description: "This command displays information about the freezer index.",
|
||||||
}
|
}
|
||||||
dbImportCmd = cli.Command{
|
dbImportCmd = cli.Command{
|
||||||
@ -212,14 +161,9 @@ WARNING: This is a low-level operation which may cause database corruption!`,
|
|||||||
Name: "import",
|
Name: "import",
|
||||||
Usage: "Imports leveldb-data from an exported RLP dump.",
|
Usage: "Imports leveldb-data from an exported RLP dump.",
|
||||||
ArgsUsage: "<dumpfile> <start (optional)",
|
ArgsUsage: "<dumpfile> <start (optional)",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.MainnetFlag,
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: "The import command imports the specific chain data from an RLP encoded stream.",
|
Description: "The import command imports the specific chain data from an RLP encoded stream.",
|
||||||
}
|
}
|
||||||
dbExportCmd = cli.Command{
|
dbExportCmd = cli.Command{
|
||||||
@ -227,29 +171,18 @@ WARNING: This is a low-level operation which may cause database corruption!`,
|
|||||||
Name: "export",
|
Name: "export",
|
||||||
Usage: "Exports the chain data into an RLP dump. If the <dumpfile> has .gz suffix, gzip compression will be used.",
|
Usage: "Exports the chain data into an RLP dump. If the <dumpfile> has .gz suffix, gzip compression will be used.",
|
||||||
ArgsUsage: "<type> <dumpfile>",
|
ArgsUsage: "<type> <dumpfile>",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.MainnetFlag,
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: "Exports the specified chain data to an RLP encoded stream, optionally gzip-compressed.",
|
Description: "Exports the specified chain data to an RLP encoded stream, optionally gzip-compressed.",
|
||||||
}
|
}
|
||||||
dbMetadataCmd = cli.Command{
|
dbMetadataCmd = cli.Command{
|
||||||
Action: utils.MigrateFlags(showMetaData),
|
Action: utils.MigrateFlags(showMetaData),
|
||||||
Name: "metadata",
|
Name: "metadata",
|
||||||
Usage: "Shows metadata about the chain status.",
|
Usage: "Shows metadata about the chain status.",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.MainnetFlag,
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: "Shows metadata about the chain status.",
|
Description: "Shows metadata about the chain status.",
|
||||||
}
|
}
|
||||||
dbMigrateFreezerCmd = cli.Command{
|
dbMigrateFreezerCmd = cli.Command{
|
||||||
@ -257,15 +190,9 @@ WARNING: This is a low-level operation which may cause database corruption!`,
|
|||||||
Name: "freezer-migrate",
|
Name: "freezer-migrate",
|
||||||
Usage: "Migrate legacy parts of the freezer. (WARNING: may take a long time)",
|
Usage: "Migrate legacy parts of the freezer. (WARNING: may take a long time)",
|
||||||
ArgsUsage: "",
|
ArgsUsage: "",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.MainnetFlag,
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: `The freezer-migrate command checks your database for receipts in a legacy format and updates those.
|
Description: `The freezer-migrate command checks your database for receipts in a legacy format and updates those.
|
||||||
WARNING: please back-up the receipt files in your ancients before running this command.`,
|
WARNING: please back-up the receipt files in your ancients before running this command.`,
|
||||||
}
|
}
|
||||||
|
@ -58,13 +58,11 @@ var (
|
|||||||
// The app that holds all commands and flags.
|
// The app that holds all commands and flags.
|
||||||
app = flags.NewApp(gitCommit, gitDate, "the go-ethereum command line interface")
|
app = flags.NewApp(gitCommit, gitDate, "the go-ethereum command line interface")
|
||||||
// flags that configure the node
|
// flags that configure the node
|
||||||
nodeFlags = []cli.Flag{
|
nodeFlags = utils.GroupFlags([]cli.Flag{
|
||||||
utils.IdentityFlag,
|
utils.IdentityFlag,
|
||||||
utils.UnlockedAccountFlag,
|
utils.UnlockedAccountFlag,
|
||||||
utils.PasswordFileFlag,
|
utils.PasswordFileFlag,
|
||||||
utils.BootnodesFlag,
|
utils.BootnodesFlag,
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.AncientFlag,
|
|
||||||
utils.MinFreeDiskSpaceFlag,
|
utils.MinFreeDiskSpaceFlag,
|
||||||
utils.KeyStoreDirFlag,
|
utils.KeyStoreDirFlag,
|
||||||
utils.ExternalSignerFlag,
|
utils.ExternalSignerFlag,
|
||||||
@ -140,15 +138,9 @@ var (
|
|||||||
utils.NodeKeyFileFlag,
|
utils.NodeKeyFileFlag,
|
||||||
utils.NodeKeyHexFlag,
|
utils.NodeKeyHexFlag,
|
||||||
utils.DNSDiscoveryFlag,
|
utils.DNSDiscoveryFlag,
|
||||||
utils.MainnetFlag,
|
|
||||||
utils.DeveloperFlag,
|
utils.DeveloperFlag,
|
||||||
utils.DeveloperPeriodFlag,
|
utils.DeveloperPeriodFlag,
|
||||||
utils.DeveloperGasLimitFlag,
|
utils.DeveloperGasLimitFlag,
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
utils.KilnFlag,
|
|
||||||
utils.VMEnableDebugFlag,
|
utils.VMEnableDebugFlag,
|
||||||
utils.NetworkIdFlag,
|
utils.NetworkIdFlag,
|
||||||
utils.EthStatsURLFlag,
|
utils.EthStatsURLFlag,
|
||||||
@ -160,7 +152,7 @@ var (
|
|||||||
utils.GpoIgnoreGasPriceFlag,
|
utils.GpoIgnoreGasPriceFlag,
|
||||||
utils.MinerNotifyFullFlag,
|
utils.MinerNotifyFullFlag,
|
||||||
configFileFlag,
|
configFileFlag,
|
||||||
}
|
}, utils.NetworkFlags, utils.DatabasePathFlags)
|
||||||
|
|
||||||
rpcFlags = []cli.Flag{
|
rpcFlags = []cli.Flag{
|
||||||
utils.HTTPEnabledFlag,
|
utils.HTTPEnabledFlag,
|
||||||
@ -249,11 +241,11 @@ func init() {
|
|||||||
}
|
}
|
||||||
sort.Sort(cli.CommandsByName(app.Commands))
|
sort.Sort(cli.CommandsByName(app.Commands))
|
||||||
|
|
||||||
app.Flags = append(app.Flags, nodeFlags...)
|
app.Flags = utils.GroupFlags(nodeFlags,
|
||||||
app.Flags = append(app.Flags, rpcFlags...)
|
rpcFlags,
|
||||||
app.Flags = append(app.Flags, consoleFlags...)
|
consoleFlags,
|
||||||
app.Flags = append(app.Flags, debug.Flags...)
|
debug.Flags,
|
||||||
app.Flags = append(app.Flags, metricsFlags...)
|
metricsFlags)
|
||||||
|
|
||||||
app.Before = func(ctx *cli.Context) error {
|
app.Before = func(ctx *cli.Context) error {
|
||||||
return debug.Setup(ctx)
|
return debug.Setup(ctx)
|
||||||
@ -280,15 +272,18 @@ func prepare(ctx *cli.Context) {
|
|||||||
case ctx.GlobalIsSet(utils.RopstenFlag.Name):
|
case ctx.GlobalIsSet(utils.RopstenFlag.Name):
|
||||||
log.Info("Starting Geth on Ropsten testnet...")
|
log.Info("Starting Geth on Ropsten testnet...")
|
||||||
|
|
||||||
case ctx.GlobalIsSet(utils.SepoliaFlag.Name):
|
|
||||||
log.Info("Starting Geth on Sepolia testnet...")
|
|
||||||
|
|
||||||
case ctx.GlobalIsSet(utils.RinkebyFlag.Name):
|
case ctx.GlobalIsSet(utils.RinkebyFlag.Name):
|
||||||
log.Info("Starting Geth on Rinkeby testnet...")
|
log.Info("Starting Geth on Rinkeby testnet...")
|
||||||
|
|
||||||
case ctx.GlobalIsSet(utils.GoerliFlag.Name):
|
case ctx.GlobalIsSet(utils.GoerliFlag.Name):
|
||||||
log.Info("Starting Geth on Görli testnet...")
|
log.Info("Starting Geth on Görli testnet...")
|
||||||
|
|
||||||
|
case ctx.GlobalIsSet(utils.SepoliaFlag.Name):
|
||||||
|
log.Info("Starting Geth on Sepolia testnet...")
|
||||||
|
|
||||||
|
case ctx.GlobalIsSet(utils.KilnFlag.Name):
|
||||||
|
log.Info("Starting Geth on Kiln testnet...")
|
||||||
|
|
||||||
case ctx.GlobalIsSet(utils.DeveloperFlag.Name):
|
case ctx.GlobalIsSet(utils.DeveloperFlag.Name):
|
||||||
log.Info("Starting Geth in ephemeral dev mode...")
|
log.Info("Starting Geth in ephemeral dev mode...")
|
||||||
|
|
||||||
@ -302,6 +297,7 @@ func prepare(ctx *cli.Context) {
|
|||||||
!ctx.GlobalIsSet(utils.SepoliaFlag.Name) &&
|
!ctx.GlobalIsSet(utils.SepoliaFlag.Name) &&
|
||||||
!ctx.GlobalIsSet(utils.RinkebyFlag.Name) &&
|
!ctx.GlobalIsSet(utils.RinkebyFlag.Name) &&
|
||||||
!ctx.GlobalIsSet(utils.GoerliFlag.Name) &&
|
!ctx.GlobalIsSet(utils.GoerliFlag.Name) &&
|
||||||
|
!ctx.GlobalIsSet(utils.KilnFlag.Name) &&
|
||||||
!ctx.GlobalIsSet(utils.DeveloperFlag.Name) {
|
!ctx.GlobalIsSet(utils.DeveloperFlag.Name) {
|
||||||
// Nope, we're really on mainnet. Bump that cache up!
|
// Nope, we're really on mainnet. Bump that cache up!
|
||||||
log.Info("Bumping default cache on mainnet", "provided", ctx.GlobalInt(utils.CacheFlag.Name), "updated", 4096)
|
log.Info("Bumping default cache on mainnet", "provided", ctx.GlobalInt(utils.CacheFlag.Name), "updated", 4096)
|
||||||
|
@ -60,16 +60,10 @@ var (
|
|||||||
ArgsUsage: "<root>",
|
ArgsUsage: "<root>",
|
||||||
Action: utils.MigrateFlags(pruneState),
|
Action: utils.MigrateFlags(pruneState),
|
||||||
Category: "MISCELLANEOUS COMMANDS",
|
Category: "MISCELLANEOUS COMMANDS",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.AncientFlag,
|
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
utils.CacheTrieJournalFlag,
|
utils.CacheTrieJournalFlag,
|
||||||
utils.BloomFilterSizeFlag,
|
utils.BloomFilterSizeFlag,
|
||||||
},
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
Description: `
|
Description: `
|
||||||
geth snapshot prune-state <state-root>
|
geth snapshot prune-state <state-root>
|
||||||
will prune historical state data with the help of the state snapshot.
|
will prune historical state data with the help of the state snapshot.
|
||||||
@ -91,14 +85,7 @@ the trie clean cache with default directory will be deleted.
|
|||||||
ArgsUsage: "<root>",
|
ArgsUsage: "<root>",
|
||||||
Action: utils.MigrateFlags(verifyState),
|
Action: utils.MigrateFlags(verifyState),
|
||||||
Category: "MISCELLANEOUS COMMANDS",
|
Category: "MISCELLANEOUS COMMANDS",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags(utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.AncientFlag,
|
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: `
|
Description: `
|
||||||
geth snapshot verify-state <state-root>
|
geth snapshot verify-state <state-root>
|
||||||
will traverse the whole accounts and storages set based on the specified
|
will traverse the whole accounts and storages set based on the specified
|
||||||
@ -112,14 +99,7 @@ In other words, this command does the snapshot to trie conversion.
|
|||||||
ArgsUsage: "<root>",
|
ArgsUsage: "<root>",
|
||||||
Action: utils.MigrateFlags(checkDanglingStorage),
|
Action: utils.MigrateFlags(checkDanglingStorage),
|
||||||
Category: "MISCELLANEOUS COMMANDS",
|
Category: "MISCELLANEOUS COMMANDS",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags(utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.AncientFlag,
|
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: `
|
Description: `
|
||||||
geth snapshot check-dangling-storage <state-root> traverses the snap storage
|
geth snapshot check-dangling-storage <state-root> traverses the snap storage
|
||||||
data, and verifies that all snapshot storage data has a corresponding account.
|
data, and verifies that all snapshot storage data has a corresponding account.
|
||||||
@ -131,14 +111,7 @@ data, and verifies that all snapshot storage data has a corresponding account.
|
|||||||
ArgsUsage: "<root>",
|
ArgsUsage: "<root>",
|
||||||
Action: utils.MigrateFlags(traverseState),
|
Action: utils.MigrateFlags(traverseState),
|
||||||
Category: "MISCELLANEOUS COMMANDS",
|
Category: "MISCELLANEOUS COMMANDS",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags(utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.AncientFlag,
|
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: `
|
Description: `
|
||||||
geth snapshot traverse-state <state-root>
|
geth snapshot traverse-state <state-root>
|
||||||
will traverse the whole state from the given state root and will abort if any
|
will traverse the whole state from the given state root and will abort if any
|
||||||
@ -154,14 +127,7 @@ It's also usable without snapshot enabled.
|
|||||||
ArgsUsage: "<root>",
|
ArgsUsage: "<root>",
|
||||||
Action: utils.MigrateFlags(traverseRawState),
|
Action: utils.MigrateFlags(traverseRawState),
|
||||||
Category: "MISCELLANEOUS COMMANDS",
|
Category: "MISCELLANEOUS COMMANDS",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags(utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.AncientFlag,
|
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
},
|
|
||||||
Description: `
|
Description: `
|
||||||
geth snapshot traverse-rawstate <state-root>
|
geth snapshot traverse-rawstate <state-root>
|
||||||
will traverse the whole state from the given root and will abort if any referenced
|
will traverse the whole state from the given root and will abort if any referenced
|
||||||
@ -178,18 +144,12 @@ It's also usable without snapshot enabled.
|
|||||||
ArgsUsage: "[? <blockHash> | <blockNum>]",
|
ArgsUsage: "[? <blockHash> | <blockNum>]",
|
||||||
Action: utils.MigrateFlags(dumpState),
|
Action: utils.MigrateFlags(dumpState),
|
||||||
Category: "MISCELLANEOUS COMMANDS",
|
Category: "MISCELLANEOUS COMMANDS",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.AncientFlag,
|
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
utils.ExcludeCodeFlag,
|
utils.ExcludeCodeFlag,
|
||||||
utils.ExcludeStorageFlag,
|
utils.ExcludeStorageFlag,
|
||||||
utils.StartKeyFlag,
|
utils.StartKeyFlag,
|
||||||
utils.DumpLimitFlag,
|
utils.DumpLimitFlag,
|
||||||
},
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
Description: `
|
Description: `
|
||||||
This command is semantically equivalent to 'geth dump', but uses the snapshots
|
This command is semantically equivalent to 'geth dump', but uses the snapshots
|
||||||
as the backend data source, making this command a lot faster.
|
as the backend data source, making this command a lot faster.
|
||||||
|
@ -32,21 +32,13 @@ import (
|
|||||||
var AppHelpFlagGroups = []flags.FlagGroup{
|
var AppHelpFlagGroups = []flags.FlagGroup{
|
||||||
{
|
{
|
||||||
Name: "ETHEREUM",
|
Name: "ETHEREUM",
|
||||||
Flags: []cli.Flag{
|
Flags: utils.GroupFlags([]cli.Flag{
|
||||||
configFileFlag,
|
configFileFlag,
|
||||||
utils.DataDirFlag,
|
|
||||||
utils.AncientFlag,
|
|
||||||
utils.MinFreeDiskSpaceFlag,
|
utils.MinFreeDiskSpaceFlag,
|
||||||
utils.KeyStoreDirFlag,
|
utils.KeyStoreDirFlag,
|
||||||
utils.USBFlag,
|
utils.USBFlag,
|
||||||
utils.SmartCardDaemonPathFlag,
|
utils.SmartCardDaemonPathFlag,
|
||||||
utils.NetworkIdFlag,
|
utils.NetworkIdFlag,
|
||||||
utils.MainnetFlag,
|
|
||||||
utils.GoerliFlag,
|
|
||||||
utils.RinkebyFlag,
|
|
||||||
utils.RopstenFlag,
|
|
||||||
utils.SepoliaFlag,
|
|
||||||
utils.KilnFlag,
|
|
||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.ExitWhenSyncedFlag,
|
utils.ExitWhenSyncedFlag,
|
||||||
utils.GCModeFlag,
|
utils.GCModeFlag,
|
||||||
@ -55,7 +47,7 @@ var AppHelpFlagGroups = []flags.FlagGroup{
|
|||||||
utils.IdentityFlag,
|
utils.IdentityFlag,
|
||||||
utils.LightKDFFlag,
|
utils.LightKDFFlag,
|
||||||
utils.EthPeerRequiredBlocksFlag,
|
utils.EthPeerRequiredBlocksFlag,
|
||||||
},
|
}, utils.NetworkFlags, utils.DatabasePathFlags),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "LIGHT CLIENT",
|
Name: "LIGHT CLIENT",
|
||||||
|
@ -144,17 +144,17 @@ var (
|
|||||||
Name: "mainnet",
|
Name: "mainnet",
|
||||||
Usage: "Ethereum mainnet",
|
Usage: "Ethereum mainnet",
|
||||||
}
|
}
|
||||||
GoerliFlag = cli.BoolFlag{
|
RopstenFlag = cli.BoolFlag{
|
||||||
Name: "goerli",
|
Name: "ropsten",
|
||||||
Usage: "Görli network: pre-configured proof-of-authority test network",
|
Usage: "Ropsten network: pre-configured proof-of-work test network",
|
||||||
}
|
}
|
||||||
RinkebyFlag = cli.BoolFlag{
|
RinkebyFlag = cli.BoolFlag{
|
||||||
Name: "rinkeby",
|
Name: "rinkeby",
|
||||||
Usage: "Rinkeby network: pre-configured proof-of-authority test network",
|
Usage: "Rinkeby network: pre-configured proof-of-authority test network",
|
||||||
}
|
}
|
||||||
RopstenFlag = cli.BoolFlag{
|
GoerliFlag = cli.BoolFlag{
|
||||||
Name: "ropsten",
|
Name: "goerli",
|
||||||
Usage: "Ropsten network: pre-configured proof-of-work test network",
|
Usage: "Görli network: pre-configured proof-of-authority test network",
|
||||||
}
|
}
|
||||||
SepoliaFlag = cli.BoolFlag{
|
SepoliaFlag = cli.BoolFlag{
|
||||||
Name: "sepolia",
|
Name: "sepolia",
|
||||||
@ -823,6 +823,36 @@ var (
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
// TestnetFlags is the flag group of all built-in supported testnets.
|
||||||
|
TestnetFlags = []cli.Flag{
|
||||||
|
RopstenFlag,
|
||||||
|
RinkebyFlag,
|
||||||
|
GoerliFlag,
|
||||||
|
SepoliaFlag,
|
||||||
|
KilnFlag,
|
||||||
|
}
|
||||||
|
// NetworkFlags is the flag group of all built-in supported networks.
|
||||||
|
NetworkFlags = append([]cli.Flag{
|
||||||
|
MainnetFlag,
|
||||||
|
}, TestnetFlags...)
|
||||||
|
|
||||||
|
// DatabasePathFlags is the flag group of all database path flags.
|
||||||
|
DatabasePathFlags = []cli.Flag{
|
||||||
|
DataDirFlag,
|
||||||
|
AncientFlag,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// GroupFlags combines the given flag slices together and returns the merged one.
|
||||||
|
func GroupFlags(groups ...[]cli.Flag) []cli.Flag {
|
||||||
|
var ret []cli.Flag
|
||||||
|
for _, group := range groups {
|
||||||
|
ret = append(ret, group...)
|
||||||
|
}
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
// MakeDataDir retrieves the currently requested data directory, terminating
|
// MakeDataDir retrieves the currently requested data directory, terminating
|
||||||
// if none (or the empty string) is specified. If the node is starting a testnet,
|
// if none (or the empty string) is specified. If the node is starting a testnet,
|
||||||
// then a subdirectory of the specified datadir will be used.
|
// then a subdirectory of the specified datadir will be used.
|
||||||
|
Loading…
Reference in New Issue
Block a user