# `reth debug` Various debug routines ```bash $ reth debug --help Usage: reth debug [OPTIONS] Commands: execution Debug the roundtrip execution of blocks as well as the generated data merkle Debug the clean & incremental state root calculations help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Logging: --log.persistent The flag to enable persistent logs --log.directory The path to put log files in [default: /reth/logs] --log.journald Log events to journald --log.filter The filter to use for logs written to the log file [default: error] 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 debug execution` Debug the roundtrip execution of blocks as well as the generated data ```bash $ reth debug execution --help Usage: reth debug execution [OPTIONS] --to 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 - goerli - sepolia [default: mainnet] -h, --help Print help (see a summary with '-h') Networking: -d, --disable-discovery Disable the discovery service --disable-dns-discovery Disable the DNS discovery --disable-discv4-discovery Disable Discv4 discovery --discovery.port The UDP port to use for P2P discovery/networking. default: 30303 --trusted-peers Target trusted peer enodes --trusted-peers enode://abcd@192.168.0.1:30303 --trusted-only Connect only to trusted peers --bootnodes Bootnodes to connect to initially. Will fall back to a network-specific default if not specified. --peers-file The path to the known peers file. Connected peers are dumped to this file on nodes shutdown, and read on startup. Cannot be used with `--no-persist-peers`. --identity Custom node identity [default: reth/v0.1.0-alpha.1/aarch64-apple-darwin] --p2p-secret-key Secret key to use for this node. This will also deterministically set the peer ID. If not specified, it will be set in the data dir for the chain being used. --no-persist-peers Do not persist peers. --nat NAT resolution method (any|none|upnp|publicip|extip:) [default: any] --port Network listening port. default: 30303 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 --to The maximum block height --interval The block interval for sync and unwind. Defaults to `1000` [default: 1000] Debug: --debug.tip Set the chain tip manually for testing purposes. NOTE: This is a temporary flag Logging: --log.persistent The flag to enable persistent logs --log.directory The path to put log files in [default: /reth/logs] --log.journald Log events to journald --log.filter The filter to use for logs written to the log file [default: error] 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 debug merkle` Debug the clean & incremental state root calculations ```bash $ reth debug merkle --help Usage: reth debug merkle [OPTIONS] --to 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 - goerli - sepolia [default: mainnet] -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 --to The height to finish at --skip-node-depth The depth after which we should start comparing branch nodes Logging: --log.persistent The flag to enable persistent logs --log.directory The path to put log files in [default: /reth/logs] --log.journald Log events to journald --log.filter The filter to use for logs written to the log file [default: error] 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 ```