feat(node): unify single node startup, expose DERIVATION_VERIFY_MODE (#989)#100
Open
curryxbo wants to merge 2 commits into
Open
feat(node): unify single node startup, expose DERIVATION_VERIFY_MODE (#989)#100curryxbo wants to merge 2 commits into
curryxbo wants to merge 2 commits into
Conversation
…(#989) Collapse the separate `node` / `validator` services into a single node: - Remove the `validator` docker-compose service and all run/stop/rm-validator Makefile targets; drop the <mode>/--validator arg from run-binary.sh. - Merge the validator-only env (beacon RPC, deposit contract, derivation start/base height) into the single `node` service so every node self-verifies against L1. - Expose the only new operator env: DERIVATION_VERIFY_MODE (--derivation.verify-mode, default pathA; pathB rebuilds blobs from local L2). Empty falls back to pathA. L1_SEQUENCER_CONTRACT and CONSENSUS_SWITCH_HEIGHT are intentionally NOT exposed: they use the binary's per-network hard-coded defaults; setting them (esp. CONSENSUS_SWITCH_HEIGHT=-1) would override the built-in activation height. Image tags, snapshot tables and height values are left untouched.
6 tasks
The binary from morph PR #966 (feat/sequencer-final) renamed --derivation.verify-mode values to local (default) / layer1 (was pathA/pathB). - Default DERIVATION_VERIFY_MODE empty -> binary default (local). - Document layer1 as the opt-in for former-validator-style L1 derivation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes morph-l2/morph#989
What
Adapt
run-morph-nodeto the single node startup model (issue morph-l2/morph#989; verify-mode behavior from morph PR morph-l2/morph#966 "Feat: Sequencer Final PR").Changes
validatorservice fromdocker-compose.yml; remove allrun/stop/rm-validatorMakefile targets and drop the<mode>/--validatorarg fromrun-binary.sh.nodeservice:MORPH_NODE_L1_ETH_BEACON_RPC,MORPH_NODE_SYNC_DEPOSIT_CONTRACT_ADDRESS,MORPH_NODE_DERIVATION_START_HEIGHT,MORPH_NODE_DERIVATION_BASE_HEIGHT.DERIVATION_VERIFY_MODE(--derivation.verify-mode):local(default): rebuild blob from local L2 + compare versioned hashes vs L1 (no beacon fetch on happy path).layer1: pull L1 beacon blob + derive via engine — equivalent to the former validator node. Set this for that behavior.local).Intentionally NOT exposed
L1_SEQUENCER_CONTRACTandCONSENSUS_SWITCH_HEIGHTare not operator config — the binary uses per-network hard-coded defaults. Setting them (especiallyCONSENSUS_SWITCH_HEIGHT=-1) would override the built-in activation height. Documented in.env/README.The
local/layer1verify-mode (and the unified node behavior) come from morph PR morph-l2/morph#966 (feat/sequencer-final). The composenodeimage is currentlyghcr.io/morph-l2/node:0.5.7, which may predate that branch. Before merge/use, point thenodeimage to a build offeat/sequencer-final(temporary, until #966 is released). Reviewer: please confirm the correct image tag.Not touched
Snapshot tables, height values, geth image tag.
Validation
sh -non entrypoint-node.sh / run-binary.sh: OKdocker compose --env-file .env config --services→geth,nodeonlymake -n run-node / run-hoodi-node / *-binary: correct invocations🤖 Generated with Claude Code