Skip to content

feat: add Jade Fork docs and fix node-operation issues#140

Open
curryxbo wants to merge 8 commits intomainfrom
feat/jade-fork-docs
Open

feat: add Jade Fork docs and fix node-operation issues#140
curryxbo wants to merge 8 commits intomainfrom
feat/jade-fork-docs

Conversation

@curryxbo
Copy link
Copy Markdown

@curryxbo curryxbo commented Mar 30, 2026

Summary

Add comprehensive Jade Fork (zkTrie → MPT) documentation and fix multiple issues across the node-operation docs.

New Files (3)

  • upgrade-node/0-jade-fork-overview.md — Entry point: what the Jade Fork is, fork schedule, upgrade decision tree, and FAQ/troubleshooting
  • upgrade-node/3-jade-fork-upgrade-host.md — Step-by-step host (source-built) migration guide
  • upgrade-node/4-jade-fork-upgrade-docker.md — Step-by-step Docker migration guide

Fixes

# File(s) Issue Fix
1 prune-state.md prune-zk-state is zkTrie-only; no guidance for MPT nodes Split into MPT (prune-state) and zkTrie (prune-zk-state) sections with appropriate context
2 full-node/2-run-on-host.md catching_up: true incorrectly described as "in sync" Corrected: catching_up: false means fully synced
3 full-node/2-run-on-host.md morphnode startup command broken — missing \ continuation; dangling --mainnet and --l1.rpc flags not used in current releases Removed stale flags; aligned command with 3-run-mpt-node.md
4 full-node/1-run-in-docker.md, full-node/2-run-on-host.md, validator-node/1-run-in-docker.md, validator-node/2-run-on-host.md No mention of Jade Fork — users following these guides post-fork will produce nodes that stall at fork height Added :::warning callout to each file directing users to MPT docs
5 full-node/2-run-on-host.md, validator-node/2-run-on-host.md Snapshot domain snapshot.morph.network inconsistent with snapshot.morphl2.io used in MPT docs Standardized to snapshot.morphl2.io
6 full-node/1-run-in-docker.md JWT filename mismatch: body says secret-jwt.txt, .env says jwt-secret.txt Corrected to jwt-secret.txt
7 full-node/2-run-on-host.md --http.api missing morph module (present in 3-run-mpt-node.md) Added morph to the API list
8 sidebars.js prune-state placed under "Full Node" category — it's a maintenance task, not a setup guide Moved to a new Maintenance category
9 sidebars.js No sidebar entry for Jade Fork docs Added Forks & Network Upgrades category between Validator and Upgrade Node
10 full-node/3-run-mpt-node.md, upgrade-node/1-upgrade-node-host.md, upgrade-node/2-upgrade-node-docker.md No cross-links between existing docs and Jade Fork guides Added :::tip / :::warning callouts routing users to the right guide

Known Issue (not fixed here)

  • validator-node/1-run-in-docker.md has ROLLUP_CONTRACY (typo for ROLLUP_CONTRACT). This appears to be the actual env var name used in the run-morph-node Makefile — changing it in docs without updating the code would cause breakage. Needs to be fixed in the run-morph-node repo first.

Test plan

  • npm start / Docusaurus dev server compiles without errors
  • New pages render correctly at their sidebar locations
  • Warning callouts display on all legacy docs
  • Sidebar structure: Full Node → Validator → Forks & Network Upgrades → Upgrade Node → Maintenance
  • All internal cross-links resolve correctly

🤖 Generated with Claude Code

Summary by CodeRabbit

Documentation

  • Documentation
    • Updated node operation guides with network-specific instructions and verified setup procedures.
    • Added comprehensive Jade Fork migration overview documenting state storage format changes.
    • Enhanced node setup documentation with improved snapshot management and verification steps.
    • Reorganized documentation structure for better discoverability of node operation resources.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@curryxbo curryxbo requested a review from a team as a code owner March 30, 2026 07:32
@curryxbo curryxbo requested review from twcctop and removed request for a team March 30, 2026 07:32
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Mar 30, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
❌ Deployment failed
View logs
pre-rail 68c9d21 Mar 31 2026, 06:37 AM

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 30, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR restructures node operation documentation to integrate MPT (Merkle Patricia Trie) guidance across multiple setup guides rather than maintaining a separate document. It adds a new Jade Fork overview explaining the zkTrie-to-MPT state storage transition, updates Docker and host-based deployment guides with MPT-specific snapshots and configurations, and reorganizes sidebar navigation into "Forks & Network Upgrades" and "Maintenance" categories.

Changes

Cohort / File(s) Summary
Jade Fork Overview & Navigation
docs/.../upgrade-node/0-jade-fork-overview.md, sidebars.js
New Jade Fork documentation page defining zkTrie-to-MPT migration, fork schedules, binary upgrade requirements, and FAQ. Sidebar reorganized with new "Forks & Network Upgrades" and "Maintenance" categories; relocated prune-state doc.
Full Node Deployment Guides
docs/.../full-node/1-run-in-docker.md, docs/.../full-node/2-run-on-host.md
Integrated MPT as default state storage with network-specific tabbed instructions. Added MPT snapshot naming, URLs on snapshot.morphl2.io, explicit recommended versions, and mpt-snapshot-* prefixes. Updated startup commands to use MPT-specific entrypoints and environment files.
Node Operation & Pruning
docs/.../1-prune-state.md, docs/.../validator-node/1-run-in-docker.md, docs/.../validator-node/2-run-on-host.md, docs/.../upgrade-node/1-upgrade-node-host.md, docs/.../upgrade-node/2-upgrade-node-docker.md
Added fork-specific pruning sections (zkTrie pre-Jade, MPT post-Jade). Added MPT default callouts to validator guides. Updated snapshot URLs to snapshot.morphl2.io. Extended --http.api to include morph. Normalized bash code block formatting.
Removed Duplicate Documentation
docs/.../full-node/3-run-mpt-node.md
Deleted dedicated MPT node guide (481 lines); content consolidated into main deployment docs.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • panos-xyz
  • r3aker86

Poem

🐰 A fork approaches on the chain,
From zkTrie's state we shall refrain,
MPT takes the stage with grace,
Jade lights up the network's face!
Docs consolidated, clean, and bright,
The upgrade path shines crystal white!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the PR's main objective: adding Jade Fork documentation and addressing multiple node-operation doc issues.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/jade-fork-docs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Mar 30, 2026

Deploying morph-doc with  Cloudflare Pages  Cloudflare Pages

Latest commit: 68c9d21
Status: ✅  Deploy successful!
Preview URL: https://67200e3b.morph-doc.pages.dev
Branch Preview URL: https://feat-jade-fork-docs.morph-doc.pages.dev

View logs

…ration

zkTrie nodes with updated binaries can still process MPT blocks post-fork.
MPT storage migration is optional, not mandatory.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (3)
docs/build-on-morph/developer-resources/node-operation/upgrade-node/4-jade-fork-upgrade-docker.md (1)

79-99: Hardcoded snapshot date requires maintenance.

Similar to the host guide, the snapshot name mpt-snapshot-20260312-1 is hardcoded (lines 73-74). This creates the same maintenance burden where the documentation will need updates whenever a new snapshot is published.

Consider adding a more prominent reminder to check for the latest snapshot:

:::tip
Check the [snapshot information page](https://github.com/morph-l2/run-morph-node#snapshot-information) for the most recent MPT snapshot name and update the `.env_mpt` variables accordingly before downloading.
:::
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@docs/build-on-morph/developer-resources/node-operation/upgrade-node/4-jade-fork-upgrade-docker.md`
around lines 79 - 99, Update the section that downloads the MPT snapshot to
avoid relying on the hardcoded snapshot name `mpt-snapshot-20260312-1`; add a
prominent reminder (tip/note) instructing readers to check the snapshot
information page
(https://github.com/morph-l2/run-morph-node#snapshot-information) for the latest
MPT snapshot name and to update their `.env_mpt` variables before running the
download commands, and replace or annotate any direct references to
`mpt-snapshot-20260312-1` so maintainers/users are explicitly told to validate
the current snapshot name first.
docs/build-on-morph/developer-resources/node-operation/upgrade-node/3-jade-fork-upgrade-host.md (2)

60-101: Hardcoded snapshot date will require frequent updates.

The snapshot name mpt-snapshot-20260312-1 is hardcoded in multiple places (lines 74, 83, 96). While line 90 notes that users should replace this with the latest name, this pattern creates maintenance overhead and increases the risk of users following stale instructions.

📝 Consider using a variable pattern
# Set the snapshot name as a variable
SNAPSHOT_NAME=mpt-snapshot-20260312-1

cd ~/.morph
wget -q --show-progress https://snapshot.morphl2.io/mainnet/${SNAPSHOT_NAME}.tar.gz
tar -xzvf ${SNAPSHOT_NAME}.tar.gz

Alternatively, add a more prominent callout at the beginning:

:::tip Check for the latest snapshot
Before proceeding, check the [snapshot information page](https://github.com/morph-l2/run-morph-node#snapshot-information) for the most recent MPT snapshot name and update the commands below accordingly.
:::
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@docs/build-on-morph/developer-resources/node-operation/upgrade-node/3-jade-fork-upgrade-host.md`
around lines 60 - 101, The docs hardcode the snapshot name
"mpt-snapshot-20260312-1" in multiple commands (wget, tar, mv) which causes
maintenance burden; update the instructions to define a single snapshot variable
(e.g., SNAPSHOT_NAME) at the start and reference that variable in all commands
that currently use mpt-snapshot-20260312-1 (the wget/tar/mv commands and the
example paths), or alternatively add a prominent tip instructing readers to look
up the latest snapshot name before running the commands and replace the
placeholder; ensure every occurrence in the Step 4 section (wget, tar, mv, and
the note about replacing the name) is changed to use the variable or explicit
callout so users won’t follow stale commands.

49-59: Consider more robust process termination.

The ps | grep | awk | kill pattern has several limitations:

  • No error handling if the process isn't found
  • No verification that the kill succeeded
  • Uses kill without a signal, which sends SIGTERM but doesn't wait for clean shutdown
  • Could match unintended processes if multiple instances are running
🔧 More robust alternatives

Option 1: Use pkill with error handling

# Stop morphnode
pkill -f morphnode || echo "morphnode not running"
sleep 2

# Stop geth
pkill -f geth || echo "geth not running"
sleep 2

Option 2: Graceful shutdown with timeout

# Stop morphnode gracefully
pid=$(pgrep -f morphnode)
if [ -n "$pid" ]; then
  kill -TERM $pid
  sleep 5
  # Force kill if still running
  kill -9 $pid 2>/dev/null || true
fi
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@docs/build-on-morph/developer-resources/node-operation/upgrade-node/3-jade-fork-upgrade-host.md`
around lines 49 - 59, Replace the fragile "ps | grep | awk | kill" snippet for
stopping morphnode and geth with a robust termination sequence: use pkill -f
morphnode and pkill -f geth with a fallback message if not running, or use pgrep
-f morphnode / pgrep -f geth to capture PIDs, check for non-empty PID, send
SIGTERM (kill -TERM) and wait/sleep for a short timeout, then verify the process
is gone and escalate to kill -9 if still alive; ensure each step logs or echoes
"not running" or success and suppress non-fatal errors so the script won't fail
unexpectedly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md`:
- Line 13: The markdown has a heading-level jump (MD001): change the "### MPT
Nodes (post-Jade Fork)" heading and the other heading at the same section (the
second occurrence referenced at lines 25) from level 3 to level 2 by replacing
the leading "###" with "##" so both headings use "##" and restore proper heading
order to satisfy the linter.

---

Nitpick comments:
In
`@docs/build-on-morph/developer-resources/node-operation/upgrade-node/3-jade-fork-upgrade-host.md`:
- Around line 60-101: The docs hardcode the snapshot name
"mpt-snapshot-20260312-1" in multiple commands (wget, tar, mv) which causes
maintenance burden; update the instructions to define a single snapshot variable
(e.g., SNAPSHOT_NAME) at the start and reference that variable in all commands
that currently use mpt-snapshot-20260312-1 (the wget/tar/mv commands and the
example paths), or alternatively add a prominent tip instructing readers to look
up the latest snapshot name before running the commands and replace the
placeholder; ensure every occurrence in the Step 4 section (wget, tar, mv, and
the note about replacing the name) is changed to use the variable or explicit
callout so users won’t follow stale commands.
- Around line 49-59: Replace the fragile "ps | grep | awk | kill" snippet for
stopping morphnode and geth with a robust termination sequence: use pkill -f
morphnode and pkill -f geth with a fallback message if not running, or use pgrep
-f morphnode / pgrep -f geth to capture PIDs, check for non-empty PID, send
SIGTERM (kill -TERM) and wait/sleep for a short timeout, then verify the process
is gone and escalate to kill -9 if still alive; ensure each step logs or echoes
"not running" or success and suppress non-fatal errors so the script won't fail
unexpectedly.

In
`@docs/build-on-morph/developer-resources/node-operation/upgrade-node/4-jade-fork-upgrade-docker.md`:
- Around line 79-99: Update the section that downloads the MPT snapshot to avoid
relying on the hardcoded snapshot name `mpt-snapshot-20260312-1`; add a
prominent reminder (tip/note) instructing readers to check the snapshot
information page
(https://github.com/morph-l2/run-morph-node#snapshot-information) for the latest
MPT snapshot name and to update their `.env_mpt` variables before running the
download commands, and replace or annotate any direct references to
`mpt-snapshot-20260312-1` so maintainers/users are explicitly told to validate
the current snapshot name first.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 47b16558-509c-409d-957f-66434e1806ac

📥 Commits

Reviewing files that changed from the base of the PR and between 3959b53 and bc003e4.

📒 Files selected for processing (12)
  • docs/build-on-morph/developer-resources/node-operation/1-prune-state.md
  • docs/build-on-morph/developer-resources/node-operation/full-node/1-run-in-docker.md
  • docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md
  • docs/build-on-morph/developer-resources/node-operation/full-node/3-run-mpt-node.md
  • docs/build-on-morph/developer-resources/node-operation/upgrade-node/0-jade-fork-overview.md
  • docs/build-on-morph/developer-resources/node-operation/upgrade-node/1-upgrade-node-host.md
  • docs/build-on-morph/developer-resources/node-operation/upgrade-node/2-upgrade-node-docker.md
  • docs/build-on-morph/developer-resources/node-operation/upgrade-node/3-jade-fork-upgrade-host.md
  • docs/build-on-morph/developer-resources/node-operation/upgrade-node/4-jade-fork-upgrade-docker.md
  • docs/build-on-morph/developer-resources/node-operation/validator-node/1-run-in-docker.md
  • docs/build-on-morph/developer-resources/node-operation/validator-node/2-run-on-host.md
  • sidebars.js


:::note
To prune a Geth node at least 200 GB of free disk space is recommended. This means pruning cannot be used to save a hard drive that has been completely filled. A good rule of thumb is to prune before the node fills ~80% of the available disk space.
### MPT Nodes (post-Jade Fork)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix heading level increment to satisfy markdown linting.

Line 13 and Line 25 should use ## (not ###) to avoid a heading-level jump (MD001).

Suggested diff
-### MPT Nodes (post-Jade Fork)
+## MPT Nodes (post-Jade Fork)

-### zkTrie Nodes (pre-Jade Fork)
+## zkTrie Nodes (pre-Jade Fork)

Also applies to: 25-25

🧰 Tools
🪛 markdownlint-cli2 (0.22.0)

[warning] 13-13: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md` at
line 13, The markdown has a heading-level jump (MD001): change the "### MPT
Nodes (post-Jade Fork)" heading and the other heading at the same section (the
second occurrence referenced at lines 25) from level 3 to level 2 by replacing
the leading "###" with "##" so both headings use "##" and restore proper heading
order to satisfy the linter.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md (1)

133-133: Make tail commands copy-paste ready.

Line 133 and Line 152 use mixed prose/inline-code formatting for commands. Consider fenced bash snippets for better terminal usability.

Suggested docs tweak
-tail -f `geth.log` to check if the Geth is running properly, or you can also execute the curl command below to check if you are connected to peers.
+Use:
+```bash
+tail -f geth.log
+```
+to check if Geth is running properly. You can also execute the curl command below to check peer connectivity.
...
-tail -f `node.log` to check if the node is running properly.
+Use:
+```bash
+tail -f node.log
+```
+to check if the node is running properly.

Also applies to: 152-152

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md`
at line 133, Replace mixed prose/inline-code terminal examples (e.g., "tail -f
`geth.log`" and "tail -f `node.log`" at the spots referencing Geth and node
logs) with copy-paste ready fenced bash code blocks containing the exact
commands (for example a ```bash block with "tail -f geth.log" or "tail -f
node.log") and then follow the block with the explanatory sentence about
checking Geth/node status or peer connectivity; update both occurrences
referenced in the diff (the geth.log example and the node.log example).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@docs/build-on-morph/developer-resources/node-operation/upgrade-node/0-jade-fork-overview.md`:
- Around line 66-69: Update the recovery section to document both recovery
paths: (1) the binary-only path for zkTrie nodes — explain that if the node
missed the fork but is a zkTrie node it can be recovered by updating to the
post-fork binary and simply restarting (reference "zkTrie" and the earlier lines
that mention updating binaries and restart), and (2) the MPT migration path —
keep the existing instructions about preparing an MPT data directory, restoring
from an MPT snapshot and starting with the --morph-mpt flag for cases that
require state migration; clearly state when to use each path (e.g.,
zkTrie-compatible nodes use binary update+restart, non-zkTrie or incompatible
state requires snapshot+--morph-mpt).

---

Nitpick comments:
In
`@docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md`:
- Line 133: Replace mixed prose/inline-code terminal examples (e.g., "tail -f
`geth.log`" and "tail -f `node.log`" at the spots referencing Geth and node
logs) with copy-paste ready fenced bash code blocks containing the exact
commands (for example a ```bash block with "tail -f geth.log" or "tail -f
node.log") and then follow the block with the explanatory sentence about
checking Geth/node status or peer connectivity; update both occurrences
referenced in the diff (the geth.log example and the node.log example).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f74b8cf5-a71e-4418-a91e-bdcc7bf74728

📥 Commits

Reviewing files that changed from the base of the PR and between bc003e4 and 20c4b02.

📒 Files selected for processing (5)
  • docs/build-on-morph/developer-resources/node-operation/full-node/1-run-in-docker.md
  • docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md
  • docs/build-on-morph/developer-resources/node-operation/upgrade-node/0-jade-fork-overview.md
  • docs/build-on-morph/developer-resources/node-operation/validator-node/1-run-in-docker.md
  • docs/build-on-morph/developer-resources/node-operation/validator-node/2-run-on-host.md
✅ Files skipped from review due to trivial changes (1)
  • docs/build-on-morph/developer-resources/node-operation/validator-node/1-run-in-docker.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/build-on-morph/developer-resources/node-operation/full-node/1-run-in-docker.md
  • docs/build-on-morph/developer-resources/node-operation/validator-node/2-run-on-host.md

corey and others added 4 commits March 30, 2026 15:49
- jade-fork-overview FAQ: fix "miss fork time" recovery (binary update, not
  full MPT migration), split crash debug by upgrade path, clarify rollback
- upgrade-node-host/docker warnings: binary/image update IS sufficient for
  zkTrie nodes; only redirect to MPT guide if user wants storage migration
- jade-fork-upgrade-host/docker: clarify these are optional MPT storage
  migration guides, not required upgrade steps
- validator/run-on-host: add missing `morph` module to --http.api
- prune-state: remove "all nodes should be running in MPT mode" — zkTrie
  nodes with updated binaries remain valid
- run-mpt-node tip: "need to migrate" → "want to migrate"
- run-on-host: fix archive mode tip for MPT era, add genesis sync content,
  fix js comment syntax in bash code blocks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- upgrade-node-host: add missing morph module to --http.api in restart cmd
- validator/run-in-docker: fix ROLLUP_CONTRACY typo → ROLLUP_CONTRACT
- validator/run-on-host: fix L1MESSAGEQUEUECONTRACT → L1MESSAGEQUEUE_CONTRACT
  for Hoodi (variable name must match the one referenced in start command)
- run-mpt-node: fix bare slug links → use .md extension for consistency
- run-in-docker: fix cd path after clone (run-morph-node/morph-node not morph-node)
- sidebars.js: move "Upgrade Node" before "Forks & Network Upgrades" to match
  operator workflow; also order host before docker within Upgrade Node

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/build-on-morph/developer-resources/node-operation/1-prune-state.md (1)

13-13: ⚠️ Potential issue | 🟡 Minor

Use ## headings to fix markdown heading increment lint.

This still triggers MD001 (h3 jump). Promote both section headings to ##.

Also applies to: 25-25

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md` at
line 13, Update the Markdown heading levels to fix the MD001 lint: change the
"### MPT Nodes (post-Jade Fork)" heading to use "##" and likewise promote the
adjacent section heading (the subsequent section header in this document) from
"###" to "##" so there is no h3 jump.
🧹 Nitpick comments (1)
docs/build-on-morph/developer-resources/node-operation/1-prune-state.md (1)

17-24: Add concrete stop/start command references for host and Docker flows.

“Stop the node” / “Start the node” is ambiguous operationally. Link to exact stop/start procedures (or provide command snippets) for both host and Docker guides to reduce operator error during pruning.

Also applies to: 33-39

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md`
around lines 17 - 24, Replace the ambiguous "Stop the node" / "Start the node"
steps with explicit, copy-pasteable stop/start command snippets and brief notes
for both host (systemd) and containerized (Docker/docker-compose) deployments so
operators know exactly how to stop and start the consensus client (morphnode)
and execution client (geth) before and after running geth snapshot prune-state;
ensure the commands explicitly target the morphnode and geth
services/containers, instruct to verify the processes have fully terminated
before pruning and to restart both services after pruning, and apply the same
concrete edits to the other occurrence of this instruction later in the
document.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md`:
- Line 20: The prune command uses a bare geth invocation ("nohup geth snapshot
prune-state --datadir \"$GETH_DB_DIR\" > prune.log &"), which can fail if the
source-built binary isn't in PATH; update this line to either call the explicit
built binary used elsewhere (replace "geth" with the same explicit binary path)
or add a note that "geth must be in PATH" before the command, and apply the same
change to the other identical occurrence of the prune command in the file.

---

Duplicate comments:
In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md`:
- Line 13: Update the Markdown heading levels to fix the MD001 lint: change the
"### MPT Nodes (post-Jade Fork)" heading to use "##" and likewise promote the
adjacent section heading (the subsequent section header in this document) from
"###" to "##" so there is no h3 jump.

---

Nitpick comments:
In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md`:
- Around line 17-24: Replace the ambiguous "Stop the node" / "Start the node"
steps with explicit, copy-pasteable stop/start command snippets and brief notes
for both host (systemd) and containerized (Docker/docker-compose) deployments so
operators know exactly how to stop and start the consensus client (morphnode)
and execution client (geth) before and after running geth snapshot prune-state;
ensure the commands explicitly target the morphnode and geth
services/containers, instruct to verify the processes have fully terminated
before pruning and to restart both services after pruning, and apply the same
concrete edits to the other occurrence of this instruction later in the
document.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 070908ac-ba09-4125-add7-d49ceb157684

📥 Commits

Reviewing files that changed from the base of the PR and between 591d739 and fdfa066.

📒 Files selected for processing (1)
  • docs/build-on-morph/developer-resources/node-operation/1-prune-state.md

1. Stop the node, including the consensus client (`morphnode`) and the execution client (`geth`).
2. Run the prune command:
```bash
nohup geth snapshot prune-state --datadir "$GETH_DB_DIR" > prune.log &
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Prune commands may fail in source-built host setup due to bare geth invocation.

The doc uses nohup geth ..., but host run docs start geth via ./morph/go-ethereum/build/bin/geth (docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md:117-129). Please either use the same explicit binary path here or state geth must be in PATH.

Also applies to: 36-36

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md` at
line 20, The prune command uses a bare geth invocation ("nohup geth snapshot
prune-state --datadir \"$GETH_DB_DIR\" > prune.log &"), which can fail if the
source-built binary isn't in PATH; update this line to either call the explicit
built binary used elsewhere (replace "geth" with the same explicit binary path)
or add a note that "geth must be in PATH" before the command, and apply the same
change to the other identical occurrence of the prune command in the file.

…grade guides

- Rewrite full-node/run-in-docker and run-on-host as MPT-first docs
- Delete standalone run-mpt-node (merged into the two main guides)
- Delete jade-fork-upgrade-host and jade-fork-upgrade-docker (redundant)
- Update jade-fork-overview links to point to consolidated docs
- Clean up upgrade-node-host/docker (remove Jade Fork migration refs)
- Update validator docs and sidebar

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
sidebars.js (1)

182-197: ⚠️ Potential issue | 🟡 Minor

Sidebar category order does not match the stated rollout structure.

Forks & Network Upgrades should appear before Upgrade Node to match the intended sequence in this PR.

Suggested fix
   {
     type: 'category',
-    label: 'Upgrade Node',
+    label: 'Forks & Network Upgrades',
     collapsed: false,
     items: [
-      'build-on-morph/developer-resources/node-operation/upgrade-node/upgrade-node-host',
-      'build-on-morph/developer-resources/node-operation/upgrade-node/upgrade-node-docker',
+      'build-on-morph/developer-resources/node-operation/upgrade-node/jade-fork-overview',
     ],
   },
   {
     type: 'category',
-    label: 'Forks & Network Upgrades',
+    label: 'Upgrade Node',
     collapsed: false,
     items: [
-      'build-on-morph/developer-resources/node-operation/upgrade-node/jade-fork-overview',
+      'build-on-morph/developer-resources/node-operation/upgrade-node/upgrade-node-host',
+      'build-on-morph/developer-resources/node-operation/upgrade-node/upgrade-node-docker',
     ],
   },
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@sidebars.js` around lines 182 - 197, The sidebar categories are in the wrong
order; swap the two category objects so the category with label 'Forks & Network
Upgrades' appears before the category with label 'Upgrade Node'—locate the
category entries whose label properties are 'Upgrade Node' and 'Forks & Network
Upgrades' in sidebars.js and reorder those objects (including their items arrays
and collapsed flags) so the forks & network upgrades category comes first.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md`:
- Line 13: The top-level heading "Recommended Versions" uses ### which jumps
levels (MD001); change it to a level-2 heading (## Recommended Versions) or
insert an appropriate preceding H2 so the document's heading hierarchy is
sequential; update the "Recommended Versions" heading text (the unique heading
string) to use the correct level to resolve the MD001 warning.
- Around line 240-242: The fenced code block containing the snapshot URL is
missing a language identifier; update the block that currently shows ``` on the
line before
"https://snapshot.morphl2.io/<network>/mpt-snapshot-YYYYMMDD-N.tar.gz" to
include a language tag (e.g., change ``` to ```text) so the block becomes a
properly tagged fenced code block.

---

Outside diff comments:
In `@sidebars.js`:
- Around line 182-197: The sidebar categories are in the wrong order; swap the
two category objects so the category with label 'Forks & Network Upgrades'
appears before the category with label 'Upgrade Node'—locate the category
entries whose label properties are 'Upgrade Node' and 'Forks & Network Upgrades'
in sidebars.js and reorder those objects (including their items arrays and
collapsed flags) so the forks & network upgrades category comes first.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ee1fc43c-0b23-4f25-bfbb-2fdaf1f7e0dc

📥 Commits

Reviewing files that changed from the base of the PR and between fdfa066 and 1cb3d08.

📒 Files selected for processing (9)
  • docs/build-on-morph/developer-resources/node-operation/full-node/1-run-in-docker.md
  • docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md
  • docs/build-on-morph/developer-resources/node-operation/full-node/3-run-mpt-node.md
  • docs/build-on-morph/developer-resources/node-operation/upgrade-node/0-jade-fork-overview.md
  • docs/build-on-morph/developer-resources/node-operation/upgrade-node/1-upgrade-node-host.md
  • docs/build-on-morph/developer-resources/node-operation/upgrade-node/2-upgrade-node-docker.md
  • docs/build-on-morph/developer-resources/node-operation/validator-node/1-run-in-docker.md
  • docs/build-on-morph/developer-resources/node-operation/validator-node/2-run-on-host.md
  • sidebars.js
💤 Files with no reviewable changes (1)
  • docs/build-on-morph/developer-resources/node-operation/full-node/3-run-mpt-node.md
✅ Files skipped from review due to trivial changes (3)
  • docs/build-on-morph/developer-resources/node-operation/upgrade-node/2-upgrade-node-docker.md
  • docs/build-on-morph/developer-resources/node-operation/upgrade-node/1-upgrade-node-host.md
  • docs/build-on-morph/developer-resources/node-operation/upgrade-node/0-jade-fork-overview.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/build-on-morph/developer-resources/node-operation/validator-node/2-run-on-host.md
  • docs/build-on-morph/developer-resources/node-operation/validator-node/1-run-in-docker.md

- 32GB+ RAM
- High-performance SSD with at least 1TB of free space
- 25+ MBit/sec download Internet service
### Recommended Versions
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix heading level jump in the first section.

Line 13 starts at ### before any ##, which triggers MD001 and can break heading hierarchy consistency.

Suggested fix
-### Recommended Versions
+## Recommended Versions
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md`
at line 13, The top-level heading "Recommended Versions" uses ### which jumps
levels (MD001); change it to a level-2 heading (## Recommended Versions) or
insert an appropriate preceding H2 so the document's heading hierarchy is
sequential; update the "Recommended Versions" heading text (the unique heading
string) to use the correct level to resolve the MD001 warning.

Comment on lines +240 to +242
```
https://snapshot.morphl2.io/<network>/mpt-snapshot-YYYYMMDD-N.tar.gz
```
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add language identifier to fenced code block.

This block is missing a language tag (MD040).

Suggested fix
-```
+```text
 https://snapshot.morphl2.io/<network>/mpt-snapshot-YYYYMMDD-N.tar.gz
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In
@docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md
around lines 240 - 242, The fenced code block containing the snapshot URL is
missing a language identifier; update the block that currently shows on the line before "https://snapshot.morphl2.io/<network>/mpt-snapshot-YYYYMMDD-N.tar.gz" to include a language tag (e.g., change to ```text) so the block becomes a
properly tagged fenced code block.


</details>

<!-- fingerprinting:phantom:poseidon:hawk:ac9c2e5b-65f0-41bd-b8f5-232d857c46b2 -->

<!-- This is an auto-generated comment by CodeRabbit -->

- Add note that pruning requires 128 blocks after MPT migration
- Clarify zkTrie prune is unsupported after switching to MPT
- Merge "Upgrade Node" and "Forks & Network Upgrades" into "Upgrade & Forks"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant