Skip to content

docs: document the release binary, the validator client and the beacon node's duties - #716

Merged
MegaRedHand merged 7 commits into
mainfrom
docs/readme-1.0
Oct 28, 2026
Merged

MegaRedHand merged 7 commits into
mainfrom
docs/readme-1.0

Conversation

@pablodeymo

@pablodeymo pablodeymo commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

🗒️ Description / Motivation

  • Ahead of 1.0, the README still describes a Lean-only client whose beacon quickstart runs from a hand-published Docker tag. The release ships a Beacon Chain node that serves a validator client, the validator client itself, and binaries for three platforms, none of which the README shows how to run.
  • Adds a release-binary quickstart and a validator-client section, and corrects statements that no longer hold.

What Changed

README.md only:

  • The quickstart now runs the beacon node standalone from the release binary: download the asset, generate the node key, run ethlambda beacon with no execution client, with the AVX2 and glibc requirements, the macOS quarantine note, the provenance-verification pointer, and KillSignal=SIGINT for systemd (the node shuts down gracefully on SIGINT only). It states that this mode validates no payloads and cannot serve a validator client.
  • New Running with the ethrex execution client section: download ethrex's release asset, generate the JWT secret, start ethrex, then the beacon node with the two --execution-* flags. The Docker two-container setup moves under it as Running with Docker.
  • New ethlambda validator section: run command, flag table, and the no-slashing-protection warning (noted as work in progress) linking to docs/spec_deviations.md.
  • Quickstart image tag beacon → latest in all five places.
  • Beacon node description: it serves a validator client once paired with an execution client, joining the subnets its validators ask for and publishing what they sign. The old text said it publishes nothing and joins no subnet.
  • Platåberget paragraph: the validator endpoints serve gloas duties. The old text said they refuse a gloas epoch.
  • Roadmap: the state-diffs item is removed as shipped (Implement diff-layers for state calculation #238 is closed); the execution-client item is scoped to the Lean Chain, pointing at docs/beacon_engine.md for what the beacon node already does.
  • Prerequisites: Docker and yq marked as needed by make run-devnet and make docker-build only.
  • Current-status paragraph mentions the validator client.

Correctness / Behavior Guarantees

  • Documentation only; no code or behaviour changes.
  • Every ethlambda flag was checked against bin/ethlambda/src/cli.rs and bin/ethlambda/src/validator.rs, the ethrex flags against ethrex's cmd/ethrex/cli.rs, the key-file formats against the parsers (both trim whitespace and accept 0x), and the quoted log lines against the source.
  • Left untouched on purpose: the is_syncing caveat, the pq-devnet-5/6 sections and the Goldfish roadmap item.

Tests Added / Run

  • None to add. Verified that all 16 anchored links resolve (within the README and into docs/cli.md, RELEASE.md and docs/spec_deviations.md), that every relative link exists, and that every external URL answers 200.

Related Issues / PRs

✅ Verification Checklist

  • Ran make fmt — not applicable, Markdown only
  • Ran make lint (clippy with -D warnings) — not applicable, Markdown only
  • Ran make test (test-consensus plus test-node, at release-fast) — not applicable, Markdown only

MegaRedHand and others added 3 commits October 28, 2026 12:46
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.
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
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
Comment thread README.md
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

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

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

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

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
MegaRedHand enabled auto-merge October 28, 2026 19:29
@MegaRedHand
MegaRedHand disabled auto-merge October 28, 2026 19:35
@MegaRedHand
MegaRedHand merged commit 9226448 into main Oct 28, 2026
10 checks passed
@MegaRedHand
MegaRedHand deleted the docs/readme-1.0 branch October 28, 2026 19:35
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