Repository navigation
ethlambda 1.0.0 is our first release: a Beacon Chain client for Ethereum, written in Rust. We run it on mainnet and stake with it on Hoodi and Sepolia, where our validators went through the Glamsterdam hard fork running ethlambda. It builds on what we learned running Lean Ethereum devnets and building ethrex, our execution client.
Warning
The validator client keeps no slashing-protection record (EIP-3076). Never run the same keys in another client at the same time. Treat a restart or a key migration as carefully as moving keys by hand: stop the old signer and wait until the epochs it signed in are finalized before starting the new one. Slashing-protection data sent through the Keymanager API is ignored.
Note
What's in 1.0
- A Beacon Chain node for Fulu/Fusaka and Gloas/Glamsterdam, with mainnet, Sepolia, Hoodi and Platåberget built in
- A validator client: proposals, attestations, aggregation, sync committees and Gloas payload attestations
- Execution client pairing over the Engine API, tested with ethrex, geth and Nethermind
- The Lean consensus devnet node (
ethlambda node), in the same binary
Beacon Chain (ethlambda beacon)
- Networks:
mainnet(default),sepolia,hoodiandplatabergetare built in, with their configs and bootnodes compiled into the binary.--network <dir>loads any network from its published files (config.yaml,genesis.ssz,bootstrap_nodes.yaml). - Forks: Fulu/Fusaka and Gloas/Glamsterdam. The node crosses a fork boundary without a restart. It passes the consensus-specs
v1.7.0-beta.2test vectors on both the mainnet and minimal presets. - Sync: checkpoint sync from any Beacon API, then range sync and gossip up to the head. Restarts resume from the data directory.
- Execution: Engine API pairing (
--execution-endpoint,--execution-jwt-secret). Blocks import optimistically while the execution client syncs. Serving a validator client requires an execution client. - Networking: discv5, QUIC with TCP fallback, gossip validation with peer scoring, PeerDAS column custody.
- Beacon API: JSON and SSZ, plus the
/eth/v1/eventsstream. See docs/rpc.md. - Validator client (
ethlambda validator): proposals, attestations, aggregation, sync committee messages and contributions, Gloas payload timeliness votes, and the Keymanager API. A Gloas proposal compares the best builder bid seen on gossip with the local build. - Era replay (
ethlambda replay-era): replays mainnet, Sepolia or Hoodi history from.erafiles through the state transition and checks the result against the stored states.
Performance: blocks import in under 300 ms on our servers, in line with other clients. Benchmarks and comparisons will follow in later releases.
Lean Ethereum (ethlambda node)
The binary still runs Lean consensus: XMSS signatures with leanVM aggregation, the aggregator role, and ethlambda keygen for genesis keys. See the README to run a devnet.
Known limitations
- No slashing protection in validator client: see the warning above.
- No builder flow before Gloas: blocks are always built locally. There is no MEV-boost or relay support. From Gloas on, bids come only from gossip or the Beacon API.
- Graceful shutdown is SIGINT only: SIGTERM skips the final state flush, so run Docker with
--stop-signal SIGINT. An open/eth/v1/eventssubscription delays shutdown until it disconnects. - Fork digest in the ENR: after a fork boundary the node keeps advertising the old fork digest in its ENR until restarted, so peers that discover it later reject its record.
What's next
Not part of this release:
- A feature-complete validator client and more Beacon API endpoints.
- Hegotá: the fork's EIPs, FOCIL included, are implemented on development branches, and we are joining the Hegotá interop devnets.
- Post-quantum signatures for the Beacon Chain, building on our work with leanXMSS and leanSPHINCS.
- A single-binary Ethereum node: a build that embeds ethrex, so one program is a complete node.
Getting it
- Docker:
ghcr.io/lambdaclass/ethlambda:1.0.0(alsolatest), for amd64 and arm64. - Binaries: attached below with their
SHA256SUMS:linux-x86_64(glibc 2.35+, needs AVX2),linux-aarch64(glibc 2.35+) andmacos-aarch64. - Verifying: the binaries and the image carry GitHub build provenance attestations. See RELEASE.md.
- Quickstart: the README runs a mainnet node next to ethrex with Docker.
If you run a node or a validator, try it and tell us your experience. Issues, pull requests and questions are welcome. You can also join our Telegram: https://t.me/ethlambda_client