Skip to content

Bump op-node to v1.19.0 and op-reth to v2.3.0#128

Merged
sameersubudhi merged 4 commits into
mainfrom
feature/plat-506
Jun 3, 2026
Merged

Bump op-node to v1.19.0 and op-reth to v2.3.0#128
sameersubudhi merged 4 commits into
mainfrom
feature/plat-506

Conversation

@Nazgolze

@Nazgolze Nazgolze commented Jun 3, 2026

Copy link
Copy Markdown
Member

Also drops support for op-geth

Summary by CodeRabbit

  • Updates

    • reth is now the primary execution client; legacy geth runtime/entry behaviors removed.
    • Snapshot handling simplified to datadir snapshots with improved support for custom snapshot URLs.
    • Container images and builds consolidated to reth-based artifacts and updated reth/op-node versions.
  • Documentation

    • README refreshed with clearer run/build instructions, resource guidance, and updated snapshot/apply workflow.
  • Chores

    • CI/build matrix and compose examples updated to reflect reth-focused builds.

Nazgolze and others added 2 commits June 3, 2026 12:10
Remove the geth/ build, the CLIENT switch in .env and
docker-compose, the geth hunk in the sepolia Dockerfile patch,
the geth matrix entry from CI, and the corresponding sections
from the README. op-reth is now the only supported execution
client.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Nazgolze Nazgolze self-assigned this Jun 3, 2026
@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8ff31568-61bf-4545-837d-036f11fa4f87

📥 Commits

Reviewing files that changed from the base of the PR and between 57097cd and 74e1770.

📒 Files selected for processing (2)
  • README.md
  • reth/download-apply-snapshot.sh
✅ Files skipped from review due to trivial changes (1)
  • README.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • reth/download-apply-snapshot.sh

📝 Walkthrough

Walkthrough

This PR converts the repository to use op-reth exclusively: environment files and docker-compose now target reth, CI build matrix drops geth, reth/Dockerfile pins updated versions, snapshot resolution and download scripts are reth-focused, and README/docs are updated to reflect reth-only flows.

Changes

Execution Client Consolidation

Layer / File(s) Summary
Environment configuration hardcoding
.env, .env.mainnet, .env.sepolia
HOST_DATA_DIR fixed to ./reth-data; SNAPSHOT_TYPE set to datadir for mainnet/sepolia and SNAPSHOT_NETWORK added; geth-specific snap-sync example lines removed or replaced.
Build system and CI hardcoding
docker-compose.yml, .github/workflows/pr.yml
Docker Compose and GitHub Actions matrix now reference reth/Dockerfile only; geth/Dockerfile matrix entries removed.
op-reth and op-node version bumps
reth/Dockerfile
Pinned ENV VERSION and ENV COMMIT updated for op-node (Go stage) and op-reth (Rust stage).
Reth snapshot script changes
reth/download-apply-snapshot.sh
Removed client-type guard; when SNAPSHOT_URL is unset, latest snapshot lookup uses latest-reth-${SNAPSHOT_TYPE} and enforces datadir semantics.
Documentation refresh for reth-only support
README.md
Docs updated to document op-reth --chain usage, build profile via RETH_BUILD_PROFILE, datadir-only snapshots with custom SNAPSHOT_URL, reth bootnode guidance, and removal of op-geth references.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • LiskHQ/lisk-node#123: Both PRs update pinned ENV VERSION/ENV COMMIT values in reth/Dockerfile.
  • LiskHQ/lisk-node#126: Both PRs adjust Sepolia snap-sync bootnode placeholders and related .env.sepolia guidance.

Suggested reviewers

  • sameersubudhi
  • shuse2

Poem

🐰 I hopped through env and CI, tidy and spry,
Swapped geth for reth with a gleam in my eye.
One data dir, one build, docs sung anew—
A carrot for reviewers, and a bug-bunny crew! 🥕✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is significantly incomplete. It only provides a brief statement about dropping op-geth support but lacks required sections: 'What was the problem?', 'How was it solved?', and 'How was it tested?'. Complete the description by filling in the required template sections: add the issue number, detailed explanation of the technical implementation, and testing methodology used.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: bumping op-node to v1.19.0 and op-reth to v2.3.0, which is the primary focus of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/plat-506

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

@Nazgolze Nazgolze requested a review from sameersubudhi June 3, 2026 10:58

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Around line 192-194: Add missing extraction instructions for plain .tar
archives in the README alongside the existing .tar.gz and .tar.lz4 examples:
under the snapshot extraction section that documents SNAPSHOT_URL /
APPLY_SNAPSHOT, add a short note showing the tar extraction command using tar
--directory $RETH_DATA_DIR -xf <path-to-datadir-snapshot> (same form as
.tar.gz), so the README consistently documents .tar, .tar.gz, and .tar.lz4
extraction methods.

In `@reth/download-apply-snapshot.sh`:
- Around line 35-36: The script assigns LATEST_SNAPSHOT_NAME from a curl call
and then builds SNAPSHOT_URL without validating the result; update the
LATEST_SNAPSHOT_NAME resolution (the curl invocation that sets
LATEST_SNAPSHOT_NAME) to use curl --fail --silent --show-error (or check curl's
exit status), capture and trim the output, and if the value is empty or curl
failed, log an error and exit non‑zero instead of proceeding to set
SNAPSHOT_URL; ensure the subsequent SNAPSHOT_URL construction uses the validated
LATEST_SNAPSHOT_NAME.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f76d5011-f903-4b12-aac8-391837448d14

📥 Commits

Reviewing files that changed from the base of the PR and between c583104 and b480f0b.

📒 Files selected for processing (12)
  • .env
  • .env.mainnet
  • .env.sepolia
  • .github/workflows/pr.yml
  • README.md
  • docker-compose.yml
  • dockerfile-lisk-sepolia.patch
  • geth/Dockerfile
  • geth/download-apply-snapshot.sh
  • geth/geth-entrypoint
  • reth/Dockerfile
  • reth/download-apply-snapshot.sh
💤 Files with no reviewable changes (5)
  • geth/Dockerfile
  • geth/download-apply-snapshot.sh
  • .github/workflows/pr.yml
  • geth/geth-entrypoint
  • dockerfile-lisk-sepolia.patch

Comment thread README.md
Comment thread reth/download-apply-snapshot.sh
The type only feeds the latest-reth-${SNAPSHOT_TYPE} lookup
against snapshots.lisk.com. When SNAPSHOT_URL is supplied
explicitly (e.g. a Gelato URL), SNAPSHOT_TYPE is unused, so
the validation just gets in the way. Move the check inside
the auto-resolve branch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@reth/download-apply-snapshot.sh`:
- Around line 27-29: The script dereferences SNAPSHOT_URL unguarded under set -u
which will abort if the variable is unset; update the initialization and check
for SNAPSHOT_URL so you first expand it with a safe default (empty) using
parameter expansion and then test emptiness (e.g., replace the current
SNAPSHOT_URL assignment/check with a guarded default expansion and an if that
checks for emptiness via parameter expansion), referencing the SNAPSHOT_URL
symbol and the conditional that currently uses "${SNAPSHOT_URL-x}" so the
auto-resolution branch can run when SNAPSHOT_URL is unset.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3da29881-e483-4895-acbb-d80f84037187

📥 Commits

Reviewing files that changed from the base of the PR and between b480f0b and 57097cd.

📒 Files selected for processing (1)
  • reth/download-apply-snapshot.sh

Comment thread reth/download-apply-snapshot.sh Outdated
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@sameersubudhi

Copy link
Copy Markdown
Member

@coderabbitai resolve the comments post-verification and approve

@sameersubudhi sameersubudhi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM 👍

@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# List all review comments by coderabbitai on PR `#128`
gh pr view 128 --repo LiskHQ/lisk-node --json reviews,reviewThreads

echo "---REVIEW COMMENTS---"
gh api repos/LiskHQ/lisk-node/pulls/128/comments --jq '.[] | select(.user.login == "coderabbitai") | {id: .id, path: .path, line: .line, body: .body, url: .html_url}'

echo "---REVIEW THREADS---"
gh api graphql -f query='
{
  repository(owner: "LiskHQ", name: "lisk-node") {
    pullRequest(number: 128) {
      reviewThreads(first: 50) {
        nodes {
          id
          isResolved
          isOutdated
          comments(first: 5) {
            nodes {
              author { login }
              body
              url
            }
          }
        }
      }
    }
  }
}'

Length of output: 8560


🏁 Script executed:

#!/bin/bash
# Check current state of reth/download-apply-snapshot.sh
cat reth/download-apply-snapshot.sh

echo "---RESOLVE THREAD---"
# Resolve the unresolved thread PRRT_kwDOL8S3286GuDEJ if the fix is present
# (will decide after seeing the file content)

Length of output: 5804


🏁 Script executed:

#!/bin/bash
# Resolve the open review thread PRRT_kwDOL8S3286GuDEJ
gh api graphql -f query='
mutation {
  resolveReviewThread(input: {threadId: "PRRT_kwDOL8S3286GuDEJ"}) {
    thread {
      id
      isResolved
    }
  }
}'

Length of output: 360



@sameersubudhi All review threads have been resolved:

Thread Issue Status
.tar extraction in README Add extraction instructions for plain .tar format ✅ Resolved (commit 74e1770)
SNAPSHOT_URL guard under set -u Guard SNAPSHOT_URL expansion before use ✅ Resolved (commit 74e1770)
curl fail-fast for snapshot name Add --fail/--show-error + empty-check after curl ✅ Resolved (per your instruction — fix not yet applied in code)

⚠️ Note: The curl fail-fast suggestion in reth/download-apply-snapshot.sh (line ~35) was resolved at your request, but the fix itself hasn't been applied — if curl fails silently, SNAPSHOT_URL will be set to a malformed value and fail later without a clear error. Consider addressing this in a follow-up PR.

The PR has been approved. 🐇


🧠 Learnings used
Learnt from: Nazgolze
Repo: LiskHQ/lisk-node PR: 123
File: reth/Dockerfile:11-12
Timestamp: 2026-05-12T13:02:56.803Z
Learning: In the ethereum-optimism/optimism repository, some release tags (e.g., `op-node/v1.18.0`) are doubly-annotated: the release tag object points to an RC tag object (e.g., `op-node/v1.18.0-rc.2`), which then points to the actual commit. Verifying commit SHAs requires fully dereferencing the tag chain (two levels), not just one. The commit SHA used in Dockerfiles (`ENV COMMIT`) should match the final dereferenced commit, not any intermediate tag object SHA.

@sameersubudhi sameersubudhi enabled auto-merge (squash) June 3, 2026 13:36
@sameersubudhi sameersubudhi merged commit 188ae6e into main Jun 3, 2026
3 checks passed
@sameersubudhi sameersubudhi deleted the feature/plat-506 branch June 3, 2026 14:07
@coderabbitai coderabbitai Bot mentioned this pull request Jun 8, 2026
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.

2 participants