Skip to content

Conversation

@oakenknight
Copy link
Member

@oakenknight oakenknight commented Oct 9, 2025

Introducing dex tx spammer to the current spammer implementation.

  • Old functionality is preserved, new one is available using --dex argument.
  • --template argument provides the option to use a specific yaml file and is relevant only when using dex option.
  • Added mempool-monitor as cmd. Running it cargo run --bin malachitebft-eth-utils -- monitor-mempool --poll-interval-ms 1
  • Added gas analyzer. Runing it ./utils/scripts/analyze_gas.py ./utils/logs/<log_file>

@oakenknight oakenknight requested a review from rnbguy October 14, 2025 03:51
@kirdatatjana
Copy link
Contributor

It might be helpful to add log cleanup as part of the make command.

@rnbguy
Copy link
Member

rnbguy commented Oct 16, 2025

how do I setup the dex and try it out on my machine ? I am wondering if it makes sense if we keep the work for dex benchmarking in a separate repo.

@oakenknight
Copy link
Member Author

@kirdatatjana can you help out Rano with deploying the dex from the other repository?

@kirdatatjana
Copy link
Contributor

@oakenknight
Copy link
Member Author

I tested it out with On-chain-dex, so that might be the right choice for evaluating, since I am not sure if Vukasin's tx files are proper

@kirdatatjana
Copy link
Contributor

kirdatatjana commented Nov 10, 2025

In the previous implementation of spammer, when the max queued limit is hit, processing of any transaction is stopped.
The root cause is in this Reth function. It drops the tx from the sender until the pool is under the limit, which creates a gap in our nonce, and doesn't return any errors. The commit c47384e resolves this issue through an asynchronous status checker for pool size, which will reset the nonce once it detects a mismatch with the expected one.
Note: It can happen that after spamming some tx stay in the pool, but that's because the timeout stopped the algorithm. As soon as the spam runs with the same signer again, they will continue to be processed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants