mirror of
https://github.com/tcsenpai/ethereum-vanity-address-generator-cuda.git
synced 2025-06-04 09:40:26 +00:00
122 lines
3.9 KiB
Markdown
122 lines
3.9 KiB
Markdown
# Ethereum Vanity Address Generator with CUDA
|
|
|
|
A high-performance Ethereum vanity address generator that uses CUDA GPU acceleration to quickly generate Ethereum addresses matching a desired prefix pattern. It includes optional balance checking functionality across multiple RPC endpoints and tracks best partial matches.
|
|
|
|
## Features
|
|
|
|
- 🚀 CUDA GPU acceleration for fast address generation
|
|
- 🔍 Configurable prefix matching with support for hex characters
|
|
- 💰 Optional balance checking across multiple RPC endpoints
|
|
- ⚡ Batch processing for efficient balance checks
|
|
- 🔄 Automatic RPC failover and rate limit handling
|
|
- 📊 Real-time status updates and progress tracking
|
|
- 💾 Automatic saving of matches and addresses with balances
|
|
- 🎯 Tracks best partial matches and saves them to JSON
|
|
- 🔐 Secure private key generation using CUDA's RNG
|
|
|
|
## Requirements
|
|
|
|
- Python 3.7+
|
|
- CUDA-capable NVIDIA GPU
|
|
- PyCUDA
|
|
- Web3.py
|
|
- Other dependencies listed in requirements.txt
|
|
|
|
## Installation
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://github.com/tcsenpai/eth-vanity-address-generator-cuda.git
|
|
```
|
|
2. Install dependencies:
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
3. Configure settings in `.env` file:
|
|
|
|
```bash
|
|
# Enable balance checking (true/false)
|
|
CHECK_BALANCES=true
|
|
|
|
# RPC URLs for redundancy
|
|
RPC_URLS=[
|
|
"https://eth.llamarpc.com",
|
|
"https://rpc.ankr.com/eth",
|
|
"https://ethereum.publicnode.com",
|
|
"https://1rpc.io/eth"
|
|
]
|
|
|
|
# How many addresses to check in each batch
|
|
BALANCE_BATCH_SIZE=100
|
|
|
|
# Desired address prefix
|
|
PREFIX=dEAD000000000000000042069420694206942069
|
|
|
|
# Set to true for synchronous balance checking
|
|
SYNC_MODE=false
|
|
|
|
# CUDA batch size for address generation
|
|
BATCH_SIZE=500
|
|
```
|
|
|
|
## Usage
|
|
|
|
You can run either the pure CUDA version or the version with balance checking:
|
|
|
|
1. CUDA-only version:
|
|
|
|
```bash
|
|
./find_address_fullcuda.sh
|
|
```
|
|
|
|
2. CUDA with balance checking:
|
|
```bash
|
|
./find_address_and_check_balance.sh
|
|
```
|
|
|
|
The script will begin generating addresses and checking balances if enabled. Status updates are printed every 10 seconds (5s for the full cuda version without balance checking) and show:
|
|
|
|
- Time elapsed
|
|
- Total attempts
|
|
- Generation speed
|
|
- Prefix check speed
|
|
- Balance check status
|
|
- Best match found so far
|
|
|
|
When a matching address is found, it will be displayed along with its private key.
|
|
|
|
## Output Files
|
|
|
|
- `found_addresses.txt`: Contains addresses found with balances
|
|
- `best_matches.json`: Tracks the best partial matches found
|
|
- `cuda_matches.json`: Records all matches found by the CUDA miner
|
|
|
|
## Configuration
|
|
|
|
The following settings can be configured in the `.env` file:
|
|
|
|
- `CHECK_BALANCES`: Enable/disable balance checking (only works with balance checking version)
|
|
- `RPC_URLS`: List of Ethereum RPC endpoints for redundancy (only works with balance checking version)
|
|
- `BALANCE_BATCH_SIZE`: Number of addresses to check in each batch (only works with balance checking version)
|
|
- `PREFIX`: Target address prefix
|
|
- `SYNC_MODE`: Use synchronous or asynchronous balance checking
|
|
- `BATCH_SIZE`: CUDA batch size for address generation
|
|
|
|
## Tips
|
|
|
|
- Longer prefixes will take exponentially more time to find
|
|
- Consider using shorter prefixes for testing
|
|
- Multiple RPC endpoints provide redundancy and failover
|
|
- The system automatically tracks and saves best partial matches
|
|
- CUDA batch size is optimized for RTX series GPUs
|
|
- Balance checking automatically determines optimal batch sizes for each RPC
|
|
|
|
## Performance
|
|
|
|
The following metrics are based on a RTX 4060 Mobile GPU (8GB VRAM).
|
|
|
|
- The full cuda version without balance checking manages to check about 25,000,000 (25 million) addresses per second.
|
|
- The balance checking version manages to check about 2000 prefixes and 1000 balances per second. Disabling balance checking increases the speed to about 12,000 prefixes per second.
|