You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+20-27Lines changed: 20 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,7 @@ In contrast, our philosophy is rooted in simplicity. We strive to write minimal
39
39
40
40
Read more about our engineering philosophy [in this post of our blog](https://blog.lambdaclass.com/lambdas-engineering-philosophy/).
41
41
42
-
## Design Principles
42
+
## Design principles
43
43
44
44
- Ensure effortless setup and execution across all target environments.
45
45
- 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
59
59
60
60
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.
61
61
62
-
## Roadmap
62
+
## Current status
63
63
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:
65
65
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
67
70
68
-
This milestone focuses on connecting to other clients and listening for new blocks through gossipsub.
71
+
Additional features:
69
72
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
73
75
74
-
### Compute current chain state
76
+
### pq-devnet-1
75
77
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.
77
79
78
-
- Generate initial state from genesis configuration ✅
79
-
- Implement state transition function ✅
80
-
- Transition state on each new block ✅
80
+
## Incoming features
81
81
82
-
### Apply fork-choice rule
82
+
Some features we are looking to implement in the near future, in order of priority:
83
83
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
Copy file name to clipboardExpand all lines: docs/metrics.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,8 @@
2
2
3
3
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`).
4
4
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
+
5
7
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.
0 commit comments