diff --git a/CHANGELOG.md b/CHANGELOG.md index 378d9d2fa..99c838d67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [v1.2.3] - 2023-08-16 + +### Added + +- Support for Erigon in Gnosis. + +### Fixed + +- Issue in Chiado templates with checkpoint sync. +- Fix show error when using containers tags. + +### Changed + +- Update client images. +- Moved xdai to gnosis on Nethermind config. + ## [v1.2.2] - 2023-07-24 ### Changed @@ -15,7 +31,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Issue in Chiado templates with checkpoint sync +- Issue in Chiado templates with checkpoint sync. - Fix show error when using containers tags. - Fix chiado checkpoint sync url. diff --git a/README.md b/README.md index 6b542c397..29901de5e 100644 --- a/README.md +++ b/README.md @@ -158,11 +158,11 @@ Users acknowledge that no warranty is being made of a successful installation. S ### Gnosis -| Execution | Consensus | Validator | -| ------------- | ---------- | ---------- | -| Nethermind | Lighthouse | Lighthouse | -| Erigon (soon) | Lodestar | Lodestar | -| | Teku | Teku | +| Execution | Consensus | Validator | +|-------------| ---------- | ---------- | +| Nethermind | Lighthouse | Lighthouse | +| Erigon | Lodestar | Lodestar | +| | Teku | Teku | ### Chiado (Gnosis testnet) @@ -245,7 +245,7 @@ The following roadmap covers the main features and ideas we want to implement bu ### Version 1.X (Current) -- [ ] Support Erigon on Gnosis +- [x] Support Erigon on Gnosis - [ ] Include monitoring tool for alerting, tracking validator balance, and tracking sync progress and status of nodes - [ ] More tests!!! - [ ] Support for Nimbus client diff --git a/configs/client_images.yaml b/configs/client_images.yaml index d752b6875..b3c119b36 100644 --- a/configs/client_images.yaml +++ b/configs/client_images.yaml @@ -1,7 +1,7 @@ execution: geth: name: ethereum/client-go - version: v1.12.0 + version: v1.12.1 besu: name: hyperledger/besu version: 23.4.4 @@ -20,7 +20,7 @@ consensus: version: v1.9.2 teku: name: consensys/teku - version: 23.6.2 + version: 23.8.0 prysm: name: gcr.io/prysmaticlabs/prysm/beacon-chain version: v4.0.7 @@ -33,7 +33,7 @@ validator: version: v1.9.2 teku: name: consensys/teku - version: 23.6.2 + version: 23.8.0 prysm: name: gcr.io/prysmaticlabs/prysm/validator version: v4.0.7 diff --git a/docs/docs/quickstart/complete-guide.mdx b/docs/docs/quickstart/complete-guide.mdx index 702e23ffe..a5d5f08da 100644 --- a/docs/docs/quickstart/complete-guide.mdx +++ b/docs/docs/quickstart/complete-guide.mdx @@ -41,14 +41,14 @@ want to use another installation method: ``` - curl -L https://github.com/NethermindEth/sedge/releases/download/v1.2.2/sedge-v1.2.2-linux-amd64 --output sedge + curl -L https://github.com/NethermindEth/sedge/releases/download/v1.2.3/sedge-v1.2.3-linux-amd64 --output sedge ``` ``` - wget https://github.com/NethermindEth/sedge/releases/download/v1.2.2/sedge-v1.2.2-linux-amd64 -O sedge + wget https://github.com/NethermindEth/sedge/releases/download/v1.2.3/sedge-v1.2.3-linux-amd64 -O sedge ``` diff --git a/internal/pkg/clients/clients_test.go b/internal/pkg/clients/clients_test.go index fbd185682..ddb40428b 100644 --- a/internal/pkg/clients/clients_test.go +++ b/internal/pkg/clients/clients_test.go @@ -30,7 +30,7 @@ func TestSupportedClients(t *testing.T) { want []string isErr bool }{ - {"execution", "gnosis", []string{"nethermind"}, false}, + {"execution", "gnosis", []string{"nethermind", "erigon"}, false}, {"consensus", "gnosis", utils.Filter(AllClients["consensus"], func(c string) bool { return c != "prysm" }), false}, {"execution", "mainnet", AllClients["execution"], false}, {"consensus", "mainnet", AllClients["consensus"], false}, @@ -132,7 +132,7 @@ func TestClients(t *testing.T) { map[string][]string{ "validator": {"lighthouse", "teku", "lodestar"}, "consensus": {"lighthouse", "teku", "lodestar"}, - "execution": {"nethermind"}, + "execution": {"nethermind", "erigon"}, }, []string{"consensus", "execution", "validator"}, "gnosis", diff --git a/internal/pkg/generate/envs_test.go b/internal/pkg/generate/envs_test.go index 96858a24d..75a1f7b06 100644 --- a/internal/pkg/generate/envs_test.go +++ b/internal/pkg/generate/envs_test.go @@ -178,6 +178,26 @@ func TestGenerateEnvFile(t *testing.T) { "KEYSTORE_DIR": "./keystore", }, }, + { + name: "Check Erigon for Gnosis network", + data: &GenData{ + ExecutionClient: &clients.Client{Name: "erigon"}, + Network: "gnosis", + }, + fieldsToCheck: map[string]string{ + "EL_NETWORK": "gnosis", + }, + }, + { + name: "Check Nethermind for Gnosis network", + data: &GenData{ + ExecutionClient: &clients.Client{Name: "nethermind"}, + Network: "gnosis", + }, + fieldsToCheck: map[string]string{ + "EL_NETWORK": "gnosis", + }, + }, { name: "Check wrong network", data: &GenData{ @@ -203,7 +223,6 @@ func TestGenerateEnvFile(t *testing.T) { ConsensusClient: &clients.Client{Name: "teku"}, }, fieldsToCheck: map[string]string{ - "EL_NETWORK": "xdai", "CL_NETWORK": "gnosis", }, }, diff --git a/internal/pkg/generate/generate_scripts_test.go b/internal/pkg/generate/generate_scripts_test.go index 10b44bcf7..b1720eb23 100644 --- a/internal/pkg/generate/generate_scripts_test.go +++ b/internal/pkg/generate/generate_scripts_test.go @@ -245,12 +245,15 @@ func defaultFunc(t *testing.T, data *GenData, compose, env io.Reader) error { envData := retrieveEnvData(t, env) if data.Network == "gnosis" { // Check that the right network is set - assert.Contains(t, envData, "EL_NETWORK") - assert.Equal(t, "xdai", clean(envData["EL_NETWORK"])) - - assert.Contains(t, envData, "CL_NETWORK") - assert.Equal(t, "gnosis", clean(envData["CL_NETWORK"])) + if data.ExecutionClient != nil { + assert.Contains(t, envData, "EL_NETWORK") + assert.Equal(t, "gnosis", clean(envData["EL_NETWORK"])) + } + if data.ConsensusClient != nil { + assert.Contains(t, envData, "CL_NETWORK") + assert.Equal(t, "gnosis", clean(envData["CL_NETWORK"])) + } } else { // Check that the right network is set assert.Contains(t, envData, "NETWORK") diff --git a/internal/utils/testdata/remote_files/good_file/config.yml b/internal/utils/testdata/remote_files/good_file/config.yml index 9d19bf432..1eb1448f3 100644 --- a/internal/utils/testdata/remote_files/good_file/config.yml +++ b/internal/utils/testdata/remote_files/good_file/config.yml @@ -53,7 +53,7 @@ TARGET_AGGREGATORS_PER_COMMITTEE: 16 RANDOM_SUBNETS_PER_VALIDATOR: 1 # 2**8 (= 256) EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 -# 6 (estimate from xDai mainnet) +# 6 (estimate from Gnosis mainnet) SECONDS_PER_ETH1_BLOCK: 6 # Gwei values diff --git a/templates/envs/gnosis/env_base.tmpl b/templates/envs/gnosis/env_base.tmpl index 0ac010be0..f921ef97a 100644 --- a/templates/envs/gnosis/env_base.tmpl +++ b/templates/envs/gnosis/env_base.tmpl @@ -1,7 +1,7 @@ {{/* docker-compose_base.tmpl */}} {{ define "env" }} # --- Global configuration --- -EL_NETWORK=xdai +EL_NETWORK=gnosis CL_NETWORK=gnosis {{if .FeeRecipient}} FEE_RECIPIENT={{.FeeRecipient}}{{end}} diff --git a/templates/envs/gnosis/execution/erigon.tmpl b/templates/envs/gnosis/execution/erigon.tmpl new file mode 100644 index 000000000..d59695f92 --- /dev/null +++ b/templates/envs/gnosis/execution/erigon.tmpl @@ -0,0 +1,7 @@ +{{/* erigon.tmpl */}} +{{ define "execution" }} +# --- Execution Layer - Execution Node - configuration --- +EC_IMAGE_VERSION={{.ElImage}} +EC_DATA_DIR={{.ElDataDir}} +EC_JWT_SECRET_PATH={{.JWTSecretPath}} +{{ end }} diff --git a/templates/envs/gnosis/execution/nethermind.tmpl b/templates/envs/gnosis/execution/nethermind.tmpl index 25a605fbc..d019a6824 100644 --- a/templates/envs/gnosis/execution/nethermind.tmpl +++ b/templates/envs/gnosis/execution/nethermind.tmpl @@ -1,5 +1,7 @@ {{/* nethermind.tmpl */}} {{ define "execution" }} +EL_NETWORK=gnosis + # --- Execution Layer - Execution Node - configuration --- EC_IMAGE_VERSION={{.ElImage}} NETHERMIND_LOG_LEVEL=INFO