Welcome to the autoevm-transactions
repository! This script allows you to automate transactions across multiple EVM-compatible networks. Whether you're interacting with testnets or mainnets, this tool simplifies the process, especially for tasks requiring multiple transfers.
- 📡 Dynamic RPC URL, chain ID, and explorer integration from JSON files
- 🔄 Automated transaction processing for multiple addresses
- 🎯 Targeted transfers to specified addresses from
addresses.json
- 🚀 Easily configurable for various networks (testnets and mainnets)
- 🔒 Secure handling of private keys
- 📝 Transaction history logging and tracking
- 🔍 Built-in transaction verification
Ensure you have the following installed:
- Node.js (v14 or higher)
- npm (Node Package Manager)
-
Clone the repository:
git clone https://github.com/tejasmate/autoevm-transactions.git cd autoevm-transactions
-
Install the necessary packages:
npm install
-
Define the Chains:
-
You'll need to specify the network details in JSON files located in the
/chains
directory. Create two JSON files:testnet.json
andmainnet.json
. -
Each file should contain an array of objects with the following structure:
[ { "name": "Network Name", "rpcUrl": "https://rpc-url", "chainId": "1234", "symbol": "TOKEN", "explorer": "https://explorer-url" } ]
-
Example for
testnet.json
:[ { "name": "Plume Testnet", "rpcUrl": "https://plume-testnet-rpc.example.com", "chainId": "8888", "symbol": "PLUME", "explorer": "https://plume-testnet-explorer.example.com" } ]
-
-
Define Private Keys:
-
Store your private keys securely inside a
privateKeys.json
file in the root directory. This file should contain an array of private keys as strings:[ "0xYOUR_PRIVATE_KEY_1", "0xYOUR_PRIVATE_KEY_2" ]
⚠️ Important: Keep this file secure and avoid exposing your private keys!
-
-
Create Target Addresses File:
-
Create an
addresses.json
file in the root directory. This file should contain an array of target addresses you want to transfer funds to:[ "0xTARGET_ADDRESS_1", "0xTARGET_ADDRESS_2" ]
-
-
Run the script for random address generation and transactions:
npm start
-
To use the targeted address feature, run:
npm run target
- You will be prompted to select your network environment (Testnet/Mainnet) and choose the chain from the provided list using the arrow keys.
- Define the number of transactions you want to process and let the script handle the rest!
Contributions are welcome! Please fork the repository and submit a pull request with your improvements.
-
RPC Connection Errors:
- Verify your internet connection
- Check if the RPC URL is correct and accessible
- Ensure the network is operational
-
Transaction Failures:
- Confirm you have sufficient balance for gas fees
- Verify the recipient address is valid
- Check if nonce is correct
-
Configuration Issues:
- Ensure all JSON files are properly formatted
- Verify chain IDs match the target network
- Check if private keys are correctly formatted
├── chains/ # Network configuration files
├── src/ # Source code
│ ├── chainUtils.js # Chain-related utilities
│ ├── gasUtils.js # Gas calculation functions
│ └── validation.js # Input validation
└── transaction_history.json # Transaction logs
- Fork the repository
- Create a feature branch
- Implement your changes
- Add tests if applicable
- Submit a pull request
- Use ES6+ features
- Follow consistent naming conventions
- Add comments for complex logic
- Keep functions focused and modular
This project is licensed under the MIT License. See the LICENSE
file for details.