Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
ethereum-package
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
vicotor
ethereum-package
Commits
3ac4d2a4
Unverified
Commit
3ac4d2a4
authored
Mar 19, 2024
by
Barnabas Busa
Committed by
GitHub
Mar 19, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add grandine (#517)
parent
0615cd1b
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
460 additions
and
2 deletions
+460
-2
grandine-all.yaml
.github/tests/grandine-all.yaml
+14
-0
mix.yaml
.github/tests/mix.yaml
+3
-1
README.md
README.md
+1
-1
cl_launcher.star
src/cl/cl_launcher.star
+9
-0
grandine_launcher.star
src/cl/grandine/grandine_launcher.star
+398
-0
constants.star
src/package_io/constants.star
+22
-0
input_parser.star
src/package_io/input_parser.star
+13
-0
No files found.
.github/tests/grandine-all.yaml
0 → 100644
View file @
3ac4d2a4
participants
:
-
el_type
:
geth
cl_type
:
grandine
-
el_type
:
nethermind
cl_type
:
grandine
-
el_type
:
erigon
cl_type
:
grandine
-
el_type
:
besu
cl_type
:
grandine
-
el_type
:
reth
cl_type
:
grandine
-
el_type
:
ethereumjs
cl_type
:
grandine
additional_services
:
[]
.github/tests/mix.yaml
View file @
3ac4d2a4
...
...
@@ -9,6 +9,8 @@ participants:
cl_type
:
lighthouse
-
el_type
:
reth
cl_type
:
lodestar
-
el_type
:
ethereumj
s
-
el_type
:
nimbu
s
cl_type
:
teku
-
el_type
:
ethereumjs
cl_type
:
grandine
additional_services
:
[]
README.md
View file @
3ac4d2a4
...
...
@@ -258,7 +258,7 @@ participants:
# CL(Consensus Layer) Specific flags
# The type of CL client that should be started
# Valid values are nimbus, lighthouse, lodestar, teku,
and prysm
# Valid values are nimbus, lighthouse, lodestar, teku,
prysm, and grandine
cl_type
:
lighthouse
# The Docker image that should be used for the CL client; leave blank to use the default for the client type
...
...
src/cl/cl_launcher.star
View file @
3ac4d2a4
...
...
@@ -3,6 +3,7 @@ lodestar = import_module("./lodestar/lodestar_launcher.star")
nimbus = import_module("./nimbus/nimbus_launcher.star")
prysm = import_module("./prysm/prysm_launcher.star")
teku = import_module("./teku/teku_launcher.star")
grandine = import_module("./grandine/grandine_launcher.star")
constants = import_module("../package_io/constants.star")
input_parser = import_module("../package_io/input_parser.star")
...
...
@@ -76,6 +77,14 @@ def launch(
),
"launch_method": teku.launch,
},
constants.CL_TYPE.grandine: {
"launcher": grandine.new_grandine_launcher(
el_cl_data,
jwt_file,
network_params.network,
),
"launch_method": grandine.launch,
},
}
all_snooper_engine_contexts = []
...
...
src/cl/grandine/grandine_launcher.star
0 → 100644
View file @
3ac4d2a4
This diff is collapsed.
Click to expand it.
src/package_io/constants.star
View file @
3ac4d2a4
...
...
@@ -15,6 +15,7 @@ CL_TYPE = struct(
nimbus="nimbus",
prysm="prysm",
lodestar="lodestar",
grandine="grandine",
)
VC_TYPE = struct(
...
...
@@ -147,6 +148,7 @@ VOLUME_SIZE = {
"teku_volume_size": 500000, # 500GB
"nimbus_volume_size": 500000, # 500GB
"lodestar_volume_size": 500000, # 500GB
"grandine_volume_size": 500000, # 500GB
},
"goerli": {
"geth_volume_size": 800000, # 800GB
...
...
@@ -161,6 +163,7 @@ VOLUME_SIZE = {
"teku_volume_size": 300000, # 300GB
"nimbus_volume_size": 300000, # 300GB
"lodestar_volume_size": 300000, # 300GB
"grandine_volume_size": 300000, # 300GB
},
"sepolia": {
"geth_volume_size": 300000, # 300GB
...
...
@@ -175,6 +178,7 @@ VOLUME_SIZE = {
"teku_volume_size": 150000, # 150GB
"nimbus_volume_size": 150000, # 150GB
"lodestar_volume_size": 150000, # 150GB
"grandine_volume_size": 150000, # 150GB
},
"holesky": {
"geth_volume_size": 100000, # 100GB
...
...
@@ -189,6 +193,7 @@ VOLUME_SIZE = {
"teku_volume_size": 100000, # 100GB
"nimbus_volume_size": 100000, # 100GB
"lodestar_volume_size": 100000, # 100GB
"grandine_volume_size": 100000, # 100GB
},
"devnets": {
"geth_volume_size": 100000, # 100GB
...
...
@@ -203,6 +208,7 @@ VOLUME_SIZE = {
"teku_volume_size": 100000, # 100GB
"nimbus_volume_size": 100000, # 100GB
"lodestar_volume_size": 100000, # 100GB
"grandine_volume_size": 100000, # 100GB
},
"ephemery": {
"geth_volume_size": 5000, # 5GB
...
...
@@ -217,6 +223,7 @@ VOLUME_SIZE = {
"teku_volume_size": 1000, # 1GB
"nimbus_volume_size": 1000, # 1GB
"lodestar_volume_size": 1000, # 1GB
"grandine_volume_size": 1000, # 1GB
},
"kurtosis": {
"geth_volume_size": 5000, # 5GB
...
...
@@ -231,6 +238,7 @@ VOLUME_SIZE = {
"teku_volume_size": 1000, # 1GB
"nimbus_volume_size": 1000, # 1GB
"lodestar_volume_size": 1000, # 1GB
"grandine_volume_size": 1000, # 1GB
},
}
...
...
@@ -260,6 +268,8 @@ RAM_CPU_OVERRIDES = {
"nimbus_max_cpu": 4000, # 4 cores
"lodestar_max_mem": 16384, # 16GB
"lodestar_max_cpu": 4000, # 4 cores
"grandine_max_mem": 16384, # 16GB
"grandine_max_cpu": 4000, # 4 cores
},
"goerli": {
"geth_max_mem": 8192, # 8GB
...
...
@@ -286,6 +296,8 @@ RAM_CPU_OVERRIDES = {
"nimbus_max_cpu": 2000, # 2 cores
"lodestar_max_mem": 8192, # 8GB
"lodestar_max_cpu": 2000, # 2 cores
"grandine_max_mem": 8192, # 8GB
"grandine_max_cpu": 2000, # 2 cores
},
"sepolia": {
"geth_max_mem": 4096, # 4GB
...
...
@@ -312,6 +324,8 @@ RAM_CPU_OVERRIDES = {
"nimbus_max_cpu": 1000, # 1 core
"lodestar_max_mem": 4096, # 4GB
"lodestar_max_cpu": 1000, # 1 core
"grandine_max_mem": 4096, # 4GB
"grandine_max_cpu": 1000, # 1 core
},
"holesky": {
"geth_max_mem": 8192, # 8GB
...
...
@@ -338,6 +352,8 @@ RAM_CPU_OVERRIDES = {
"nimbus_max_cpu": 2000, # 2 cores
"lodestar_max_mem": 8192, # 8GB
"lodestar_max_cpu": 2000, # 2 cores
"grandine_max_mem": 8192, # 8GB
"grandine_max_cpu": 2000, # 2 cores
},
"devnets": {
"geth_max_mem": 4096, # 4GB
...
...
@@ -364,6 +380,8 @@ RAM_CPU_OVERRIDES = {
"nimbus_max_cpu": 1000, # 1 core
"lodestar_max_mem": 4096, # 4GB
"lodestar_max_cpu": 1000, # 1 core
"grandine_max_mem": 4096, # 4GB
"grandine_max_cpu": 1000, # 1 core
},
"ephemery": {
"geth_max_mem": 1024, # 1GB
...
...
@@ -390,6 +408,8 @@ RAM_CPU_OVERRIDES = {
"nimbus_max_cpu": 1000, # 1 core
"lodestar_max_mem": 1024, # 1GB
"lodestar_max_cpu": 1000, # 1 core
"grandine_max_mem": 1024, # 1GB
"grandine_max_cpu": 1000, # 1 core
},
"kurtosis": {
"geth_max_mem": 1024, # 1GB
...
...
@@ -416,5 +436,7 @@ RAM_CPU_OVERRIDES = {
"nimbus_max_cpu": 1000, # 1 core
"lodestar_max_mem": 2048, # 2GB
"lodestar_max_cpu": 1000, # 1 core
"grandine_max_mem": 2048, # 2GB
"grandine_max_cpu": 1000, # 1 core
},
}
src/package_io/input_parser.star
View file @
3ac4d2a4
...
...
@@ -20,6 +20,7 @@ DEFAULT_CL_IMAGES = {
"nimbus": "statusim/nimbus-eth2:multiarch-latest",
"prysm": "gcr.io/prysmaticlabs/prysm/beacon-chain:latest",
"lodestar": "chainsafe/lodestar:latest",
"grandine": "ethpandaops/grandine:develop",
}
DEFAULT_VC_IMAGES = {
...
...
@@ -28,6 +29,7 @@ DEFAULT_VC_IMAGES = {
"nimbus": "statusim/nimbus-validator-client:multiarch-latest",
"prysm": "gcr.io/prysmaticlabs/prysm/validator:latest",
"teku": "consensys/teku:latest",
"grandine": "sifrai/grandine:latest",
}
MEV_BOOST_RELAY_DEFAULT_IMAGE = "flashbots/mev-boost-relay:0.27"
...
...
@@ -381,6 +383,7 @@ def parse_network_params(input_args):
if cl_type in (
constants.CL_TYPE.nimbus,
constants.CL_TYPE.teku,
constants.CL_TYPE.grandine,
):
participant["use_separate_vc"] = False
else:
...
...
@@ -391,6 +394,12 @@ def parse_network_params(input_args):
vc_type = cl_type
participant["vc_type"] = vc_type
if (
cl_type == constants.CL_TYPE.grandine
and vc_type != constants.CL_TYPE.grandine
):
fail("grandine does not support running a different validator client")
vc_image = participant["vc_image"]
if vc_image == "":
if cl_image == "":
...
...
@@ -753,6 +762,8 @@ def enrich_disable_peer_scoring(parsed_arguments_dict):
participant["cl_extra_params"].append("--Xp2p-gossip-scoring-enabled")
if participant["cl_type"] == "lodestar":
participant["cl_extra_params"].append("--disablePeerScoring")
if participant["cl_type"] == "grandine":
participant["cl_extra_params"].append("--disable-peer-scoring")
return parsed_arguments_dict
...
...
@@ -795,6 +806,8 @@ def enrich_mev_extra_params(parsed_arguments_dict, mev_prefix, mev_port, mev_typ
participant["cl_extra_params"].append(
"--http-mev-relay={0}".format(mev_url)
)
if participant["cl_type"] == "grandine":
participant["cl_extra_params"].append("--builder-url={0}".format(mev_url))
num_participants = len(parsed_arguments_dict["participants"])
index_str = shared_utils.zfill_custom(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment