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
f166d714
Unverified
Commit
f166d714
authored
Sep 06, 2023
by
Barnabas Busa
Committed by
GitHub
Sep 06, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add blobspammer (#165)
Changelog picked up from commits here: feat: add blobspammer
parent
21b0975f
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
61 additions
and
4 deletions
+61
-4
main.star
main.star
+15
-1
blob_spammer.star
src/blob_spammer/blob_spammer.star
+46
-0
transaction_spammer.star
src/transaction_spammer/transaction_spammer.star
+0
-3
No files found.
main.star
View file @
f166d714
...
...
@@ -5,6 +5,7 @@ genesis_constants = import_module("github.com/kurtosis-tech/eth-network-package/
eth_network_module = import_module("github.com/kurtosis-tech/eth-network-package/main.star")
transaction_spammer = import_module("github.com/kurtosis-tech/eth2-package/src/transaction_spammer/transaction_spammer.star")
blob_spammer = import_module("github.com/kurtosis-tech/eth2-package/src/blob_spammer/blob_spammer.star")
cl_forkmon = import_module("github.com/kurtosis-tech/eth2-package/src/cl_forkmon/cl_forkmon_launcher.star")
el_forkmon = import_module("github.com/kurtosis-tech/eth2-package/src/el_forkmon/el_forkmon_launcher.star")
beacon_metrics_gazer = import_module("github.com/kurtosis-tech/eth2-package/src/beacon_metrics_gazer/beacon_metrics_gazer_launcher.star")
...
...
@@ -63,7 +64,7 @@ def run(plan, args):
beacon_uri = "{0}:{1}".format(all_cl_client_contexts[0].ip_addr, all_cl_client_contexts[0].http_port_num)
jwt_secret = all_el_client_contexts[0].jwt_secret
endpoint = mock_mev_launcher_module.launch_mock_mev(plan, el_uri, beacon_uri, jwt_secret)
mev_endpoints.append(endpoint)
mev_endpoints.append(endpoint)
elif args_with_right_defaults.mev_type and args_with_right_defaults.mev_type == FULL_MEV_TYPE:
el_uri = "http://{0}:{1}".format(all_el_client_contexts[0].ip_addr, all_el_client_contexts[0].rpc_port_num)
builder_uri = "http://{0}:{1}".format(all_el_client_contexts[-1].ip_addr, all_el_client_contexts[-1].rpc_port_num)
...
...
@@ -102,6 +103,19 @@ def run(plan, args):
transaction_spammer.launch_transaction_spammer(plan, genesis_constants.PRE_FUNDED_ACCOUNTS, all_el_client_contexts[0])
plan.print("Succesfully launched transaction spammer")
plan.print("Launching Blob spammer")
blob_spammer.launch_blob_spammer(
plan,
genesis_constants.PRE_FUNDED_ACCOUNTS,
all_el_client_contexts[0],
all_cl_client_contexts[0],
network_params.deneb_fork_epoch,
network_params.seconds_per_slot,
network_params.slots_per_epoch,
network_params.genesis_delay
)
plan.print("Succesfully launched blob spammer")
# We need a way to do time.sleep
# TODO add code that waits for CL genesis
...
...
src/blob_spammer/blob_spammer.star
0 → 100644
View file @
f166d714
IMAGE_NAME = "ethpandaops/tx-fuzz:latest"
SERVICE_NAME = "blob-spammer"
ENTRYPOINT_ARGS = ["/bin/sh", "-c"]
def launch_blob_spammer(
plan,
prefunded_addresses,
el_client_context,
cl_client_context,
deneb_fork_epoch,
seconds_per_slot,
slots_per_epoch,
genesis_delay):
config = get_config(
prefunded_addresses,
el_client_context,
cl_client_context,
deneb_fork_epoch,
seconds_per_slot,
slots_per_epoch,
genesis_delay)
plan.add_service(SERVICE_NAME, config)
def get_config(
prefunded_addresses,
el_client_context,
cl_client_context,
deneb_fork_epoch,
seconds_per_slot,
slots_per_epoch,
genesis_delay):
dencunTime = (deneb_fork_epoch * slots_per_epoch * seconds_per_slot) + genesis_delay
return ServiceConfig(
image = IMAGE_NAME,
entrypoint = ENTRYPOINT_ARGS,
cmd = [" && ".join([
'apk update',
'apk add curl jq',
'current_epoch=$(curl -s http://{0}:{1}/eth/v2/beacon/blocks/head | jq -r ".version")'.format(cl_client_context.ip_addr, cl_client_context.http_port_num),
'echo $current_epoch',
'while [ $current_epoch != "deneb" ]; do echo "waiting for deneb, current epoch is $current_epoch"; current_epoch=$(curl -s http://{0}:{1}/eth/v2/beacon/blocks/head | jq -r ".version"); sleep {2}; done'.format(cl_client_context.ip_addr, cl_client_context.http_port_num, seconds_per_slot),
'echo "sleep is over, starting to send blob transactions"',
'/tx-fuzz.bin blobs --rpc=http://{0}:{1} --sk={2}'.format(el_client_context.ip_addr, el_client_context.rpc_port_num, prefunded_addresses[1].private_key),
])]
)
src/transaction_spammer/transaction_spammer.star
View file @
f166d714
...
...
@@ -7,9 +7,6 @@ def launch_transaction_spammer(plan, prefunded_addresses, el_client_context):
def get_config(prefunded_addresses, el_client_context):
private_keys_strs = []
address_strs = []
return ServiceConfig(
image = IMAGE_NAME,
cmd = [
...
...
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