8000 GitHub - MariusVanDerWijden/spamoor
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

MariusVanDerWijden/spamoor

 
 

Repository files navigation

Spamoor the Transaction Spammer

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.

Quick Start

# Using Docker
docker run ethpandaops/spamoor

# Building from source
git clone https://github.com/ethpandaops/spamoor.git
cd spamoor
make
./bin/spamoor

Usage

spamoor <scenario> [flags]

All scenarios require:

  • --privkey - Private key for the sending wallet
  • --rpchost - RPC endpoint(s) to send transactions to

Scenarios

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
calltx Contract Calls
Deploy a contract and repeatedly call a function on it
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
geastx Geas Transactions
Send transactions that execute custom geas bytecode
storagespam Storage Spam
Send transactions that spam the persistent EVM storage

Daemon Mode

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.

Usage

spamoor-daemon [flags]

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

Web Interface

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

API

The daemon exposes a REST API for programmatic control. See the API Documentation in the spamoor web interface for details.

Export/Import Functionality

Spamoor supports exporting and importing spammer configurations as YAML files:

  • Export: Save existing spammers to YAML format for backup or sharing
  • Import: Load spammers from YAML files, URLs, or raw YAML data
  • Includes: YAML files can include other files or URLs for modular configurations
  • Startup Integration: Import spammers automatically on daemon startup
# Import from file
spamoor-daemon --startup-spammer="spammer-configs.yaml"

# Example YAML with includes
- scenario: "eoatx"
  name: "Main Test"
  config:
    wallet_count: 10
- include: "common-spammers.yaml"
- include: "https://example.com/stress-tests.yaml"

Metrics

The daemon exposes Prometheus metrics at the /metrics endpoint, providing real-time monitoring capabilities for running spammer scenarios. These metrics include:

  • Transaction counts and success/failure rates
  • Scenario-specific metrics
  • System performance indicators

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 75.9%
  • Solidity 13.8%
  • HTML 8.2%
  • Shell 0.9%
  • JavaScript 0.8%
  • Makefile 0.2%
  • Other 0.2%
0