From 4b72692bd9f42aadb56ec48338e97282cc09b93d Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Sat, 4 May 2024 18:21:18 +0300 Subject: [PATCH 01/16] feat: Add Reth image update --- configs/client_images.yaml | 4 ++++ scripts/check-image-updates.sh | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/configs/client_images.yaml b/configs/client_images.yaml index bc14d17db..0cc1a497c 100644 --- a/configs/client_images.yaml +++ b/configs/client_images.yaml @@ -11,6 +11,10 @@ execution: erigon: name: thorax/erigon version: v2.58.1 + reth: + name: ghcr.io/paradigmxyz/reth + version: v0.2.0-beta.6 + consensus: lighthouse: name: sigp/lighthouse diff --git a/scripts/check-image-updates.sh b/scripts/check-image-updates.sh index 19fcc7d45..4a25aa021 100755 --- a/scripts/check-image-updates.sh +++ b/scripts/check-image-updates.sh @@ -40,6 +40,10 @@ update-client "Nethermind" "execution" ".execution.nethermind" "$NETHERMIND_LATE ERIGON_LATEST=$(curl -H "Authorization: Bearer $PAT" -sL https://api.github.com/repos/ledgerwatch/erigon/releases/latest | jq -r ".tag_name") update-client "Erigon" "execution" ".execution.erigon" "$ERIGON_LATEST" +# Reth +RETH_LATEST_VERSION=$(curl -H "Authorization: Bearer $PAT" -sL https://github.com/paradigmxyz/reth/releases/latest | jq -r ".tag_name") +update-client "Reth" "execution" ".execution.reth" "$RETH_LATEST_VERSION" + # Lighthouse LIGHTHOUSE_LATEST_VERSION=$(curl -H "Authorization: Bearer $PAT" -sL https://api.github.com/repos/sigp/lighthouse/releases/latest | jq -r ".tag_name") update-client "Lighthouse" "consensus" ".consensus.lighthouse" "$LIGHTHOUSE_LATEST_VERSION" From ede6c67fd0095a51c9de3f4b4f9ce4c01ac44759 Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Sat, 4 May 2024 21:33:07 +0300 Subject: [PATCH 02/16] feat: Add docker compose in reth.tmpl --- templates/services/merge/execution/reth.tmpl | 44 ++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 templates/services/merge/execution/reth.tmpl diff --git a/templates/services/merge/execution/reth.tmpl b/templates/services/merge/execution/reth.tmpl new file mode 100644 index 000000000..3a07b7d3e --- /dev/null +++ b/templates/services/merge/execution/reth.tmpl @@ -0,0 +1,44 @@ +{{/* reth.tmpl */}} +{{ define "execution" }} + execution: + stop_grace_period: 30m + container_name: sedge-execution-client{{if .ContainerTag}}-{{.ContainerTag}}{{end}} + restart: unless-stopped + image: ${EC_IMAGE_VERSION} + networks: + - sedge + volumes: + - ${EC_DATA_DIR}:/root/.local/share/reth/mainnet + - ${EC_JWT_SECRET_PATH}:/root/jwt:ro + ports: + - "{{.ElDiscoveryPort}}:{{.ElDiscoveryPort}}/tcp" + - "{{.ElDiscoveryPort}}:{{.ElDiscoveryPort}}/udp" + - "{{.ElMetricsPort}}:{{.ElMetricsPort}}/tcp" {{if .MapAllPorts}} + - "{{.ElApiPort}}:{{.ElApiPort}}" + - "{{.ElAuthPort}}:{{.ElAuthPort}}"{{end}} + expose: + - {{.ElApiPort}} + - {{.ElAuthPort}} + pid: host + command: + - node + - --chain={{if .SplittedNetwork}}${EL_NETWORK}{{else}}${NETWORK}{{end}} + - --log.file.directory /root/logs + - --authrpc.addr 0.0.0.0 + - --authrpc.port {{.ElAuthPort}} + - --authrpc.jwtsecret /root/jwt/jwt.hex + - --http + - --http.addr = 0.0.0.0 + - --http.port = {{.ElApiPort}} + - --http.api + - eth,net,web3 + - --metrics + - --metrics.port={{.ElMetricsPort}}{{range $flag := .ElExtraFlags}} + - --{{$flag}}{{end}}{{if .LoggingDriver}} + logging: + driver: "{{.LoggingDriver}}"{{if eq .LoggingDriver "json-file"}} + options: + max-size: "10m" + max-file: "10"{{end}}{{end}} + +{{ end }} From 1aae49a845a4a5004d936c3995eb0959c2f3c1c8 Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Sat, 4 May 2024 21:51:49 +0300 Subject: [PATCH 03/16] feat: Add reth to Mainnet, Holesky, Sepolia envs --- templates/envs/holesky/execution/reth.tmpl | 9 +++++++++ templates/envs/mainnet/execution/reth.tmpl | 9 +++++++++ templates/envs/sepolia/execution/reth.tmpl | 9 +++++++++ 3 files changed, 27 insertions(+) create mode 100644 templates/envs/holesky/execution/reth.tmpl create mode 100644 templates/envs/mainnet/execution/reth.tmpl create mode 100644 templates/envs/sepolia/execution/reth.tmpl diff --git a/templates/envs/holesky/execution/reth.tmpl b/templates/envs/holesky/execution/reth.tmpl new file mode 100644 index 000000000..c11c99af9 --- /dev/null +++ b/templates/envs/holesky/execution/reth.tmpl @@ -0,0 +1,9 @@ +{{/* reth.tmpl */}} +{{ define "execution" }} +# --- Execution Layer - Execution Node - configuration --- +EC_IMAGE_VERSION={{.ElImage}} +RETH_LOG_LEVEL=info +EC_DATA_DIR={{.ElDataDir}} +EC_SYNC_MODE=snap +EC_JWT_SECRET_PATH={{.JWTSecretPath}} +{{ end }} \ No newline at end of file diff --git a/templates/envs/mainnet/execution/reth.tmpl b/templates/envs/mainnet/execution/reth.tmpl new file mode 100644 index 000000000..c11c99af9 --- /dev/null +++ b/templates/envs/mainnet/execution/reth.tmpl @@ -0,0 +1,9 @@ +{{/* reth.tmpl */}} +{{ define "execution" }} +# --- Execution Layer - Execution Node - configuration --- +EC_IMAGE_VERSION={{.ElImage}} +RETH_LOG_LEVEL=info +EC_DATA_DIR={{.ElDataDir}} +EC_SYNC_MODE=snap +EC_JWT_SECRET_PATH={{.JWTSecretPath}} +{{ end }} \ No newline at end of file diff --git a/templates/envs/sepolia/execution/reth.tmpl b/templates/envs/sepolia/execution/reth.tmpl new file mode 100644 index 000000000..c11c99af9 --- /dev/null +++ b/templates/envs/sepolia/execution/reth.tmpl @@ -0,0 +1,9 @@ +{{/* reth.tmpl */}} +{{ define "execution" }} +# --- Execution Layer - Execution Node - configuration --- +EC_IMAGE_VERSION={{.ElImage}} +RETH_LOG_LEVEL=info +EC_DATA_DIR={{.ElDataDir}} +EC_SYNC_MODE=snap +EC_JWT_SECRET_PATH={{.JWTSecretPath}} +{{ end }} \ No newline at end of file From 9835ff88996829d243f811d630e948cdac0b2c3d Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Sat, 4 May 2024 22:03:58 +0300 Subject: [PATCH 04/16] feat: Update documentation, Readme.md, and CHANGELOG.md --- CHANGELOG.md | 4 ++++ README.md | 3 +++ docs/docs/commands/clients.mdx | 3 +++ docs/docs/networks/holesky.mdx | 1 + docs/docs/networks/mainnet.mdx | 1 + docs/docs/networks/sepolia.mdx | 1 + 6 files changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed4afa0c7..365e47c3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Add support for Reth client + ### Changed - Update client images to Dencun-ready versions. diff --git a/README.md b/README.md index b4146c0e1..3e0bc3107 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,7 @@ Users acknowledge that no warranty is being made of a successful installation. S | Nethermind | Lodestar | Lodestar | | Erigon | Prysm | Prysm | | Besu | Teku | Teku | +| Reth | | | ### Sepolia @@ -146,6 +147,7 @@ Users acknowledge that no warranty is being made of a successful installation. S | Nethermind | Lodestar | Lodestar | | Erigon | Prysm | Prysm | | Besu | Teku | Teku | +| Reth | | | ### Holesky @@ -155,6 +157,7 @@ Users acknowledge that no warranty is being made of a successful installation. S | Nethermind | Lodestar | Lodestar | | Erigon | Teku | Teku | | Besu | Prysm | Prysm | +| Reth | | | ### Gnosis diff --git a/docs/docs/commands/clients.mdx b/docs/docs/commands/clients.mdx index 210be660a..5b51c73c2 100644 --- a/docs/docs/commands/clients.mdx +++ b/docs/docs/commands/clients.mdx @@ -65,6 +65,7 @@ $ sedge clients 2 geth teku teku 3 erigon lodestar lodestar 4 besu prysm prysm + 5 reth - - 2023-10-13 14:13:45 -- [INFO] Listing supported clients for network mainnet @@ -74,6 +75,7 @@ $ sedge clients 2 geth prysm prysm 3 erigon teku teku 4 besu lodestar lodestar + 5 reth - - 2023-10-13 14:13:45 -- [INFO] Listing supported clients for network sepolia @@ -83,4 +85,5 @@ $ sedge clients 2 geth prysm prysm 3 erigon teku teku 4 besu lodestar lodestar + 5 reth - - ``` \ No newline at end of file diff --git a/docs/docs/networks/holesky.mdx b/docs/docs/networks/holesky.mdx index 862fbd7a4..4593a6e49 100644 --- a/docs/docs/networks/holesky.mdx +++ b/docs/docs/networks/holesky.mdx @@ -12,6 +12,7 @@ Holesky is Ethereum's public testnet that serves as a technical experimentation - [Geth](https://geth.ethereum.org/docs/) - [Erigon](https://github.com/ledgerwatch/erigon) - [Besu](https://besu.hyperledger.org/en/stable/) +- [Reth](https://paradigmxyz.github.io/reth/) ## Supported Consensus Clients - [Lighthouse](https://lighthouse-book.sigmaprime.io/) diff --git a/docs/docs/networks/mainnet.mdx b/docs/docs/networks/mainnet.mdx index e12e0e19c..5eb08953f 100644 --- a/docs/docs/networks/mainnet.mdx +++ b/docs/docs/networks/mainnet.mdx @@ -14,6 +14,7 @@ secured by the Proof-of-Stake (PoS) algorithm. - [Geth](https://geth.ethereum.org/docs/) - [Erigon](https://github.com/ledgerwatch/erigon) - [Besu](https://besu.hyperledger.org/en/stable/) +- [Reth](https://paradigmxyz.github.io/reth/) ## Supported Consensus Clients - [Lighthouse](https://lighthouse-book.sigmaprime.io/) diff --git a/docs/docs/networks/sepolia.mdx b/docs/docs/networks/sepolia.mdx index c60fbb91b..16d5718aa 100644 --- a/docs/docs/networks/sepolia.mdx +++ b/docs/docs/networks/sepolia.mdx @@ -12,6 +12,7 @@ Sepolia is a permissioned Ethereum test network. It is one of the testnets that - [Geth](https://geth.ethereum.org/docs/) - [Erigon](https://github.com/ledgerwatch/erigon) - [Besu](https://besu.hyperledger.org/en/stable/) +- [Reth](https://paradigmxyz.github.io/reth/) ## Supported Consensus Clients - [Lighthouse](https://lighthouse-book.sigmaprime.io/) From 50309b0308a88c47d6d0fc6022ae3a740d0daa1f Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Mon, 20 May 2024 22:15:36 +0300 Subject: [PATCH 05/16] feat: update reth image in check-image-updates.sh --- scripts/check-image-updates.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/check-image-updates.sh b/scripts/check-image-updates.sh index 4a25aa021..0b83d1523 100755 --- a/scripts/check-image-updates.sh +++ b/scripts/check-image-updates.sh @@ -41,7 +41,7 @@ ERIGON_LATEST=$(curl -H "Authorization: Bearer $PAT" -sL https://api.github.com/ update-client "Erigon" "execution" ".execution.erigon" "$ERIGON_LATEST" # Reth -RETH_LATEST_VERSION=$(curl -H "Authorization: Bearer $PAT" -sL https://github.com/paradigmxyz/reth/releases/latest | jq -r ".tag_name") +RETH_LATEST_VERSION=$(curl -H "Authorization: Bearer $PAT" -sL https://api.github.com/paradigmxyz/reth/releases/latest | jq -r ".tag_name") update-client "Reth" "execution" ".execution.reth" "$RETH_LATEST_VERSION" # Lighthouse From 42041d58758a0a53dd9346dde73b0350d582c228 Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Tue, 28 May 2024 19:05:42 +0300 Subject: [PATCH 06/16] feat: add reth as execution client --- configs/images.go | 1 + internal/pkg/clients/init.go | 1 + internal/pkg/clients/types.go | 2 ++ 3 files changed, 4 insertions(+) diff --git a/configs/images.go b/configs/images.go index bafc4b7a5..6f9685df2 100644 --- a/configs/images.go +++ b/configs/images.go @@ -23,6 +23,7 @@ var ClientImages struct { Besu Image `yaml:"besu"` Nethermind Image `yaml:"nethermind"` Erigon Image `yaml:"erigon"` + Reth Image `yaml:"reth"` } Consensus struct { Lighthouse Image `yaml:"lighthouse"` diff --git a/internal/pkg/clients/init.go b/internal/pkg/clients/init.go index e5e06ea77..6da4a1348 100644 --- a/internal/pkg/clients/init.go +++ b/internal/pkg/clients/init.go @@ -21,6 +21,7 @@ var AllClients map[string][]string = map[string][]string{ "geth", "erigon", "besu", + "reth", }, "consensus": { "lighthouse", diff --git a/internal/pkg/clients/types.go b/internal/pkg/clients/types.go index edbc58830..933d02dcc 100644 --- a/internal/pkg/clients/types.go +++ b/internal/pkg/clients/types.go @@ -47,6 +47,8 @@ func (c *Client) setExecutionImage(image string) { c.Image = valueOrDefault(image, configs.ClientImages.Execution.Nethermind.String()) case "erigon": c.Image = valueOrDefault(image, configs.ClientImages.Execution.Erigon.String()) + case "reth": + c.Image = valueOrDefault(image, configs.ClientImages.Execution.Reth.String()) } } From 76993750839bfe34a814ecdf5c3f274ee7d044f7 Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Tue, 28 May 2024 19:58:50 +0300 Subject: [PATCH 07/16] feat: update clients_test.go --- internal/pkg/clients/clients_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/pkg/clients/clients_test.go b/internal/pkg/clients/clients_test.go index ddb40428b..dec2aee85 100644 --- a/internal/pkg/clients/clients_test.go +++ b/internal/pkg/clients/clients_test.go @@ -93,7 +93,7 @@ func TestClients(t *testing.T) { map[string][]string{ "consensus": {"lighthouse", "prysm", "teku", "lodestar"}, "validator": {"lighthouse", "prysm", "teku", "lodestar"}, - "execution": {"nethermind", "geth", "besu", "erigon"}, + "execution": {"nethermind", "geth", "besu", "erigon", "reth"}, }, []string{"consensus"}, "mainnet", @@ -112,7 +112,7 @@ func TestClients(t *testing.T) { { map[string][]string{ "validator": {"lighthouse", "prysm", "teku", "lodestar"}, - "execution": {"nethermind", "geth", "besu", "erigon"}, + "execution": {"nethermind", "geth", "besu", "erigon", "reth"}, }, []string{"execution", "validator"}, "mainnet", @@ -122,7 +122,7 @@ func TestClients(t *testing.T) { map[string][]string{ "validator": {"lighthouse", "prysm", "teku", "lodestar"}, "consensus": {"lighthouse", "prysm", "teku", "lodestar"}, - "execution": {"nethermind", "geth", "besu", "erigon"}, + "execution": {"nethermind", "geth", "besu", "erigon","reth"}, }, []string{"consensus", "other"}, "mainnet", From dbc7669c3065fb69e86b87b2b9693e27ef83ec7b Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Sat, 4 May 2024 18:21:18 +0300 Subject: [PATCH 08/16] feat: Add Reth image update --- configs/client_images.yaml | 4 ++++ scripts/check-image-updates.sh | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/configs/client_images.yaml b/configs/client_images.yaml index bc14d17db..0cc1a497c 100644 --- a/configs/client_images.yaml +++ b/configs/client_images.yaml @@ -11,6 +11,10 @@ execution: erigon: name: thorax/erigon version: v2.58.1 + reth: + name: ghcr.io/paradigmxyz/reth + version: v0.2.0-beta.6 + consensus: lighthouse: name: sigp/lighthouse diff --git a/scripts/check-image-updates.sh b/scripts/check-image-updates.sh index 19fcc7d45..4a25aa021 100755 --- a/scripts/check-image-updates.sh +++ b/scripts/check-image-updates.sh @@ -40,6 +40,10 @@ update-client "Nethermind" "execution" ".execution.nethermind" "$NETHERMIND_LATE ERIGON_LATEST=$(curl -H "Authorization: Bearer $PAT" -sL https://api.github.com/repos/ledgerwatch/erigon/releases/latest | jq -r ".tag_name") update-client "Erigon" "execution" ".execution.erigon" "$ERIGON_LATEST" +# Reth +RETH_LATEST_VERSION=$(curl -H "Authorization: Bearer $PAT" -sL https://github.com/paradigmxyz/reth/releases/latest | jq -r ".tag_name") +update-client "Reth" "execution" ".execution.reth" "$RETH_LATEST_VERSION" + # Lighthouse LIGHTHOUSE_LATEST_VERSION=$(curl -H "Authorization: Bearer $PAT" -sL https://api.github.com/repos/sigp/lighthouse/releases/latest | jq -r ".tag_name") update-client "Lighthouse" "consensus" ".consensus.lighthouse" "$LIGHTHOUSE_LATEST_VERSION" From 2d5962a6b1839303f526985bb80b297e5cd0ab59 Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Sat, 4 May 2024 21:33:07 +0300 Subject: [PATCH 09/16] feat: Add docker compose in reth.tmpl --- templates/services/merge/execution/reth.tmpl | 44 ++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 templates/services/merge/execution/reth.tmpl diff --git a/templates/services/merge/execution/reth.tmpl b/templates/services/merge/execution/reth.tmpl new file mode 100644 index 000000000..3a07b7d3e --- /dev/null +++ b/templates/services/merge/execution/reth.tmpl @@ -0,0 +1,44 @@ +{{/* reth.tmpl */}} +{{ define "execution" }} + execution: + stop_grace_period: 30m + container_name: sedge-execution-client{{if .ContainerTag}}-{{.ContainerTag}}{{end}} + restart: unless-stopped + image: ${EC_IMAGE_VERSION} + networks: + - sedge + volumes: + - ${EC_DATA_DIR}:/root/.local/share/reth/mainnet + - ${EC_JWT_SECRET_PATH}:/root/jwt:ro + ports: + - "{{.ElDiscoveryPort}}:{{.ElDiscoveryPort}}/tcp" + - "{{.ElDiscoveryPort}}:{{.ElDiscoveryPort}}/udp" + - "{{.ElMetricsPort}}:{{.ElMetricsPort}}/tcp" {{if .MapAllPorts}} + - "{{.ElApiPort}}:{{.ElApiPort}}" + - "{{.ElAuthPort}}:{{.ElAuthPort}}"{{end}} + expose: + - {{.ElApiPort}} + - {{.ElAuthPort}} + pid: host + command: + - node + - --chain={{if .SplittedNetwork}}${EL_NETWORK}{{else}}${NETWORK}{{end}} + - --log.file.directory /root/logs + - --authrpc.addr 0.0.0.0 + - --authrpc.port {{.ElAuthPort}} + - --authrpc.jwtsecret /root/jwt/jwt.hex + - --http + - --http.addr = 0.0.0.0 + - --http.port = {{.ElApiPort}} + - --http.api + - eth,net,web3 + - --metrics + - --metrics.port={{.ElMetricsPort}}{{range $flag := .ElExtraFlags}} + - --{{$flag}}{{end}}{{if .LoggingDriver}} + logging: + driver: "{{.LoggingDriver}}"{{if eq .LoggingDriver "json-file"}} + options: + max-size: "10m" + max-file: "10"{{end}}{{end}} + +{{ end }} From 731f0be88fab51cad9b0e36b08271321df2e1945 Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Sat, 4 May 2024 21:51:49 +0300 Subject: [PATCH 10/16] feat: Add reth to Mainnet, Holesky, Sepolia envs --- templates/envs/holesky/execution/reth.tmpl | 9 +++++++++ templates/envs/mainnet/execution/reth.tmpl | 9 +++++++++ templates/envs/sepolia/execution/reth.tmpl | 9 +++++++++ 3 files changed, 27 insertions(+) create mode 100644 templates/envs/holesky/execution/reth.tmpl create mode 100644 templates/envs/mainnet/execution/reth.tmpl create mode 100644 templates/envs/sepolia/execution/reth.tmpl diff --git a/templates/envs/holesky/execution/reth.tmpl b/templates/envs/holesky/execution/reth.tmpl new file mode 100644 index 000000000..c11c99af9 --- /dev/null +++ b/templates/envs/holesky/execution/reth.tmpl @@ -0,0 +1,9 @@ +{{/* reth.tmpl */}} +{{ define "execution" }} +# --- Execution Layer - Execution Node - configuration --- +EC_IMAGE_VERSION={{.ElImage}} +RETH_LOG_LEVEL=info +EC_DATA_DIR={{.ElDataDir}} +EC_SYNC_MODE=snap +EC_JWT_SECRET_PATH={{.JWTSecretPath}} +{{ end }} \ No newline at end of file diff --git a/templates/envs/mainnet/execution/reth.tmpl b/templates/envs/mainnet/execution/reth.tmpl new file mode 100644 index 000000000..c11c99af9 --- /dev/null +++ b/templates/envs/mainnet/execution/reth.tmpl @@ -0,0 +1,9 @@ +{{/* reth.tmpl */}} +{{ define "execution" }} +# --- Execution Layer - Execution Node - configuration --- +EC_IMAGE_VERSION={{.ElImage}} +RETH_LOG_LEVEL=info +EC_DATA_DIR={{.ElDataDir}} +EC_SYNC_MODE=snap +EC_JWT_SECRET_PATH={{.JWTSecretPath}} +{{ end }} \ No newline at end of file diff --git a/templates/envs/sepolia/execution/reth.tmpl b/templates/envs/sepolia/execution/reth.tmpl new file mode 100644 index 000000000..c11c99af9 --- /dev/null +++ b/templates/envs/sepolia/execution/reth.tmpl @@ -0,0 +1,9 @@ +{{/* reth.tmpl */}} +{{ define "execution" }} +# --- Execution Layer - Execution Node - configuration --- +EC_IMAGE_VERSION={{.ElImage}} +RETH_LOG_LEVEL=info +EC_DATA_DIR={{.ElDataDir}} +EC_SYNC_MODE=snap +EC_JWT_SECRET_PATH={{.JWTSecretPath}} +{{ end }} \ No newline at end of file From e4b8e51e3a0583cd6ddf45d23afc7aa8d400a398 Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Sat, 4 May 2024 22:03:58 +0300 Subject: [PATCH 11/16] feat: Update documentation, Readme.md, and CHANGELOG.md --- CHANGELOG.md | 4 ++++ README.md | 3 +++ docs/docs/commands/clients.mdx | 3 +++ docs/docs/networks/holesky.mdx | 1 + docs/docs/networks/mainnet.mdx | 1 + docs/docs/networks/sepolia.mdx | 1 + 6 files changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed4afa0c7..365e47c3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Add support for Reth client + ### Changed - Update client images to Dencun-ready versions. diff --git a/README.md b/README.md index b4146c0e1..3e0bc3107 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,7 @@ Users acknowledge that no warranty is being made of a successful installation. S | Nethermind | Lodestar | Lodestar | | Erigon | Prysm | Prysm | | Besu | Teku | Teku | +| Reth | | | ### Sepolia @@ -146,6 +147,7 @@ Users acknowledge that no warranty is being made of a successful installation. S | Nethermind | Lodestar | Lodestar | | Erigon | Prysm | Prysm | | Besu | Teku | Teku | +| Reth | | | ### Holesky @@ -155,6 +157,7 @@ Users acknowledge that no warranty is being made of a successful installation. S | Nethermind | Lodestar | Lodestar | | Erigon | Teku | Teku | | Besu | Prysm | Prysm | +| Reth | | | ### Gnosis diff --git a/docs/docs/commands/clients.mdx b/docs/docs/commands/clients.mdx index 210be660a..5b51c73c2 100644 --- a/docs/docs/commands/clients.mdx +++ b/docs/docs/commands/clients.mdx @@ -65,6 +65,7 @@ $ sedge clients 2 geth teku teku 3 erigon lodestar lodestar 4 besu prysm prysm + 5 reth - - 2023-10-13 14:13:45 -- [INFO] Listing supported clients for network mainnet @@ -74,6 +75,7 @@ $ sedge clients 2 geth prysm prysm 3 erigon teku teku 4 besu lodestar lodestar + 5 reth - - 2023-10-13 14:13:45 -- [INFO] Listing supported clients for network sepolia @@ -83,4 +85,5 @@ $ sedge clients 2 geth prysm prysm 3 erigon teku teku 4 besu lodestar lodestar + 5 reth - - ``` \ No newline at end of file diff --git a/docs/docs/networks/holesky.mdx b/docs/docs/networks/holesky.mdx index 862fbd7a4..4593a6e49 100644 --- a/docs/docs/networks/holesky.mdx +++ b/docs/docs/networks/holesky.mdx @@ -12,6 +12,7 @@ Holesky is Ethereum's public testnet that serves as a technical experimentation - [Geth](https://geth.ethereum.org/docs/) - [Erigon](https://github.com/ledgerwatch/erigon) - [Besu](https://besu.hyperledger.org/en/stable/) +- [Reth](https://paradigmxyz.github.io/reth/) ## Supported Consensus Clients - [Lighthouse](https://lighthouse-book.sigmaprime.io/) diff --git a/docs/docs/networks/mainnet.mdx b/docs/docs/networks/mainnet.mdx index e12e0e19c..5eb08953f 100644 --- a/docs/docs/networks/mainnet.mdx +++ b/docs/docs/networks/mainnet.mdx @@ -14,6 +14,7 @@ secured by the Proof-of-Stake (PoS) algorithm. - [Geth](https://geth.ethereum.org/docs/) - [Erigon](https://github.com/ledgerwatch/erigon) - [Besu](https://besu.hyperledger.org/en/stable/) +- [Reth](https://paradigmxyz.github.io/reth/) ## Supported Consensus Clients - [Lighthouse](https://lighthouse-book.sigmaprime.io/) diff --git a/docs/docs/networks/sepolia.mdx b/docs/docs/networks/sepolia.mdx index c60fbb91b..16d5718aa 100644 --- a/docs/docs/networks/sepolia.mdx +++ b/docs/docs/networks/sepolia.mdx @@ -12,6 +12,7 @@ Sepolia is a permissioned Ethereum test network. It is one of the testnets that - [Geth](https://geth.ethereum.org/docs/) - [Erigon](https://github.com/ledgerwatch/erigon) - [Besu](https://besu.hyperledger.org/en/stable/) +- [Reth](https://paradigmxyz.github.io/reth/) ## Supported Consensus Clients - [Lighthouse](https://lighthouse-book.sigmaprime.io/) From 26fc6afc26c3208b382fa5c030c9224d3af5483c Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Mon, 20 May 2024 22:15:36 +0300 Subject: [PATCH 12/16] feat: update reth image in check-image-updates.sh --- scripts/check-image-updates.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/check-image-updates.sh b/scripts/check-image-updates.sh index 4a25aa021..0b83d1523 100755 --- a/scripts/check-image-updates.sh +++ b/scripts/check-image-updates.sh @@ -41,7 +41,7 @@ ERIGON_LATEST=$(curl -H "Authorization: Bearer $PAT" -sL https://api.github.com/ update-client "Erigon" "execution" ".execution.erigon" "$ERIGON_LATEST" # Reth -RETH_LATEST_VERSION=$(curl -H "Authorization: Bearer $PAT" -sL https://github.com/paradigmxyz/reth/releases/latest | jq -r ".tag_name") +RETH_LATEST_VERSION=$(curl -H "Authorization: Bearer $PAT" -sL https://api.github.com/paradigmxyz/reth/releases/latest | jq -r ".tag_name") update-client "Reth" "execution" ".execution.reth" "$RETH_LATEST_VERSION" # Lighthouse From 8dff99dba68b3427a22cdd80206b3716a3eb8959 Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Tue, 28 May 2024 19:05:42 +0300 Subject: [PATCH 13/16] feat: add reth as execution client --- configs/images.go | 1 + internal/pkg/clients/init.go | 1 + internal/pkg/clients/types.go | 2 ++ 3 files changed, 4 insertions(+) diff --git a/configs/images.go b/configs/images.go index bafc4b7a5..6f9685df2 100644 --- a/configs/images.go +++ b/configs/images.go @@ -23,6 +23,7 @@ var ClientImages struct { Besu Image `yaml:"besu"` Nethermind Image `yaml:"nethermind"` Erigon Image `yaml:"erigon"` + Reth Image `yaml:"reth"` } Consensus struct { Lighthouse Image `yaml:"lighthouse"` diff --git a/internal/pkg/clients/init.go b/internal/pkg/clients/init.go index e5e06ea77..6da4a1348 100644 --- a/internal/pkg/clients/init.go +++ b/internal/pkg/clients/init.go @@ -21,6 +21,7 @@ var AllClients map[string][]string = map[string][]string{ "geth", "erigon", "besu", + "reth", }, "consensus": { "lighthouse", diff --git a/internal/pkg/clients/types.go b/internal/pkg/clients/types.go index edbc58830..933d02dcc 100644 --- a/internal/pkg/clients/types.go +++ b/internal/pkg/clients/types.go @@ -47,6 +47,8 @@ func (c *Client) setExecutionImage(image string) { c.Image = valueOrDefault(image, configs.ClientImages.Execution.Nethermind.String()) case "erigon": c.Image = valueOrDefault(image, configs.ClientImages.Execution.Erigon.String()) + case "reth": + c.Image = valueOrDefault(image, configs.ClientImages.Execution.Reth.String()) } } From a9e8b752232cb21eb72ec8bab1f4169e961cc265 Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Tue, 28 May 2024 19:58:50 +0300 Subject: [PATCH 14/16] feat: update clients_test.go --- internal/pkg/clients/clients_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/pkg/clients/clients_test.go b/internal/pkg/clients/clients_test.go index ddb40428b..dec2aee85 100644 --- a/internal/pkg/clients/clients_test.go +++ b/internal/pkg/clients/clients_test.go @@ -93,7 +93,7 @@ func TestClients(t *testing.T) { map[string][]string{ "consensus": {"lighthouse", "prysm", "teku", "lodestar"}, "validator": {"lighthouse", "prysm", "teku", "lodestar"}, - "execution": {"nethermind", "geth", "besu", "erigon"}, + "execution": {"nethermind", "geth", "besu", "erigon", "reth"}, }, []string{"consensus"}, "mainnet", @@ -112,7 +112,7 @@ func TestClients(t *testing.T) { { map[string][]string{ "validator": {"lighthouse", "prysm", "teku", "lodestar"}, - "execution": {"nethermind", "geth", "besu", "erigon"}, + "execution": {"nethermind", "geth", "besu", "erigon", "reth"}, }, []string{"execution", "validator"}, "mainnet", @@ -122,7 +122,7 @@ func TestClients(t *testing.T) { map[string][]string{ "validator": {"lighthouse", "prysm", "teku", "lodestar"}, "consensus": {"lighthouse", "prysm", "teku", "lodestar"}, - "execution": {"nethermind", "geth", "besu", "erigon"}, + "execution": {"nethermind", "geth", "besu", "erigon","reth"}, }, []string{"consensus", "other"}, "mainnet", From 320a3463a373d4a2de44d3d2f6fb7a09b3e2199c Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Mon, 3 Jun 2024 14:43:15 +0300 Subject: [PATCH 15/16] feat: update reth.tmpl --- internal/pkg/clients/clients_test.go | 2 +- templates/services/merge/execution/reth.tmpl | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/internal/pkg/clients/clients_test.go b/internal/pkg/clients/clients_test.go index dec2aee85..cf6a0b065 100644 --- a/internal/pkg/clients/clients_test.go +++ b/internal/pkg/clients/clients_test.go @@ -122,7 +122,7 @@ func TestClients(t *testing.T) { map[string][]string{ "validator": {"lighthouse", "prysm", "teku", "lodestar"}, "consensus": {"lighthouse", "prysm", "teku", "lodestar"}, - "execution": {"nethermind", "geth", "besu", "erigon","reth"}, + "execution": {"nethermind", "geth", "besu", "erigon", "reth"}, }, []string{"consensus", "other"}, "mainnet", diff --git a/templates/services/merge/execution/reth.tmpl b/templates/services/merge/execution/reth.tmpl index 3a07b7d3e..75a21a4e0 100644 --- a/templates/services/merge/execution/reth.tmpl +++ b/templates/services/merge/execution/reth.tmpl @@ -19,26 +19,24 @@ expose: - {{.ElApiPort}} - {{.ElAuthPort}} - pid: host command: - node - --chain={{if .SplittedNetwork}}${EL_NETWORK}{{else}}${NETWORK}{{end}} - - --log.file.directory /root/logs - - --authrpc.addr 0.0.0.0 - - --authrpc.port {{.ElAuthPort}} - - --authrpc.jwtsecret /root/jwt/jwt.hex + - --log.file.directory=/root/logs + - --authrpc.addr=0.0.0.0 + - --authrpc.port={{.ElAuthPort}} + - --authrpc.jwtsecret=/root/jwt/jwt.hex - --http - - --http.addr = 0.0.0.0 - - --http.port = {{.ElApiPort}} + - --http.addr=0.0.0.0 + - --http.port={{.ElApiPort}} - --http.api - eth,net,web3 - --metrics - --metrics.port={{.ElMetricsPort}}{{range $flag := .ElExtraFlags}} - --{{$flag}}{{end}}{{if .LoggingDriver}} - logging: + logging: driver: "{{.LoggingDriver}}"{{if eq .LoggingDriver "json-file"}} options: max-size: "10m" max-file: "10"{{end}}{{end}} - {{ end }} From 2b4254353260459fee8590463b1ad29ad51df8d9 Mon Sep 17 00:00:00 2001 From: Haneen Khalifa Date: Mon, 3 Jun 2024 16:10:52 +0300 Subject: [PATCH 16/16] feat: adjust reth.tmpl --- templates/services/merge/execution/reth.tmpl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/templates/services/merge/execution/reth.tmpl b/templates/services/merge/execution/reth.tmpl index 75a21a4e0..f93f1426c 100644 --- a/templates/services/merge/execution/reth.tmpl +++ b/templates/services/merge/execution/reth.tmpl @@ -9,7 +9,8 @@ - sedge volumes: - ${EC_DATA_DIR}:/root/.local/share/reth/mainnet - - ${EC_JWT_SECRET_PATH}:/root/jwt:ro + - ${EC_JWT_SECRET_PATH}:/root/jwt + pid: host ports: - "{{.ElDiscoveryPort}}:{{.ElDiscoveryPort}}/tcp" - "{{.ElDiscoveryPort}}:{{.ElDiscoveryPort}}/udp" @@ -25,14 +26,13 @@ - --log.file.directory=/root/logs - --authrpc.addr=0.0.0.0 - --authrpc.port={{.ElAuthPort}} - - --authrpc.jwtsecret=/root/jwt/jwt.hex + - --authrpc.jwtsecret=/root/jwt - --http - --http.addr=0.0.0.0 - --http.port={{.ElApiPort}} - --http.api - eth,net,web3 - - --metrics - - --metrics.port={{.ElMetricsPort}}{{range $flag := .ElExtraFlags}} + - --metrics=0.0.0.0:{{.ElMetricsPort}}{{range $flag := .ElExtraFlags}} - --{{$flag}}{{end}}{{if .LoggingDriver}} logging: driver: "{{.LoggingDriver}}"{{if eq .LoggingDriver "json-file"}}