From 1388d654b9934285cca3a4bd015017897bef9726 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Gr=C3=BCner?= <47506558+MegaRedHand@users.noreply.github.com> Date: Fri, 23 Jan 2026 11:01:14 -0300 Subject: [PATCH 1/7] fix: add ethlambda to the interop dashboard --- metrics/grafana/dashboards/client-interop-dashboard.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metrics/grafana/dashboards/client-interop-dashboard.json b/metrics/grafana/dashboards/client-interop-dashboard.json index 0e1a82e..1d94aef 100644 --- a/metrics/grafana/dashboards/client-interop-dashboard.json +++ b/metrics/grafana/dashboards/client-interop-dashboard.json @@ -2418,7 +2418,7 @@ "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, - "regex": ".*ream.*|.*zeam.*|.*qlean.*|.*lantern.*", + "regex": ".*ream.*|.*zeam.*|.*qlean.*|.*lantern.*|.*ethlambda.*", "type": "query" } ] From 4fd2bba7522fccbc8c1b7a06c5af9b2a39f6a409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Gr=C3=BCner?= <47506558+MegaRedHand@users.noreply.github.com> Date: Fri, 23 Jan 2026 11:41:16 -0300 Subject: [PATCH 2/7] chore: update prometheus config --- metrics/prometheus/prometheus.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/metrics/prometheus/prometheus.yml b/metrics/prometheus/prometheus.yml index 178000d..ef6ef12 100644 --- a/metrics/prometheus/prometheus.yml +++ b/metrics/prometheus/prometheus.yml @@ -5,27 +5,27 @@ global: monitor: "ethlambda-metrics" scrape_configs: - - job_name: "ethlambda" + - job_name: "ethlambda_0" static_configs: - - targets: ["host.docker.internal:8008"] + - targets: ["host.docker.internal:8087"] labels: - client: "ethlambda" + client: "ethlambda_0" instance: "local" # Add additional scrape targets for other Lean Ethereum clients - # - job_name: 'ream' + # - job_name: "ream_0" # static_configs: - # - targets: ['host.docker.internal:8009'] + # - targets: ["host.docker.internal:8082"] # labels: - # client: 'ream' - # instance: 'local' + # client: "ream_0" + # instance: "local" - # - job_name: 'zeam' + # - job_name: "zeam_0" # static_configs: - # - targets: ['host.docker.internal:8010'] + # - targets: ["host.docker.internal:8081"] # labels: - # client: 'zeam' - # instance: 'local' + # client: "zeam_0" + # instance: "local" # Prometheus self-monitoring - job_name: "prometheus" From ed1e060bd4ebbea2ad4b436c4ad618105954efa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Gr=C3=BCner?= <47506558+MegaRedHand@users.noreply.github.com> Date: Fri, 23 Jan 2026 11:45:50 -0300 Subject: [PATCH 3/7] docs: add troubleshooting section --- metrics/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/metrics/README.md b/metrics/README.md index f54ce23..eba93e6 100644 --- a/metrics/README.md +++ b/metrics/README.md @@ -48,3 +48,10 @@ To remove all data volumes: ```bash docker compose -f docker-compose-metrics.yaml down -v ``` + +## Troubleshooting + +### Docker Desktop on MacOS + +lean-quickstart uses the host network mode for Docker containers, which is a problem on MacOS. +To work around this, enable the ["Enable host networking" option](https://docs.docker.com/enterprise/security/hardened-desktop/settings-management/settings-reference/#enable-host-networking) in Docker Desktop settings under Resources > Network. From 917ee930b7f7dff0ab344f76394c7172617523e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Gr=C3=BCner?= <47506558+MegaRedHand@users.noreply.github.com> Date: Fri, 23 Jan 2026 11:47:27 -0300 Subject: [PATCH 4/7] fix: use managed validator count in lean_validators_count --- crates/blockchain/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/blockchain/src/lib.rs b/crates/blockchain/src/lib.rs index 10f4e7e..f120e18 100644 --- a/crates/blockchain/src/lib.rs +++ b/crates/blockchain/src/lib.rs @@ -265,7 +265,7 @@ impl BlockChainServer { metrics::update_head_slot(slot); metrics::update_latest_justified_slot(self.store.latest_justified().slot); metrics::update_latest_finalized_slot(self.store.latest_finalized().slot); - metrics::update_validators_count(self.store.head_state().validators.len() as u64); + metrics::update_validators_count(self.key_manager.validator_ids().len() as u64); Ok(()) } From 66ab81389464178c695ef81fc573d544e2525427 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Gr=C3=BCner?= <47506558+MegaRedHand@users.noreply.github.com> Date: Fri, 23 Jan 2026 11:51:22 -0300 Subject: [PATCH 5/7] chore: update Makefile run-devnet target --- Makefile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index cac55e8..9438f2b 100644 --- a/Makefile +++ b/Makefile @@ -29,10 +29,11 @@ leanSpec: leanSpec/fixtures: leanSpec cd leanSpec && uv run fill --fork devnet --scheme=prod -o fixtures -# lean-quickstart: -# git clone https://github.com/blockblaz/lean-quickstart.git --depth 1 --single-branch +lean-quickstart: + git clone https://github.com/blockblaz/lean-quickstart.git --depth 1 --single-branch run-devnet: docker-build lean-quickstart ## 🚀 Run a local devnet using lean-quickstart - cargo build \ - && cd lean-quickstart \ - && NETWORK_DIR=local-devnet ./spin-node.sh --node zeam_0,ethlambda_0 --generateGenesis --metrics + # Go to lean-quickstart/local-devnet/genesis/validator-config.yaml to modify + # the validator configuration for the local devnet + cd lean-quickstart \ + && NETWORK_DIR=local-devnet ./spin-node.sh --node all --generateGenesis --metrics From 6434b4a8c99400af7316339a4cc6e7bdba7f6e6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Gr=C3=BCner?= <47506558+MegaRedHand@users.noreply.github.com> Date: Fri, 23 Jan 2026 11:54:22 -0300 Subject: [PATCH 6/7] docs: update readme lean-quickstart command --- Makefile | 4 +++- README.md | 11 ++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 9438f2b..aa29022 100644 --- a/Makefile +++ b/Makefile @@ -34,6 +34,8 @@ lean-quickstart: run-devnet: docker-build lean-quickstart ## 🚀 Run a local devnet using lean-quickstart # Go to lean-quickstart/local-devnet/genesis/validator-config.yaml to modify - # the validator configuration for the local devnet + # the validator configuration for the local devnet. + # NOTE: to run the local image of ethlambda, make sure to set the image tag + # in lean-quickstart/client-cmds/ethlambda-cmd.sh to "ghcr.io/lambdaclass/ethlambda:local" cd lean-quickstart \ && NETWORK_DIR=local-devnet ./spin-node.sh --node all --generateGenesis --metrics diff --git a/README.md b/README.md index 6b24a9f..22fce01 100644 --- a/README.md +++ b/README.md @@ -17,15 +17,8 @@ Run `make help` or take a look at our [`Makefile`](./Makefile) for other useful To run a local devnet with multiple clients using [lean-quickstart](https://github.com/blockblaz/lean-quickstart): ```sh -# Clone lean-quickstart (if not already present) -git clone https://github.com/blockblaz/lean-quickstart.git - -# Build the ethlambda Docker image -make docker-build - -# Run a 3-client devnet (zeam, ream, ethlambda) -cd lean-quickstart -NETWORK_DIR=local-devnet ./spin-node.sh --node zeam_0,ream_0,ethlambda_0 --generateGenesis --metrics +# This will clone lean-quickstart, build the docker image, and start a local devnet +make run-devnet ``` This generates fresh genesis files and starts all three clients with metrics enabled. From 835fbe726c093af31e2095a0370197ce98236e9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Gr=C3=BCner?= <47506558+MegaRedHand@users.noreply.github.com> Date: Fri, 23 Jan 2026 11:59:27 -0300 Subject: [PATCH 7/7] chore: add TODO --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index aa29022..455412b 100644 --- a/Makefile +++ b/Makefile @@ -32,6 +32,8 @@ leanSpec/fixtures: leanSpec lean-quickstart: git clone https://github.com/blockblaz/lean-quickstart.git --depth 1 --single-branch + +# TODO: start metrics too run-devnet: docker-build lean-quickstart ## 🚀 Run a local devnet using lean-quickstart # Go to lean-quickstart/local-devnet/genesis/validator-config.yaml to modify # the validator configuration for the local devnet.