Spamoor is a powerful tool for generating various types of random transactions on Ethereum testnets. Perfect for stress testing, network validation, or continuous transaction testing.
# Using Docker
docker run ethpandaops/spamoor
# Building from source
git clone https://github.com/ethpandaops/spamoor.git
cd spamoor
make
./bin/spamoor
spamoor <scenario> [flags]
All scenarios require:
--privkey
- Private key for the sending wallet--rpchost
- RPC endpoint(s) to send transactions to
Spamoor provides multiple scenarios for different transaction types:
Scenario | Description |
---|---|
eoatx |
EOA Transactions Send standard EOA transactions with configurable amounts and targets |
erctx |
ERC20 Transactions Deploy a ERC20 contract and transfer tokens |
deploytx |
Contract Deployments Deploy contracts with custom bytecode |
deploy-destruct |
Self-Destruct Deployments Deploy contracts that self-destruct |
setcodetx |
Set Code Transactions Send EIP-7702 setcode-transactions with various settings |
uniswap-swaps |
Uniswap Swaps Deploy and perform token swaps on Uniswap V2 pools |
blobs |
Blob Transactions Send blob transactions with random data |
blob-replacements |
Blob Replacements Send and replace blob transactions |
blob-conflicting |
Conflicting Blobs Send conflicting blob and normal transactions |
blob-combined |
Combined Blob Testing Randomized combination of all blob scenarios |
gasburnertx |
Gas Burner Send transactions that burn specific amounts of gas |
Spamoor also includes a daemon mode with web UI for managing multiple spammers. It allows you to create, monitor, and control spammers through a user interface or programmatically via HTTP endpoints.
spamoor-daemon [flags]
-d, --db string The file to store the database in (default "spamoor.db")
--debug Run the tool in debug mode
-h, --rpchost strings The RPC host to send transactions to
--rpchost-file File with a list of RPC hosts to send transactions to
-p, --privkey string The private key of the wallet to send funds from
-P, --port int The port to run the webui on (default 8080)
-v, --verbose Run the tool with verbose output
--trace Run the tool with tracing output
The web interface runs on http://localhost:8080
by default and provides:
- Dashboard for managing spammers
- Real-time log streaming
- Configuration management
- Start/pause/delete functionality
The daemon exposes a REST API for programmatic control. See the API Documentation in the spamoor web interface for details.
Contributions are welcome! Please feel free to submit a Pull Request.