Skip to content

Commit 5aca333

Browse files
committed
Merge branch 'main' into devnet2
2 parents 292bd45 + e33d70b commit 5aca333

File tree

2 files changed

+22
-27
lines changed

2 files changed

+22
-27
lines changed

README.md

Lines changed: 20 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ In contrast, our philosophy is rooted in simplicity. We strive to write minimal
3939

4040
Read more about our engineering philosophy [in this post of our blog](https://blog.lambdaclass.com/lambdas-engineering-philosophy/).
4141

42-
## Design Principles
42+
## Design principles
4343

4444
- Ensure effortless setup and execution across all target environments.
4545
- Be vertically integrated. Have the minimal amount of dependencies.
@@ -59,38 +59,31 @@ The following links, repos, companies and projects have been important in the de
5959

6060
If we forgot to include anyone, please file an issue so we can add you. We always strive to reference the inspirations and code we use, but as an organization with multiple people, mistakes can happen, and someone might forget to include a reference.
6161

62-
## Roadmap
62+
## Current status
6363

64-
The initial project setup and integration with [lean-quickstart](https://github.com/blockblaz/lean-quickstart) are complete.
64+
The client implements the core features of a Lean Ethereum consensus client:
6565

66-
### Listen for new blocks
66+
- **Networking** — libp2p peer connections, STATUS message handling, gossipsub for blocks and attestations
67+
- **State management** — genesis state generation, state transition function, block processing
68+
- **Fork choice** — 3SF-mini fork choice rule implementation with attestation-based head selection
69+
- **Validator duties** — attestation production and broadcasting, block building
6770

68-
This milestone focuses on connecting to other clients and listening for new blocks through gossipsub.
71+
Additional features:
6972

70-
- Connect to other peers via libp2p ✅
71-
- Respond to STATUS messages from other peers ✅
72-
- Listen for new blocks in gossipsub ✅
73+
- [leanMetrics](docs/metrics.md) support for monitoring and observability
74+
- [lean-quickstart](https://github.com/blockblaz/lean-quickstart) integration for easier devnet running
7375

74-
### Compute current chain state
76+
### pq-devnet-1
7577

76-
This milestone focuses on computing the chain state from the gossiped by peers received.
78+
We support the [pq-devnet-1 spec](https://github.com/leanEthereum/pm/blob/main/breakout-rooms/leanConsensus/pq-interop/pq-devnet-1.md). A dedicated git branch and docker tag `devnet1` are available for this version.
7779

78-
- Generate initial state from genesis configuration ✅
79-
- Implement state transition function ✅
80-
- Transition state on each new block ✅
80+
## Incoming features
8181

82-
### Apply fork-choice rule
82+
Some features we are looking to implement in the near future, in order of priority:
8383

84-
This milestone focuses on choosing the head of the chain based on gossiped attestations.
85-
86-
- Listen for attestations in gossipsub ✅
87-
- Implement fork-choice rule ✅
88-
- Apply fork-choice rule based on received attestations ✅
89-
90-
### Produce blocks and attestations
91-
92-
This milestone focuses on performing the duties of a validator.
93-
94-
- Produce and broadcast attestations on each slot ✅
95-
- Compute current proposer for each slot ✅
96-
- Build and broadcast new blocks when proposing ✅
84+
- [pq-devnet-2](https://github.com/leanEthereum/pm/blob/main/breakout-rooms/leanConsensus/pq-interop/pq-devnet-2.md) support: signature aggregation with leanMultisig
85+
- Data persistence: DB-backed Store
86+
- Historical syncing from genesis for existing devnets
87+
- Checkpoint sync for long-lived networks
88+
- Observability: more metrics from leanMetrics and better logs
89+
- RPC endpoints for chain data consumption

docs/metrics.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
We collect various metrics and serve them via a Prometheus-compatible HTTP endpoint at `http://<metrics_address>:<metrics_port>/metrics` (default: `http://127.0.0.1:5054/metrics`).
44

5+
We provide a ready-to-use Grafana + Prometheus monitoring stack in the [`metrics/`](../metrics/) directory. It includes pre-configured dashboards from the [leanMetrics](https://github.com/leanEthereum/leanMetrics) repository for visualizing the metrics described below. See the [metrics README](../metrics/README.md) for setup instructions.
6+
57
The exposed metrics follow [the leanMetrics specification](https://github.com/leanEthereum/leanMetrics/blob/3b32b300cca5ed7a7a2b3f142273fae9dbc171bf/metrics.md), with some metrics not yet implemented. We have a full list of implemented metrics below, with a checkbox indicating whether each metric is currently supported or not.
68

79
## Node Info Metrics

0 commit comments

Comments
 (0)