Repository navigation
docs: document the release binary, the validator client and the beacon node's duties - #716
Merged
Merged
Conversation
The project's self-descriptions (README, book, CONTRIBUTING, Docker label, review prompt, infographics, CLAUDE.md) still called ethlambda a Lean consensus client only, and CLAUDE.md said it was not to be confused with a Beacon Chain client. `ethlambda beacon` now follows the Beacon Chain, so those statements are wrong. The LMD-GHOST comparison table also credited "ethlambda" with having no proposer boost or equivocation discounting, which is only true of the Lean Chain: the beacon fork choice implements both. It is now scoped to the Lean Chain. The book introduction gains the Beacon Chain part SUMMARY.md already lists.
Several pages still spoke of "ethlambda" or "the node" where they meant the Lean Chain alone, and some of those statements are false for the Beacon Chain side: the LMD-GHOST notes say every validator has equal weight, 3SF-mini is described as ethlambda's finality gadget, and the architecture page describes only the Lean node without saying so. The "In ethlambda" notes in the Consensus pages become "In ethlambda's Lean Chain", and the architecture, benchmarking, metrics and fork choice visualization pages say which chain they describe. The Lean content is unchanged.
…n node's duties Add a quickstart for running the beacon node from a release binary, with the platform requirements, the macOS quarantine note and the SIGINT-only shutdown caveat for systemd. Add an `ethlambda validator` section with its flags and the no-slashing-protection warning. Point the Docker quickstart at the `latest` release image instead of the hand-published `beacon` tag. Correct the beacon node description, which claimed it publishes nothing and joins no subnets, and the Platåberget paragraph, which said the validator endpoints refuse gloas. Drop the shipped state-diffs roadmap item and scope the execution-client item to the Lean Chain. Mark Docker and yq as prerequisites of the devnet and image targets only.
MegaRedHand
reviewed
Oct 28, 2026
Reorder the Quickstart so the beacon node runs from the release binaries first, with the ethrex binary downloaded and started next to it, and move the Docker setup below as its own section. Capitalize Gloas in prose and note that slashing protection is a work in progress. Addresses the review comments on #716.
… section The quickstart now runs the beacon node alone from the release binary, without an execution client, and says what that mode cannot do. Pairing with ethrex, from its own release binary, gets a section of its own, and the Docker setup moves under it as a sub-section.
…tus' paragraph which extends main's with the validator-client sentence
MegaRedHand
reviewed
Oct 28, 2026
| curl -LO https://github.com/lambdaclass/ethlambda/releases/latest/download/ethlambda-linux-x86_64 | ||
| chmod +x ethlambda-linux-x86_64 && mv ethlambda-linux-x86_64 ethlambda | ||
| ./ethlambda --version | ||
|
|
Collaborator
There was a problem hiding this comment.
Let's include the ethrex part here too. We can then add a brief paragraph mentioning you can run here without ethrex if you want to skip payload validation
Collaborator
Author
There was a problem hiding this comment.
Done in bac988a: the quickstart downloads both release binaries and starts ethrex before the beacon node again, and a paragraph after the platform notes says that running without ethrex skips payload validation and what that costs (no validator client, since those endpoints answer 503). The Docker setup is a top-level section under the quickstart again.
… on skipping it The quickstart downloads both release binaries and starts ethrex before the beacon node, keeping the Engine API and JWT sentence from the section it replaces, and a paragraph says what running without ethrex skips (payload validation) and loses (the validator client). The Docker setup moves up to a section of its own under the quickstart.
MegaRedHand
approved these changes
Oct 28, 2026
MegaRedHand
enabled auto-merge
October 28, 2026 19:29
MegaRedHand
disabled auto-merge
October 28, 2026 19:35
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.
🗒️ Description / Motivation
What Changed
README.mdonly:ethlambda beaconwith no execution client, with the AVX2 and glibc requirements, the macOS quarantine note, the provenance-verification pointer, andKillSignal=SIGINTfor systemd (the node shuts down gracefully on SIGINT only). It states that this mode validates no payloads and cannot serve a validator client.--execution-*flags. The Docker two-container setup moves under it as Running with Docker.ethlambda validatorsection: run command, flag table, and the no-slashing-protection warning (noted as work in progress) linking todocs/spec_deviations.md.beacon→latestin all five places.docs/beacon_engine.mdfor what the beacon node already does.make run-devnetandmake docker-buildonly.Correctness / Behavior Guarantees
bin/ethlambda/src/cli.rsandbin/ethlambda/src/validator.rs, the ethrex flags against ethrex'scmd/ethrex/cli.rs, the key-file formats against the parsers (both trim whitespace and accept0x), and the quoted log lines against the source.is_syncingcaveat, the pq-devnet-5/6 sections and the Goldfish roadmap item.Tests Added / Run
docs/cli.md,RELEASE.mdanddocs/spec_deviations.md), that every relative link exists, and that every external URL answers 200.Related Issues / PRs
v1.0.0is promoted.ghcr.io/lambdaclass/ethlambda:latestis today a 2 October image without thebeaconsub-command, andreleases/latest/download/…resolves only once a non-prerelease exists.✅ Verification Checklist
make fmt— not applicable, Markdown onlymake lint(clippy with-D warnings) — not applicable, Markdown onlymake test(test-consensusplustest-node, atrelease-fast) — not applicable, Markdown only