This is a simple Bash script for sending multiple transactions on Cosmos SDK-based blockchains (e.g., Umee, Evmos, Gaia) using a specified binary. It supports logging, configurable delays, and customizable parameters via an external .env config file.
- Sends a specified number of transactions
- Supports Cosmos SDK binaries (
umeed,gaiad,evmosd, etc.) - Fully configurable via
config.env - Logs transaction hashes and statuses with timestamps
- Automatically detects binary path via
which
- A valid Cosmos SDK binary installed and available in
$PATH(e.g.umeed) jqinstalled (sudo apt install jq)- Wallets and keys already set up via the binary
- Executable permission for
send.sh
- Clone the repository
git clone https://github.com/yourusername/cosmos-tx-sender.git
cd cosmos-tx-sender- Create and edit the
config.envfile
# config.env
BINARY=umeed # Name of the binary (must be in PATH)
LOG=txs.log # Log file name
PWD=your_wallet_password # Wallet password
TX_COUNT=10 # Number of transactions to send
FROM_WALLET_ADDRESS=umee1... # Sender wallet address
TO_WALLET_ADDRESS=umee1... # Recipient wallet address
TX_AMOUNT=10000uumee # Amount per transaction
DELAY=2 # Delay in seconds between transactions
NODE_CHAIN=umee-1 # Chain ID
TX_FEES=300uumee # Transaction fee
β οΈ Never commit yourconfig.envfile with sensitive data to a public repository.
- Make the script executable
chmod +x send.sh./send.shThe script will:
- Load configuration from
config.env - Validate all variables
- Locate the binary in your system
- Send each transaction with a delay
- Log each transaction result to the specified log file
[2025-06-07 14:01:22] β
TX 1: Sent successfully. Hash: A1B2C3...
[2025-06-07 14:01:25] β TX 2: Failed to send. Response: {...}
cosmos-tx-sender/
βββ send.sh # Main script
βββ config.env # Configuration file (user-provided)
βββ txs.log # Output log file (auto-generated)
This script is provided as-is with no warranty. Use at your own risk. Always test on a testnet before using on mainnet.
MIT License