From d6b590eede035a931ac1e149d028105da3ff75fa Mon Sep 17 00:00:00 2001 From: pk910 Date: Sat, 4 Jul 2026 03:10:50 +0200 Subject: [PATCH 1/2] spamoor: support auto-starting built-in default spammers --- README.md | 11 +++++++++++ network_params.yaml | 3 +++ src/package_io/input_parser.star | 9 +++++++++ src/package_io/sanity_check.star | 3 +++ src/spamoor/spamoor.star | 14 ++++++++++++++ 5 files changed, 40 insertions(+) diff --git a/README.md b/README.md index c46a7d5d9..dad50f78a 100644 --- a/README.md +++ b/README.md @@ -1706,6 +1706,17 @@ spamoor_params: # config: # throughput: 10 # 10 tx per block spammers: [] + # Start spamoor's built-in "Regular Chain Load" default group on first launch + # (a balanced mix of everyday transaction types sharing a global throughput budget) + start_chainload: false + # Start spamoor's built-in "Fuzzing" default group on first launch + # (EVM execution and transaction-layer fuzzing under a shared throughput budget) + start_fuzzing: false + # A list of additional built-in spamoor defaults (by technical key) to start on first launch + # example: + # - eoatx-heavy + # - blob-average + defaults: [] # A list of optional params that will be passed to the spamoor command for modifying its behaviour extra_args: [] diff --git a/network_params.yaml b/network_params.yaml index 69465a8c2..68f5b5941 100644 --- a/network_params.yaml +++ b/network_params.yaml @@ -160,6 +160,9 @@ spamoor_params: max_cpu: 1000 min_mem: 20 max_mem: 300 + start_chainload: false + start_fuzzing: false + defaults: [] extra_args: [] disruptoor_params: image: ethpandaops/disruptoor:latest diff --git a/src/package_io/input_parser.star b/src/package_io/input_parser.star index a07e21f1a..23f248ac3 100644 --- a/src/package_io/input_parser.star +++ b/src/package_io/input_parser.star @@ -1152,6 +1152,9 @@ def input_parser(plan, input_args): max_mem=result["spamoor_params"]["max_mem"], spammers=result["spamoor_params"]["spammers"], extra_args=result["spamoor_params"]["extra_args"], + start_chainload=result["spamoor_params"]["start_chainload"], + start_fuzzing=result["spamoor_params"]["start_fuzzing"], + defaults=result["spamoor_params"]["defaults"], ), disruptoor_params=struct( image=result["disruptoor_params"]["image"], @@ -2399,6 +2402,12 @@ def get_default_spamoor_params(): "min_mem": 100, "max_mem": 800, "extra_args": [], + # start spamoor's built-in "Regular Chain Load" default group on first launch + "start_chainload": False, + # start spamoor's built-in "Fuzzing" default group on first launch + "start_fuzzing": False, + # additional built-in defaults (by technical key) to start on first launch + "defaults": [], "spammers": [ # default spammers { diff --git a/src/package_io/sanity_check.star b/src/package_io/sanity_check.star index f6e2b38c3..0047dd248 100644 --- a/src/package_io/sanity_check.star +++ b/src/package_io/sanity_check.star @@ -403,6 +403,9 @@ SUBCATEGORY_PARAMS = { "max_mem", "extra_args", "spammers", + "start_chainload", + "start_fuzzing", + "defaults", ], "disruptoor_params": [ "image", diff --git a/src/spamoor/spamoor.star b/src/spamoor/spamoor.star index 2e334a722..43a98a918 100644 --- a/src/spamoor/spamoor.star +++ b/src/spamoor/spamoor.star @@ -137,6 +137,20 @@ def get_config( "--startup-spammer={}".format(config_file_path), ] + # Built-in spamoor defaults (by technical key) to auto-start on first launch. + # start_chainload/start_fuzzing map to the built-in default groups; spamoor_params.defaults + # can list any other default keys. Deduplicated so overlapping entries don't conflict. + startup_defaults = [] + if spamoor_params.start_chainload: + startup_defaults.append("regular-chain-load") + if spamoor_params.start_fuzzing: + startup_defaults.append("fuzzing") + for default_key in spamoor_params.defaults: + if default_key not in startup_defaults: + startup_defaults.append(default_key) + if len(startup_defaults) > 0: + cmd.append("--startup-defaults={}".format(",".join(startup_defaults))) + public_ports = shared_utils.get_additional_service_standard_public_port( port_publisher, constants.HTTP_PORT_ID, From f9bf1fdd5a2acbec9cfe281c540391528b04a39c Mon Sep 17 00:00:00 2001 From: pk910 Date: Wed, 8 Jul 2026 08:37:09 +0200 Subject: [PATCH 2/2] enable `start_chainload` by default --- README.md | 2 +- network_params.yaml | 2 +- src/package_io/input_parser.star | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dad50f78a..b5cb58cf5 100644 --- a/README.md +++ b/README.md @@ -1708,7 +1708,7 @@ spamoor_params: spammers: [] # Start spamoor's built-in "Regular Chain Load" default group on first launch # (a balanced mix of everyday transaction types sharing a global throughput budget) - start_chainload: false + start_chainload: true # Start spamoor's built-in "Fuzzing" default group on first launch # (EVM execution and transaction-layer fuzzing under a shared throughput budget) start_fuzzing: false diff --git a/network_params.yaml b/network_params.yaml index 68f5b5941..3426fdca7 100644 --- a/network_params.yaml +++ b/network_params.yaml @@ -160,7 +160,7 @@ spamoor_params: max_cpu: 1000 min_mem: 20 max_mem: 300 - start_chainload: false + start_chainload: true start_fuzzing: false defaults: [] extra_args: [] diff --git a/src/package_io/input_parser.star b/src/package_io/input_parser.star index 23f248ac3..f2fd9ef2b 100644 --- a/src/package_io/input_parser.star +++ b/src/package_io/input_parser.star @@ -2403,7 +2403,7 @@ def get_default_spamoor_params(): "max_mem": 800, "extra_args": [], # start spamoor's built-in "Regular Chain Load" default group on first launch - "start_chainload": False, + "start_chainload": True, # start spamoor's built-in "Fuzzing" default group on first launch "start_fuzzing": False, # additional built-in defaults (by technical key) to start on first launch