From 913efa6eb0c91b454095af2ab5256e49146d0377 Mon Sep 17 00:00:00 2001 From: alexander-sei Date: Thu, 2 Jul 2026 18:40:43 +0100 Subject: [PATCH 1/2] docs(node): confirm SC config against v6.6.0-rc1, add version-scoping note MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The SC migration model on the skills-registry branch (memiavl_only enum + sc-keys-to-migrate-per-block) is confirmed correct against the v6.6.0-rc1 tag — the earlier review finding calling it 'unreleased main' predated the rc cut and checked only v6.5.x tags and main. Changes on top of the base branch: - Mirror the exact v6.6.0-rc1 toml template comment for sc-keys-to-migrate-per-block in the auto-generated app.toml block (drain-rate tuning guidance; 'defaults to memiavl_only' line removed to match seid init output). - Add a scoping the SC keys per version: v6.5.x uses cosmos_only/dual_write/split_write + sc-read-mode + sc-enable-lattice-hash, and each binary line rejects the other's sc-write-mode values at startup (no compat mapping in app/seidb.go), so operators must update app.toml when crossing v6.6. Also flags the post-v6.6 rework already on main (#3650): drain rate becomes the NumKeysToMigratePerBlock gov param and sc-write-mode-enable-auto (default true) derives the mode automatically. Co-Authored-By: Claude Fable 5 --- node/node-operators.mdx | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/node/node-operators.mdx b/node/node-operators.mdx index 853c604..4167580 100644 --- a/node/node-operators.mdx +++ b/node/node-operators.mdx @@ -216,12 +216,14 @@ sc-directory = "" # WriteMode defines the write routing mode for EVM data in the SC layer. # Valid values: memiavl_only, migrate_evm, evm_migrated, migrate_all_but_bank, # all_migrated_but_bank, migrate_bank, flatkv_only, test_only_dual_write -# defaults to memiavl_only sc-write-mode = "memiavl_only" # KeysToMigratePerBlock controls how many EVM keys the in-flight migration # (sc-write-mode = migrate_evm / migrate_bank / migrate_all_but_bank) drains -# from memiavl into flatkv per block. Must be > 0; ignored when not migrating. +# from memiavl into flatkv per block. Default 1024 is appropriate for +# production drains; lower it (e.g. 256) to spread the migration across more +# blocks for test runs that need to observe the resume / hybrid-read path. +# Must be > 0; ignored entirely when not in a migration mode. sc-keys-to-migrate-per-block = 1024 # Max concurrent historical proof queries (RPC /store path) @@ -1497,6 +1499,22 @@ evm-ss-split = true sc-write-mode = "memiavl_only" ``` + +The SC keys on this page are the **v6.6+** model (first tagged in +`v6.6.0-rc1`). v6.5.x binaries use a different set — `sc-write-mode` = +`cosmos_only` / `dual_write` / `split_write` plus `sc-read-mode` and +`sc-enable-lattice-hash` — and each binary rejects the other line's +`sc-write-mode` values at startup. When upgrading across v6.6, update or +remove any explicit `sc-write-mode` in `app.toml`; the removed +`sc-read-mode` / `sc-enable-lattice-hash` keys are ignored and can be +deleted. Post-v6.6, on sei-chain `main`, the drain rate moves from +`sc-keys-to-migrate-per-block` to the `NumKeysToMigratePerBlock` +governance parameter (default `0` = paused) and a new +`sc-write-mode-enable-auto` (default `true`) derives the effective mode +from on-disk migration state, ignoring the explicit key — expect these +knobs to change again in the release after v6.6. + + Enabling Giga Storage requires a fresh state sync — flipping `evm-ss-split` on a node with existing data fails the startup safety checks because the new EVM SS DB starts empty while Cosmos SS already has history. The From 35f0b30d85be6701d51afd4cfc3afe6dd4200bed Mon Sep 17 00:00:00 2001 From: alexander-sei Date: Fri, 7 Aug 2026 18:40:43 +0200 Subject: [PATCH 2/2] fix(node): correct v6.5 -> v6.6 sc-write-mode compatibility note v6.6.0 added a back-compat shim after v6.6.0-rc1 (which this page was originally verified against): ParseSCWriteMode maps the legacy "cosmos_only" to memiavl_only, so a v6.6.x binary accepts the v6.5 default rather than rejecting it. Only dual_write / split_write / evm_only are rejected at startup. Replaces the blanket "each binary rejects the other line's values" claim with the asymmetric behavior, and narrows the upgrade instruction accordingly -- operators on the v6.5 default need no app.toml change. Also drops the now-stale "first tagged in v6.6.0-rc1" parenthetical. Co-Authored-By: Claude Opus 5 --- node/node-operators.mdx | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/node/node-operators.mdx b/node/node-operators.mdx index 4167580..21a3710 100644 --- a/node/node-operators.mdx +++ b/node/node-operators.mdx @@ -1500,19 +1500,21 @@ sc-write-mode = "memiavl_only" ``` -The SC keys on this page are the **v6.6+** model (first tagged in -`v6.6.0-rc1`). v6.5.x binaries use a different set — `sc-write-mode` = -`cosmos_only` / `dual_write` / `split_write` plus `sc-read-mode` and -`sc-enable-lattice-hash` — and each binary rejects the other line's -`sc-write-mode` values at startup. When upgrading across v6.6, update or -remove any explicit `sc-write-mode` in `app.toml`; the removed -`sc-read-mode` / `sc-enable-lattice-hash` keys are ignored and can be -deleted. Post-v6.6, on sei-chain `main`, the drain rate moves from -`sc-keys-to-migrate-per-block` to the `NumKeysToMigratePerBlock` +The SC keys on this page are the **v6.6+** model. v6.5.x binaries use a +different set — `sc-write-mode` = `cosmos_only` / `dual_write` / +`split_write` plus `sc-read-mode` and `sc-enable-lattice-hash`. Upgrading +across v6.6 needs no `app.toml` change if you were on the v6.5 default: +v6.6.0 and later accept the legacy `cosmos_only` and map it to +`memiavl_only`. Any other v6.5 value (`dual_write`, `split_write`, +`evm_only`) is rejected at startup and must be changed or removed before +the node will boot, and a v6.5.x binary likewise rejects the v6.6 mode +names. The removed `sc-read-mode` / `sc-enable-lattice-hash` keys are +ignored and can be deleted. Post-v6.6, on sei-chain `main`, the drain rate +moves from `sc-keys-to-migrate-per-block` to the `NumKeysToMigratePerBlock` governance parameter (default `0` = paused) and a new -`sc-write-mode-enable-auto` (default `true`) derives the effective mode -from on-disk migration state, ignoring the explicit key — expect these -knobs to change again in the release after v6.6. +`sc-write-mode-enable-auto` (default `true`) derives the effective mode from +on-disk migration state, ignoring the explicit key — expect these knobs to +change again in the release after v6.6. Enabling Giga Storage requires a fresh state sync — flipping `evm-ss-split`