deploytx

package
v1.1.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2025 License: MIT Imports: 16 Imported by: 0

README

Contract Deployments

Deploy contracts with custom bytecode to the network.

Usage

spamoor deploytx [flags]

Configuration

Base Settings (required)
  • --privkey - Private key of the sending wallet
  • --rpchost - RPC endpoint(s) to send transactions to
Volume Control (either -c or -t required)
  • -c, --count - Total number of transactions to send
  • -t, --throughput - Transactions to send per slot
  • --max-pending - Maximum number of pending transactions
Transaction Settings
  • --basefee - Max fee per gas in gwei (default: 20)
  • --tipfee - Max tip per gas in gwei (default: 2)
  • --gaslimit - Gas limit per deployment. Set to 0 to burn all available block gas. (default: 1000000)
  • --rebroadcast - Seconds to wait before rebroadcasting (default: 120)
Bytecode Configuration
  • --bytecodes - Comma-separated list of hex bytecodes to deploy
  • --bytecodes-file - File containing hex bytecodes to deploy
Wallet Management
  • --max-wallets - Maximum number of child wallets to use
  • --refill-amount - ETH amount to fund each child wallet (default: 5)
  • --refill-balance - Minimum ETH balance before refilling (default: 2)
  • --refill-interval - Seconds between balance checks (default: 300)
Client Settings
  • --client-group - Client group to use for sending transactions
Debug Options
  • -v, --verbose - Enable verbose output
  • --log-txs - Log all submitted transactions
  • --trace - Enable tracing output

Example

Deploy 100 contracts using bytecode from a file:

spamoor deploytx -p "<PRIVKEY>" -h http://rpc-host:8545 -c 100 --bytecodes-file bytecodes.txt

Deploy 2 contracts per slot using specific bytecode:

spamoor deploytx -p "<PRIVKEY>" -h http://rpc-host:8545 -t 2 --bytecodes "0x1234,0x5678" 

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ScenarioDefaultOptions = ScenarioOptions{
	TotalCount:    0,
	Throughput:    10,
	MaxPending:    0,
	MaxWallets:    0,
	Rebroadcast:   1,
	GasLimit:      1000000,
	BaseFee:       20,
	TipFee:        2,
	Bytecodes:     "",
	BytecodesFile: "",
	Timeout:       "",
	ClientGroup:   "",
	LogTxs:        false,
}
View Source
var ScenarioDescriptor = scenario.Descriptor{
	Name:           ScenarioName,
	Description:    "Send deploy transactions",
	DefaultOptions: ScenarioDefaultOptions,
	NewScenario:    newScenario,
}
View Source
var ScenarioName = "deploytx"

Functions

This section is empty.

Types

type Scenario

type Scenario struct {
	// contains filtered or unexported fields
}

func (*Scenario) Flags

func (s *Scenario) Flags(flags *pflag.FlagSet) error

func (*Scenario) Init

func (s *Scenario) Init(options *scenario.Options) error

func (*Scenario) Run

func (s *Scenario) Run(ctx context.Context) error

type ScenarioOptions

type ScenarioOptions struct {
	TotalCount    uint64  `yaml:"total_count"`
	Throughput    uint64  `yaml:"throughput"`
	MaxPending    uint64  `yaml:"max_pending"`
	MaxWallets    uint64  `yaml:"max_wallets"`
	Rebroadcast   uint64  `yaml:"rebroadcast"`
	GasLimit      uint64  `yaml:"gas_limit"`
	BaseFee       float64 `yaml:"base_fee"`
	TipFee        float64 `yaml:"tip_fee"`
	Bytecodes     string  `yaml:"bytecodes"`
	BytecodesFile string  `yaml:"bytecodes_file"`
	Timeout       string  `yaml:"timeout"`
	ClientGroup   string  `yaml:"client_group"`
	LogTxs        bool    `yaml:"log_txs"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL