# `reth db` Database debugging utilities ```bash $ reth db --help Usage: reth db [OPTIONS] Commands: stats Lists all the tables, their entry count and their size list Lists the contents of a table diff Create a diff between two database tables or two entire databases get Gets the content of a table for the given key drop Deletes all database entries clear Deletes all table entries snapshot Snapshots tables from database version Lists current and local database versions path Returns the full database path help Print this message or the help of the given subcommand(s) Options: --datadir The path to the data dir for all reth files and subdirectories. Defaults to the OS-specific data directory: - Linux: `$XDG_DATA_HOME/reth/` or `$HOME/.local/share/reth/` - Windows: `{FOLDERID_RoamingAppData}/reth/` - macOS: `$HOME/Library/Application Support/reth/` [default: default] --chain The chain this node is running. Possible values are either a built-in chain or the path to a chain specification file. Built-in chains: mainnet, sepolia, goerli, holesky, dev [default: mainnet] --instance Add a new instance of a node. Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine. Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other. Changes to the following port numbers: - DISCOVERY_PORT: default + `instance` - 1 - AUTH_PORT: default + `instance` * 100 - 100 - HTTP_RPC_PORT: default - `instance` + 1 - WS_RPC_PORT: default + `instance` * 2 - 2 [default: 1] -h, --help Print help (see a summary with '-h') Database: --db.log-level Database logging level. Levels higher than "notice" require a debug build Possible values: - fatal: Enables logging for critical conditions, i.e. assertion failures - error: Enables logging for error conditions - warn: Enables logging for warning conditions - notice: Enables logging for normal but significant condition - verbose: Enables logging for verbose informational - debug: Enables logging for debug-level messages - trace: Enables logging for trace debug-level messages - extra: Enables logging for extra debug-level messages Logging: --log.file.directory The path to put log files in [default: /reth/logs] --log.file.max-size The maximum size (in MB) of one log file [default: 200] --log.file.max-files The maximum amount of log files that will be stored. If set to 0, background file logging is disabled [default: 5] --log.file.filter The filter to use for logs written to the log file [default: debug] --log.journald Write logs to journald --log.journald.filter The filter to use for logs written to journald [default: error] --color Sets whether or not the formatter emits ANSI terminal escape codes for colors and other text formatting [default: always] Possible values: - always: Colors on - auto: Colors on - never: Colors off Display: -v, --verbosity... Set the minimum log level. -v Errors -vv Warnings -vvv Info -vvvv Debug -vvvvv Traces (warning: very verbose!) -q, --quiet Silence all log output ``` ## `reth db clear` Deletes all table entries ```bash $ reth db clear --help Usage: reth db clear [OPTIONS] Arguments:
Table name Options: --datadir The path to the data dir for all reth files and subdirectories. Defaults to the OS-specific data directory: - Linux: `$XDG_DATA_HOME/reth/` or `$HOME/.local/share/reth/` - Windows: `{FOLDERID_RoamingAppData}/reth/` - macOS: `$HOME/Library/Application Support/reth/` [default: default] --chain The chain this node is running. Possible values are either a built-in chain or the path to a chain specification file. Built-in chains: mainnet, sepolia, goerli, holesky, dev [default: mainnet] --instance Add a new instance of a node. Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine. Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other. Changes to the following port numbers: - DISCOVERY_PORT: default + `instance` - 1 - AUTH_PORT: default + `instance` * 100 - 100 - HTTP_RPC_PORT: default - `instance` + 1 - WS_RPC_PORT: default + `instance` * 2 - 2 [default: 1] -h, --help Print help (see a summary with '-h') Logging: --log.file.directory The path to put log files in [default: /reth/logs] --log.file.max-size The maximum size (in MB) of one log file [default: 200] --log.file.max-files The maximum amount of log files that will be stored. If set to 0, background file logging is disabled [default: 5] --log.file.filter The filter to use for logs written to the log file [default: debug] --log.journald Write logs to journald --log.journald.filter The filter to use for logs written to journald [default: error] --color Sets whether or not the formatter emits ANSI terminal escape codes for colors and other text formatting [default: always] Possible values: - always: Colors on - auto: Colors on - never: Colors off Display: -v, --verbosity... Set the minimum log level. -v Errors -vv Warnings -vvv Info -vvvv Debug -vvvvv Traces (warning: very verbose!) -q, --quiet Silence all log output ``` ## `reth db diff` Create a diff between two database tables or two entire databases ```bash $ reth db diff --help Usage: reth db diff [OPTIONS] --secondary-datadir --output Options: --datadir The path to the data dir for all reth files and subdirectories. Defaults to the OS-specific data directory: - Linux: `$XDG_DATA_HOME/reth/` or `$HOME/.local/share/reth/` - Windows: `{FOLDERID_RoamingAppData}/reth/` - macOS: `$HOME/Library/Application Support/reth/` [default: default] --secondary-datadir The path to the data dir for all reth files and subdirectories. --chain The chain this node is running. Possible values are either a built-in chain or the path to a chain specification file. Built-in chains: mainnet, sepolia, goerli, holesky, dev [default: mainnet] --instance Add a new instance of a node. Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine. Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other. Changes to the following port numbers: - DISCOVERY_PORT: default + `instance` - 1 - AUTH_PORT: default + `instance` * 100 - 100 - HTTP_RPC_PORT: default - `instance` + 1 - WS_RPC_PORT: default + `instance` * 2 - 2 [default: 1] -h, --help Print help (see a summary with '-h') Database: --db.log-level Database logging level. Levels higher than "notice" require a debug build Possible values: - fatal: Enables logging for critical conditions, i.e. assertion failures - error: Enables logging for error conditions - warn: Enables logging for warning conditions - notice: Enables logging for normal but significant condition - verbose: Enables logging for verbose informational - debug: Enables logging for debug-level messages - trace: Enables logging for trace debug-level messages - extra: Enables logging for extra debug-level messages --table
The table name to diff. If not specified, all tables are diffed. --output The output directory for the diff report. Logging: --log.file.directory The path to put log files in [default: /reth/logs] --log.file.max-size The maximum size (in MB) of one log file [default: 200] --log.file.max-files The maximum amount of log files that will be stored. If set to 0, background file logging is disabled [default: 5] --log.file.filter The filter to use for logs written to the log file [default: debug] --log.journald Write logs to journald --log.journald.filter The filter to use for logs written to journald [default: error] --color Sets whether or not the formatter emits ANSI terminal escape codes for colors and other text formatting [default: always] Possible values: - always: Colors on - auto: Colors on - never: Colors off Display: -v, --verbosity... Set the minimum log level. -v Errors -vv Warnings -vvv Info -vvvv Debug -vvvvv Traces (warning: very verbose!) -q, --quiet Silence all log output ``` ## `reth db drop` Deletes all database entries ```bash $ reth db drop --help Usage: reth db drop [OPTIONS] Options: --datadir The path to the data dir for all reth files and subdirectories. Defaults to the OS-specific data directory: - Linux: `$XDG_DATA_HOME/reth/` or `$HOME/.local/share/reth/` - Windows: `{FOLDERID_RoamingAppData}/reth/` - macOS: `$HOME/Library/Application Support/reth/` [default: default] -f, --force Bypasses the interactive confirmation and drops the database directly --chain The chain this node is running. Possible values are either a built-in chain or the path to a chain specification file. Built-in chains: mainnet, sepolia, goerli, holesky, dev [default: mainnet] --instance Add a new instance of a node. Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine. Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other. Changes to the following port numbers: - DISCOVERY_PORT: default + `instance` - 1 - AUTH_PORT: default + `instance` * 100 - 100 - HTTP_RPC_PORT: default - `instance` + 1 - WS_RPC_PORT: default + `instance` * 2 - 2 [default: 1] -h, --help Print help (see a summary with '-h') Logging: --log.file.directory The path to put log files in [default: /reth/logs] --log.file.max-size The maximum size (in MB) of one log file [default: 200] --log.file.max-files The maximum amount of log files that will be stored. If set to 0, background file logging is disabled [default: 5] --log.file.filter The filter to use for logs written to the log file [default: debug] --log.journald Write logs to journald --log.journald.filter The filter to use for logs written to journald [default: error] --color Sets whether or not the formatter emits ANSI terminal escape codes for colors and other text formatting [default: always] Possible values: - always: Colors on - auto: Colors on - never: Colors off Display: -v, --verbosity... Set the minimum log level. -v Errors -vv Warnings -vvv Info -vvvv Debug -vvvvv Traces (warning: very verbose!) -q, --quiet Silence all log output ``` ## `reth db get` Gets the content of a table for the given key ```bash $ reth db get --help Usage: reth db get [OPTIONS]
Arguments:
The table name NOTE: The dupsort tables are not supported now. The key to get content for Options: --datadir The path to the data dir for all reth files and subdirectories. Defaults to the OS-specific data directory: - Linux: `$XDG_DATA_HOME/reth/` or `$HOME/.local/share/reth/` - Windows: `{FOLDERID_RoamingAppData}/reth/` - macOS: `$HOME/Library/Application Support/reth/` [default: default] --raw Output bytes instead of human-readable decoded value --chain The chain this node is running. Possible values are either a built-in chain or the path to a chain specification file. Built-in chains: mainnet, sepolia, goerli, holesky, dev [default: mainnet] --instance Add a new instance of a node. Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine. Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other. Changes to the following port numbers: - DISCOVERY_PORT: default + `instance` - 1 - AUTH_PORT: default + `instance` * 100 - 100 - HTTP_RPC_PORT: default - `instance` + 1 - WS_RPC_PORT: default + `instance` * 2 - 2 [default: 1] -h, --help Print help (see a summary with '-h') Logging: --log.file.directory The path to put log files in [default: /reth/logs] --log.file.max-size The maximum size (in MB) of one log file [default: 200] --log.file.max-files The maximum amount of log files that will be stored. If set to 0, background file logging is disabled [default: 5] --log.file.filter The filter to use for logs written to the log file [default: debug] --log.journald Write logs to journald --log.journald.filter The filter to use for logs written to journald [default: error] --color Sets whether or not the formatter emits ANSI terminal escape codes for colors and other text formatting [default: always] Possible values: - always: Colors on - auto: Colors on - never: Colors off Display: -v, --verbosity... Set the minimum log level. -v Errors -vv Warnings -vvv Info -vvvv Debug -vvvvv Traces (warning: very verbose!) -q, --quiet Silence all log output ``` ## `reth db list` Lists the contents of a table ```bash $ reth db list --help Usage: reth db list [OPTIONS]
Arguments:
The table name Options: --datadir The path to the data dir for all reth files and subdirectories. Defaults to the OS-specific data directory: - Linux: `$XDG_DATA_HOME/reth/` or `$HOME/.local/share/reth/` - Windows: `{FOLDERID_RoamingAppData}/reth/` - macOS: `$HOME/Library/Application Support/reth/` [default: default] -s, --skip Skip first N entries [default: 0] --chain The chain this node is running. Possible values are either a built-in chain or the path to a chain specification file. Built-in chains: mainnet, sepolia, goerli, holesky, dev [default: mainnet] -r, --reverse Reverse the order of the entries. If enabled last table entries are read -l, --len How many items to take from the walker [default: 5] --search Search parameter for both keys and values. Prefix it with `0x` to search for binary data, and text otherwise. ATTENTION! For compressed tables (`Transactions` and `Receipts`), there might be missing results since the search uses the raw uncompressed value from the database. --min-row-size Minimum size of row in bytes [default: 0] --min-key-size Minimum size of key in bytes [default: 0] --min-value-size Minimum size of value in bytes [default: 0] -c, --count Returns the number of rows found -j, --json Dump as JSON instead of using TUI --raw Output bytes instead of human-readable decoded value --instance Add a new instance of a node. Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine. Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other. Changes to the following port numbers: - DISCOVERY_PORT: default + `instance` - 1 - AUTH_PORT: default + `instance` * 100 - 100 - HTTP_RPC_PORT: default - `instance` + 1 - WS_RPC_PORT: default + `instance` * 2 - 2 [default: 1] -h, --help Print help (see a summary with '-h') Logging: --log.file.directory The path to put log files in [default: /reth/logs] --log.file.max-size The maximum size (in MB) of one log file [default: 200] --log.file.max-files The maximum amount of log files that will be stored. If set to 0, background file logging is disabled [default: 5] --log.file.filter The filter to use for logs written to the log file [default: debug] --log.journald Write logs to journald --log.journald.filter The filter to use for logs written to journald [default: error] --color Sets whether or not the formatter emits ANSI terminal escape codes for colors and other text formatting [default: always] Possible values: - always: Colors on - auto: Colors on - never: Colors off Display: -v, --verbosity... Set the minimum log level. -v Errors -vv Warnings -vvv Info -vvvv Debug -vvvvv Traces (warning: very verbose!) -q, --quiet Silence all log output ``` ## `reth db path` Returns the full database path ```bash $ reth db path --help Usage: reth db path [OPTIONS] Options: --datadir The path to the data dir for all reth files and subdirectories. Defaults to the OS-specific data directory: - Linux: `$XDG_DATA_HOME/reth/` or `$HOME/.local/share/reth/` - Windows: `{FOLDERID_RoamingAppData}/reth/` - macOS: `$HOME/Library/Application Support/reth/` [default: default] --chain The chain this node is running. Possible values are either a built-in chain or the path to a chain specification file. Built-in chains: mainnet, sepolia, goerli, holesky, dev [default: mainnet] --instance Add a new instance of a node. Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine. Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other. Changes to the following port numbers: - DISCOVERY_PORT: default + `instance` - 1 - AUTH_PORT: default + `instance` * 100 - 100 - HTTP_RPC_PORT: default - `instance` + 1 - WS_RPC_PORT: default + `instance` * 2 - 2 [default: 1] -h, --help Print help (see a summary with '-h') Logging: --log.file.directory The path to put log files in [default: /reth/logs] --log.file.max-size The maximum size (in MB) of one log file [default: 200] --log.file.max-files The maximum amount of log files that will be stored. If set to 0, background file logging is disabled [default: 5] --log.file.filter The filter to use for logs written to the log file [default: debug] --log.journald Write logs to journald --log.journald.filter The filter to use for logs written to journald [default: error] --color Sets whether or not the formatter emits ANSI terminal escape codes for colors and other text formatting [default: always] Possible values: - always: Colors on - auto: Colors on - never: Colors off Display: -v, --verbosity... Set the minimum log level. -v Errors -vv Warnings -vvv Info -vvvv Debug -vvvvv Traces (warning: very verbose!) -q, --quiet Silence all log output ``` ## `reth db stats` Lists all the tables, their entry count and their size ```bash $ reth db stats --help Usage: reth db stats [OPTIONS] Options: --datadir The path to the data dir for all reth files and subdirectories. Defaults to the OS-specific data directory: - Linux: `$XDG_DATA_HOME/reth/` or `$HOME/.local/share/reth/` - Windows: `{FOLDERID_RoamingAppData}/reth/` - macOS: `$HOME/Library/Application Support/reth/` [default: default] --chain The chain this node is running. Possible values are either a built-in chain or the path to a chain specification file. Built-in chains: mainnet, sepolia, goerli, holesky, dev [default: mainnet] --instance Add a new instance of a node. Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine. Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other. Changes to the following port numbers: - DISCOVERY_PORT: default + `instance` - 1 - AUTH_PORT: default + `instance` * 100 - 100 - HTTP_RPC_PORT: default - `instance` + 1 - WS_RPC_PORT: default + `instance` * 2 - 2 [default: 1] -h, --help Print help (see a summary with '-h') Logging: --log.file.directory The path to put log files in [default: /reth/logs] --log.file.max-size The maximum size (in MB) of one log file [default: 200] --log.file.max-files The maximum amount of log files that will be stored. If set to 0, background file logging is disabled [default: 5] --log.file.filter The filter to use for logs written to the log file [default: debug] --log.journald Write logs to journald --log.journald.filter The filter to use for logs written to journald [default: error] --color Sets whether or not the formatter emits ANSI terminal escape codes for colors and other text formatting [default: always] Possible values: - always: Colors on - auto: Colors on - never: Colors off Display: -v, --verbosity... Set the minimum log level. -v Errors -vv Warnings -vvv Info -vvvv Debug -vvvvv Traces (warning: very verbose!) -q, --quiet Silence all log output ``` ## `reth db version` Lists current and local database versions ```bash $ reth db version --help Usage: reth db version [OPTIONS] Options: --datadir The path to the data dir for all reth files and subdirectories. Defaults to the OS-specific data directory: - Linux: `$XDG_DATA_HOME/reth/` or `$HOME/.local/share/reth/` - Windows: `{FOLDERID_RoamingAppData}/reth/` - macOS: `$HOME/Library/Application Support/reth/` [default: default] --chain The chain this node is running. Possible values are either a built-in chain or the path to a chain specification file. Built-in chains: mainnet, sepolia, goerli, holesky, dev [default: mainnet] --instance Add a new instance of a node. Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine. Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other. Changes to the following port numbers: - DISCOVERY_PORT: default + `instance` - 1 - AUTH_PORT: default + `instance` * 100 - 100 - HTTP_RPC_PORT: default - `instance` + 1 - WS_RPC_PORT: default + `instance` * 2 - 2 [default: 1] -h, --help Print help (see a summary with '-h') Logging: --log.file.directory The path to put log files in [default: /reth/logs] --log.file.max-size The maximum size (in MB) of one log file [default: 200] --log.file.max-files The maximum amount of log files that will be stored. If set to 0, background file logging is disabled [default: 5] --log.file.filter The filter to use for logs written to the log file [default: debug] --log.journald Write logs to journald --log.journald.filter The filter to use for logs written to journald [default: error] --color Sets whether or not the formatter emits ANSI terminal escape codes for colors and other text formatting [default: always] Possible values: - always: Colors on - auto: Colors on - never: Colors off Display: -v, --verbosity... Set the minimum log level. -v Errors -vv Warnings -vvv Info -vvvv Debug -vvvvv Traces (warning: very verbose!) -q, --quiet Silence all log output ```