WalletMirroring is a Go-based application that monitors a specified Ethereum wallet for transactions and sends identical transactions from a different wallet. This tool can be used for purposes such as mirroring transaction activity or creating backups of transaction data.
- Monitors an Ethereum wallet for new transactions.
- Sends identical transactions using a different wallet.
- Configurable via environment variables.
- Robust error handling and retry logic.
- Modular design with clear separation of concerns.
- Go 1.16 or later
- An Ethereum node URL (e.g., Infura project URL)
- A private key for the wallet that will send the mirrored transactions
- Clone the repository:
git clone https://github.com/yourusername/WalletMirroring.git
cd WalletMirroring
- Export the following variables:
export ETH_NODE_URL=https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID
export WALLET_ADDRESS=0xWalletAddress
export PRIVATE_KEY=YourPrivateKey
Replace YOUR_INFURA_PROJECT_ID
, 0xWalletAddress
, and YourPrivateKey
with your actual values.
- Build the project:
go build -o walletmirroring
- Run the executable:
./walletmirroring
The application will start monitoring the specified wallet for new transactions and send identical transactions from the wallet associated with the provided private key.
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Create a new Pull Request.
This project is licensed under the MIT License.