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
run-devnet: docker-build lean-quickstart ## 🚀 Run a local devnet using lean-quickstart
39
-
# Go to lean-quickstart/local-devnet/genesis/validator-config.yaml to modify
40
-
# the validator configuration for the local devnet.
41
-
# NOTE: to run the local image of ethlambda, make sure to set the image tag
42
-
# in lean-quickstart/client-cmds/ethlambda-cmd.sh to "ghcr.io/lambdaclass/ethlambda:local"
43
-
cd lean-quickstart \
44
-
&& NETWORK_DIR=local-devnet ./spin-node.sh --node all --generateGenesis --metrics
41
+
@echo "Starting local devnet with ethlambda client (\"$(DOCKER_TAG)\" tag). Logs will be dumped in devnet.log, and metrics served in http://localhost:3000"
42
+
@echo
43
+
@echo "Devnet will be using the current configuration. For custom configurations, modify lean-quickstart/local-devnet/genesis/validator-config.yaml and restart the devnet."
44
+
@echo
45
+
@# Use temp file instead of sed -i for macOS/GNU portability
Copy file name to clipboardExpand all lines: README.md
+24-7Lines changed: 24 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,17 @@ Minimalist, fast and modular implementation of the Lean Ethereum client written
4
4
5
5
## Getting started
6
6
7
-
We use `cargo` as our build system. To build and run the client, simply run:
7
+
We use `cargo` as our build system, but prefer `make` as a convenient wrapper for common tasks. These are some common targets:
8
8
9
9
```sh
10
-
cargo run
10
+
# Formats all code
11
+
make fmt
12
+
# Checks and lints the code
13
+
make lint
14
+
# Runs all tests
15
+
make test
16
+
# Builds a docker image tagged as "ghcr.io/lambdaclass/ethlambda:local"
17
+
make docker-build DOCKER_TAG=local
11
18
```
12
19
13
20
Run `make help` or take a look at our [`Makefile`](./Makefile) for other useful commands.
@@ -21,9 +28,11 @@ To run a local devnet with multiple clients using [lean-quickstart](https://gith
21
28
make run-devnet
22
29
```
23
30
24
-
This generates fresh genesis files and starts all three clients with metrics enabled.
31
+
This generates fresh genesis files and starts all configured clients with metrics enabled.
25
32
Press `Ctrl+C` to stop all nodes.
26
33
34
+
For custom devnet configurations, go to `lean-quickstart/local-devnet/genesis/validator-config.yaml` and edit the file before running the command above. See `lean-quickstart`'s documentation for more details on how to configure the devnet.
35
+
27
36
## Philosophy
28
37
29
38
Many long-established clients accumulate bloat over time. This often occurs due to the need to support legacy features for existing users or through attempts to implement overly ambitious software. The result is often complex, difficult-to-maintain, and error-prone systems.
@@ -68,7 +77,11 @@ Additional features:
68
77
69
78
### pq-devnet-2
70
79
71
-
We support the [pq-devnet-2 spec](https://github.com/leanEthereum/pm/blob/main/breakout-rooms/leanConsensus/pq-interop/pq-devnet-2.md). A Docker tag `devnet2` is available for this version.
80
+
Support for the [pq-devnet-2 spec](https://github.com/leanEthereum/pm/blob/main/breakout-rooms/leanConsensus/pq-interop/pq-devnet-2.md) will be ending soon (see ["older devnets"](#older-devnets)). A Docker tag `devnet2` is currently available for this version.
81
+
82
+
### pq-devnet-3
83
+
84
+
We are working on adding support for the [pq-devnet-3 spec](https://github.com/leanEthereum/pm/blob/main/breakout-rooms/leanConsensus/pq-interop/pq-devnet-3.md). A Docker tag `devnet3` will be published for this version.
72
85
73
86
### Older devnets
74
87
@@ -80,6 +93,10 @@ Support for older devnet releases is discontinued when the next devnet version i
80
93
81
94
Some features we are looking to implement in the near future, in order of priority:
82
95
83
-
- Checkpoint sync for long-lived networks
84
-
- Observability: more metrics from leanMetrics and better logs
85
-
- RPC endpoints for chain data consumption
96
+
-[Checkpoint sync for long-lived networks](https://github.com/lambdaclass/ethlambda/issues/80)
0 commit comments