This Rust project is a fully-functional tool for participating in Ethereum's PoWERC20 mining process. It offers a Rust-based implementation for connecting to the Ethereum blockchain, generating nonces, and submitting transactions upon discovering a valid nonce. Ideal for those interested in Ethereum mining or exploring the mechanics of blockchain interactions in Rust.
Features ✨
Mining Functionality: Generates nonces and compares the resulting hash with a target, mirroring Ethereum's actual mining process.
Parallel Mining Workers: Leverages Rust's concurrency model with async/await and thread pools for deploying multiple mining workers, boosting the probability of finding a valid nonce.
Smart Contract Interaction: Interfaces with a specified Ethereum smart contract to retrieve the current mining challenge and difficulty.
Nonce Submission and Transaction Handling: Submits the mining solution to the Ethereum network and manages the transaction process after identifying a valid nonce.
Installation and Setup 🛠️
Install Rust: Ensure you have Rust 1.73 or newer installed.
Clone the Repository: Download this repository to your machine.
Build the Project:
Navigate to the project directory.
Run cargo build --release to build the release version of the executable.
Usage 🚀
Configuration:
Configure your Ethereum private key and contract address in a configuration file or environment variables.
Adjust the number of mining workers as desired.
Running the Tool:
Start the tool by running ./target/release/pow-erc20 in your terminal.
Optional flags or environment variables can be used for specific configurations.
Contributing 🤝
Contributions are welcome. Please adhere to the project's coding standards and include tests for any new features or fixes.