From a549b4d66d4f3829fabe57d254ea6655ffe56002 Mon Sep 17 00:00:00 2001 From: Dan Cline <6798349+Rjected@users.noreply.github.com> Date: Mon, 9 Feb 2026 20:15:13 +0000 Subject: [PATCH] feat(storage): add use_hashed_state storage setting (#21997) --- crates/cli/commands/src/db/settings.rs | 26 +++ crates/node/core/src/args/storage.rs | 10 ++ crates/node/core/src/node_config.rs | 2 + crates/storage/db-api/src/models/metadata.rs | 12 ++ docs/vocs/docs/pages/cli/SUMMARY.mdx | 1 + docs/vocs/docs/pages/cli/reth/db.mdx | 7 + .../docs/pages/cli/reth/db/settings/set.mdx | 1 + .../reth/db/settings/set/use_hashed_state.mdx | 170 ++++++++++++++++++ docs/vocs/docs/pages/cli/reth/download.mdx | 7 + docs/vocs/docs/pages/cli/reth/export-era.mdx | 7 + docs/vocs/docs/pages/cli/reth/import-era.mdx | 7 + docs/vocs/docs/pages/cli/reth/import.mdx | 7 + docs/vocs/docs/pages/cli/reth/init-state.mdx | 7 + docs/vocs/docs/pages/cli/reth/init.mdx | 7 + docs/vocs/docs/pages/cli/reth/node.mdx | 7 + docs/vocs/docs/pages/cli/reth/prune.mdx | 7 + docs/vocs/docs/pages/cli/reth/re-execute.mdx | 7 + docs/vocs/docs/pages/cli/reth/stage/drop.mdx | 7 + docs/vocs/docs/pages/cli/reth/stage/dump.mdx | 7 + docs/vocs/docs/pages/cli/reth/stage/run.mdx | 7 + .../vocs/docs/pages/cli/reth/stage/unwind.mdx | 7 + docs/vocs/sidebar-cli-reth.ts | 4 + 22 files changed, 324 insertions(+) create mode 100644 docs/vocs/docs/pages/cli/reth/db/settings/set/use_hashed_state.mdx diff --git a/crates/cli/commands/src/db/settings.rs b/crates/cli/commands/src/db/settings.rs index 9972917256..41046964be 100644 --- a/crates/cli/commands/src/db/settings.rs +++ b/crates/cli/commands/src/db/settings.rs @@ -74,6 +74,18 @@ pub enum SetCommand { #[clap(action(ArgAction::Set))] value: bool, }, + /// Use hashed state tables (HashedAccounts/HashedStorages) as canonical state + /// + /// When enabled, execution writes directly to hashed tables, eliminating need for + /// separate hashing stages. State reads come from hashed tables. + /// + /// WARNING: Changing this setting in either direction requires re-syncing the database. + /// Enabling on an existing plain-state database leaves hashed tables empty. + /// Disabling on an existing hashed-state database leaves plain tables empty. + UseHashedState { + #[clap(action(ArgAction::Set))] + value: bool, + }, } impl Command { @@ -121,6 +133,7 @@ impl Command { account_history_in_rocksdb: _, account_changesets_in_static_files: _, storage_changesets_in_static_files: _, + use_hashed_state: _, } = settings.unwrap_or_else(StorageSettings::v1); // Update the setting based on the key @@ -181,6 +194,19 @@ impl Command { settings.storage_changesets_in_static_files = value; println!("Set storage_changesets_in_static_files = {}", value); } + SetCommand::UseHashedState { value } => { + if settings.use_hashed_state == value { + println!("use_hashed_state is already set to {}", value); + return Ok(()); + } + if settings.use_hashed_state && !value { + println!("WARNING: Disabling use_hashed_state on an existing hashed-state database requires a full resync."); + } else { + println!("WARNING: Enabling use_hashed_state on an existing plain-state database requires a full resync."); + } + settings.use_hashed_state = value; + println!("Set use_hashed_state = {}", value); + } } // Write updated settings diff --git a/crates/node/core/src/args/storage.rs b/crates/node/core/src/args/storage.rs index 22814a8c8c..f69ae53391 100644 --- a/crates/node/core/src/args/storage.rs +++ b/crates/node/core/src/args/storage.rs @@ -23,6 +23,16 @@ pub struct StorageArgs { /// flags. #[arg(long = "storage.v2", action = ArgAction::SetTrue)] pub v2: bool, + + /// Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state + /// representation instead of plain state tables. + /// + /// When enabled, execution writes directly to hashed tables, eliminating the need for + /// separate hashing stages. This should only be enabled for new databases. + /// + /// WARNING: Changing this setting on an existing database requires a full resync. + #[arg(long = "storage.use-hashed-state", default_value_t = false)] + pub use_hashed_state: bool, } #[cfg(test)] diff --git a/crates/node/core/src/node_config.rs b/crates/node/core/src/node_config.rs index b87764afd5..1e6c1407ea 100644 --- a/crates/node/core/src/node_config.rs +++ b/crates/node/core/src/node_config.rs @@ -408,6 +408,8 @@ impl NodeConfig { s = s.with_account_history_in_rocksdb(v); } + s = s.with_use_hashed_state(self.storage.use_hashed_state); + s } diff --git a/crates/storage/db-api/src/models/metadata.rs b/crates/storage/db-api/src/models/metadata.rs index 47a9035782..366b1174f2 100644 --- a/crates/storage/db-api/src/models/metadata.rs +++ b/crates/storage/db-api/src/models/metadata.rs @@ -34,6 +34,10 @@ pub struct StorageSettings { /// Whether this node should read and write storage changesets from static files. #[serde(default)] pub storage_changesets_in_static_files: bool, + /// Whether to use hashed state tables (`HashedAccounts`/`HashedStorages`) as the canonical + /// state representation instead of plain state tables. + #[serde(default)] + pub use_hashed_state: bool, } impl StorageSettings { @@ -61,6 +65,7 @@ impl StorageSettings { storages_history_in_rocksdb: true, transaction_hash_numbers_in_rocksdb: true, account_history_in_rocksdb: true, + use_hashed_state: false, } } @@ -78,6 +83,7 @@ impl StorageSettings { account_history_in_rocksdb: false, account_changesets_in_static_files: false, storage_changesets_in_static_files: false, + use_hashed_state: false, } } @@ -123,6 +129,12 @@ impl StorageSettings { self } + /// Sets the `use_hashed_state` flag to the provided value. + pub const fn with_use_hashed_state(mut self, value: bool) -> Self { + self.use_hashed_state = value; + self + } + /// Returns `true` if any tables are configured to be stored in `RocksDB`. pub const fn any_in_rocksdb(&self) -> bool { self.transaction_hash_numbers_in_rocksdb || diff --git a/docs/vocs/docs/pages/cli/SUMMARY.mdx b/docs/vocs/docs/pages/cli/SUMMARY.mdx index 5487b68c8b..9cc5586b55 100644 --- a/docs/vocs/docs/pages/cli/SUMMARY.mdx +++ b/docs/vocs/docs/pages/cli/SUMMARY.mdx @@ -37,6 +37,7 @@ - [`reth db settings set transaction_hash_numbers`](./reth/db/settings/set/transaction_hash_numbers.mdx) - [`reth db settings set account_history`](./reth/db/settings/set/account_history.mdx) - [`reth db settings set storage_changesets`](./reth/db/settings/set/storage_changesets.mdx) + - [`reth db settings set use_hashed_state`](./reth/db/settings/set/use_hashed_state.mdx) - [`reth db account-storage`](./reth/db/account-storage.mdx) - [`reth db state`](./reth/db/state.mdx) - [`reth download`](./reth/download.mdx) diff --git a/docs/vocs/docs/pages/cli/reth/db.mdx b/docs/vocs/docs/pages/cli/reth/db.mdx index 770d53b3aa..f8d8a70594 100644 --- a/docs/vocs/docs/pages/cli/reth/db.mdx +++ b/docs/vocs/docs/pages/cli/reth/db.mdx @@ -209,6 +209,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + Logging: --log.stdout.format The format to use for logs written to stdout diff --git a/docs/vocs/docs/pages/cli/reth/db/settings/set.mdx b/docs/vocs/docs/pages/cli/reth/db/settings/set.mdx index ecc8163de1..afb8079f01 100644 --- a/docs/vocs/docs/pages/cli/reth/db/settings/set.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/settings/set.mdx @@ -16,6 +16,7 @@ Commands: transaction_hash_numbers Store transaction hash to number mapping in rocksdb instead of MDBX account_history Store account history in rocksdb instead of MDBX storage_changesets Store storage changesets in static files instead of the database + use_hashed_state Use hashed state tables (HashedAccounts/HashedStorages) as canonical state help Print this message or the help of the given subcommand(s) Options: diff --git a/docs/vocs/docs/pages/cli/reth/db/settings/set/use_hashed_state.mdx b/docs/vocs/docs/pages/cli/reth/db/settings/set/use_hashed_state.mdx new file mode 100644 index 0000000000..9d3e635a02 --- /dev/null +++ b/docs/vocs/docs/pages/cli/reth/db/settings/set/use_hashed_state.mdx @@ -0,0 +1,170 @@ +# reth db settings set use_hashed_state + +Use hashed state tables (HashedAccounts/HashedStorages) as canonical state + +```bash +$ reth db settings set use_hashed_state --help +``` +```txt +Usage: reth db settings set use_hashed_state [OPTIONS] + +Arguments: + + [possible values: true, false] + +Options: + -h, --help + Print help (see a summary with '-h') + +Datadir: + --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, holesky, hoodi, dev + + [default: mainnet] + +Logging: + --log.stdout.format + The format to use for logs written to stdout + + Possible values: + - json: Represents JSON formatting for logs. This format outputs log records as JSON objects, making it suitable for structured logging + - log-fmt: Represents logfmt (key=value) formatting for logs. This format is concise and human-readable, typically used in command-line applications + - terminal: Represents terminal-friendly formatting for logs + + [default: terminal] + + --log.stdout.filter + The filter to use for logs written to stdout + + [default: ] + + --log.file.format + The format to use for logs written to the log file + + Possible values: + - json: Represents JSON formatting for logs. This format outputs log records as JSON objects, making it suitable for structured logging + - log-fmt: Represents logfmt (key=value) formatting for logs. This format is concise and human-readable, typically used in command-line applications + - terminal: Represents terminal-friendly formatting for logs + + [default: terminal] + + --log.file.filter + The filter to use for logs written to the log file + + [default: debug] + + --log.file.directory + The path to put log files in + + [default: /logs] + + --log.file.name + The prefix name of the log files + + [default: reth.log] + + --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.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 + + Possible values: + - always: Colors on + - auto: Auto-detect + - never: Colors off + + [default: always] + + --logs-otlp[=] + Enable `Opentelemetry` logs export to an OTLP endpoint. + + If no value provided, defaults based on protocol: - HTTP: `http://localhost:4318/v1/logs` - gRPC: `http://localhost:4317` + + Example: --logs-otlp=http://collector:4318/v1/logs + + [env: OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=] + + --logs-otlp.filter + Set a filter directive for the OTLP logs exporter. This controls the verbosity of logs sent to the OTLP endpoint. It follows the same syntax as the `RUST_LOG` environment variable. + + Example: --logs-otlp.filter=info,reth=debug + + Defaults to INFO if not specified. + + [default: info] + +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 + +Tracing: + --tracing-otlp[=] + Enable `Opentelemetry` tracing export to an OTLP endpoint. + + If no value provided, defaults based on protocol: - HTTP: `http://localhost:4318/v1/traces` - gRPC: `http://localhost:4317` + + Example: --tracing-otlp=http://collector:4318/v1/traces + + [env: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=] + + --tracing-otlp-protocol + OTLP transport protocol to use for exporting traces and logs. + + - `http`: expects endpoint path to end with `/v1/traces` or `/v1/logs` - `grpc`: expects endpoint without a path + + Defaults to HTTP if not specified. + + Possible values: + - http: HTTP/Protobuf transport, port 4318, requires `/v1/traces` path + - grpc: gRPC transport, port 4317 + + [env: OTEL_EXPORTER_OTLP_PROTOCOL=] + [default: http] + + --tracing-otlp.filter + Set a filter directive for the OTLP tracer. This controls the verbosity of spans and events sent to the OTLP endpoint. It follows the same syntax as the `RUST_LOG` environment variable. + + Example: --tracing-otlp.filter=info,reth=debug,hyper_util=off + + Defaults to TRACE if not specified. + + [default: debug] + + --tracing-otlp.sample-ratio + Trace sampling ratio to control the percentage of traces to export. + + Valid range: 0.0 to 1.0 - 1.0, default: Sample all traces - 0.01: Sample 1% of traces - 0.0: Disable sampling + + Example: --tracing-otlp.sample-ratio=0.0. + + [env: OTEL_TRACES_SAMPLER_ARG=] +``` \ No newline at end of file diff --git a/docs/vocs/docs/pages/cli/reth/download.mdx b/docs/vocs/docs/pages/cli/reth/download.mdx index 999e8715e7..c14e2a67a3 100644 --- a/docs/vocs/docs/pages/cli/reth/download.mdx +++ b/docs/vocs/docs/pages/cli/reth/download.mdx @@ -192,6 +192,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + -u, --url Specify a snapshot URL or let the command propose a default one. diff --git a/docs/vocs/docs/pages/cli/reth/export-era.mdx b/docs/vocs/docs/pages/cli/reth/export-era.mdx index 5366a7f2c3..a635ea0816 100644 --- a/docs/vocs/docs/pages/cli/reth/export-era.mdx +++ b/docs/vocs/docs/pages/cli/reth/export-era.mdx @@ -192,6 +192,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + --first-block-number Optional first block number to export from the db. It is by default 0. diff --git a/docs/vocs/docs/pages/cli/reth/import-era.mdx b/docs/vocs/docs/pages/cli/reth/import-era.mdx index b8a066d2d1..73a1a19cad 100644 --- a/docs/vocs/docs/pages/cli/reth/import-era.mdx +++ b/docs/vocs/docs/pages/cli/reth/import-era.mdx @@ -192,6 +192,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + --path The path to a directory for import. diff --git a/docs/vocs/docs/pages/cli/reth/import.mdx b/docs/vocs/docs/pages/cli/reth/import.mdx index 83f34e3187..115c537f73 100644 --- a/docs/vocs/docs/pages/cli/reth/import.mdx +++ b/docs/vocs/docs/pages/cli/reth/import.mdx @@ -192,6 +192,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + --no-state Disables stages that require state. diff --git a/docs/vocs/docs/pages/cli/reth/init-state.mdx b/docs/vocs/docs/pages/cli/reth/init-state.mdx index 8d54d9335c..e991d8a988 100644 --- a/docs/vocs/docs/pages/cli/reth/init-state.mdx +++ b/docs/vocs/docs/pages/cli/reth/init-state.mdx @@ -192,6 +192,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + --without-evm Specifies whether to initialize the state without relying on EVM historical data. diff --git a/docs/vocs/docs/pages/cli/reth/init.mdx b/docs/vocs/docs/pages/cli/reth/init.mdx index deb7830441..e5936e3727 100644 --- a/docs/vocs/docs/pages/cli/reth/init.mdx +++ b/docs/vocs/docs/pages/cli/reth/init.mdx @@ -192,6 +192,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + Logging: --log.stdout.format The format to use for logs written to stdout diff --git a/docs/vocs/docs/pages/cli/reth/node.mdx b/docs/vocs/docs/pages/cli/reth/node.mdx index 356fe24a9c..f8114076e9 100644 --- a/docs/vocs/docs/pages/cli/reth/node.mdx +++ b/docs/vocs/docs/pages/cli/reth/node.mdx @@ -1110,6 +1110,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + Ress: --ress.enable Enable support for `ress` subprotocol diff --git a/docs/vocs/docs/pages/cli/reth/prune.mdx b/docs/vocs/docs/pages/cli/reth/prune.mdx index ed057f40f1..94e33ca8aa 100644 --- a/docs/vocs/docs/pages/cli/reth/prune.mdx +++ b/docs/vocs/docs/pages/cli/reth/prune.mdx @@ -192,6 +192,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + Metrics: --metrics Enable Prometheus metrics. diff --git a/docs/vocs/docs/pages/cli/reth/re-execute.mdx b/docs/vocs/docs/pages/cli/reth/re-execute.mdx index d2ebb93266..4053a87ca9 100644 --- a/docs/vocs/docs/pages/cli/reth/re-execute.mdx +++ b/docs/vocs/docs/pages/cli/reth/re-execute.mdx @@ -192,6 +192,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + --from The height to start at diff --git a/docs/vocs/docs/pages/cli/reth/stage/drop.mdx b/docs/vocs/docs/pages/cli/reth/stage/drop.mdx index c887b281fa..0738dfcacd 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/drop.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/drop.mdx @@ -192,6 +192,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + Possible values: - headers: The headers stage within the pipeline diff --git a/docs/vocs/docs/pages/cli/reth/stage/dump.mdx b/docs/vocs/docs/pages/cli/reth/stage/dump.mdx index 3dde96ad18..3f86598a80 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/dump.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/dump.mdx @@ -199,6 +199,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + Logging: --log.stdout.format The format to use for logs written to stdout diff --git a/docs/vocs/docs/pages/cli/reth/stage/run.mdx b/docs/vocs/docs/pages/cli/reth/stage/run.mdx index ea74a5bef9..34d8f67ae3 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/run.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/run.mdx @@ -192,6 +192,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + --metrics Enable Prometheus metrics. diff --git a/docs/vocs/docs/pages/cli/reth/stage/unwind.mdx b/docs/vocs/docs/pages/cli/reth/stage/unwind.mdx index c0bc5c92ce..c7863ccd7e 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/unwind.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/unwind.mdx @@ -197,6 +197,13 @@ Storage: Individual settings can still be overridden with `--static-files.*` and `--rocksdb.*` flags. + --storage.use-hashed-state + Use hashed state tables (`HashedAccounts`/`HashedStorages`) as canonical state representation instead of plain state tables. + + When enabled, execution writes directly to hashed tables, eliminating the need for separate hashing stages. This should only be enabled for new databases. + + WARNING: Changing this setting on an existing database requires a full resync. + --offline If this is enabled, then all stages except headers, bodies, and sender recovery will be unwound diff --git a/docs/vocs/sidebar-cli-reth.ts b/docs/vocs/sidebar-cli-reth.ts index e06bcd3120..6ef648ec01 100644 --- a/docs/vocs/sidebar-cli-reth.ts +++ b/docs/vocs/sidebar-cli-reth.ts @@ -171,6 +171,10 @@ export const rethCliSidebar: SidebarItem = { { text: "reth db settings set storage_changesets", link: "/cli/reth/db/settings/set/storage_changesets" + }, + { + text: "reth db settings set use_hashed_state", + link: "/cli/reth/db/settings/set/use_hashed_state" } ] }