Skip to content

Commit ad18d1b

Browse files
committed
Update README with multi-chain support and network badges
Add badges for Solana, Aptos, Sui, Bitcoin, BNB Chain, Arbitrum, Base Fix Bitcoin difficulty calculation (Base58 for Legacy/SegWit, Base32 for Taproot) Add build.sh for Linux/macOS
1 parent 1053a6a commit ad18d1b

3 files changed

Lines changed: 230 additions & 29 deletions

File tree

README.md

Lines changed: 75 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,28 @@
33

44
# 🎯 HexHunter
55

6-
### *The Ultimate Ethereum Vanity Address Generator*
6+
### *The Ultimate Multi-Chain Vanity Address Generator*
77

88
[![Go Version](https://img.shields.io/badge/Go-1.20+-00ADD8?style=for-the-badge&logo=go)](https://golang.org)
99
[![OpenCL](https://img.shields.io/badge/OpenCL-GPU%20Accelerated-76B900?style=for-the-badge&logo=nvidia)](https://www.khronos.org/opencl/)
1010
[![Platform](https://img.shields.io/badge/Platform-Windows%20|%20Linux%20|%20macOS-blue?style=for-the-badge)]()
1111

1212
<img src="https://img.shields.io/badge/Speed-40M+%20addresses/sec-brightgreen?style=for-the-badge" alt="Speed">
1313

14+
#### Supported Networks
15+
[![Ethereum](https://img.shields.io/badge/Ethereum-3C3C3D?style=for-the-badge&logo=ethereum&logoColor=white)]()
16+
[![BNB Chain](https://img.shields.io/badge/BNB_Chain-F0B90B?style=for-the-badge&logo=binance&logoColor=black)]()
17+
[![Arbitrum](https://img.shields.io/badge/Arbitrum-28A0F0?style=for-the-badge&logo=arbitrum&logoColor=white)]()
18+
[![Base](https://img.shields.io/badge/Base-0052FF?style=for-the-badge&logo=coinbase&logoColor=white)]()
19+
[![Solana](https://img.shields.io/badge/Solana-9945FF?style=for-the-badge&logo=solana&logoColor=white)]()
20+
[![Aptos](https://img.shields.io/badge/Aptos-000000?style=for-the-badge&logo=aptos&logoColor=white)]()
21+
[![Sui](https://img.shields.io/badge/Sui-6FBCF0?style=for-the-badge&logo=sui&logoColor=white)]()
22+
[![Bitcoin](https://img.shields.io/badge/Bitcoin-F7931A?style=for-the-badge&logo=bitcoin&logoColor=white)]()
23+
1424
---
1525
![HexHunter](Screenshots/hexhunter.gif)
1626

17-
**Generate custom Ethereum addresses with your desired prefix or suffix at blazing speeds using GPU acceleration.**
27+
**Generate custom vanity addresses for multiple blockchains with your desired prefix or suffix at blazing speeds using GPU acceleration.**
1828

1929
[Features](#-features)[Installation](#-installation)[Usage](#-usage)[Performance](#-performance)[How It Works](#-how-it-works)[Security](#-security)
2030

@@ -24,14 +34,26 @@
2434

2535
## 🤔 What is a Vanity Address?
2636

27-
A **vanity address** is a custom Ethereum address that contains a specific pattern you choose. Instead of a random address like `0x7a3f...`, you can have:
37+
A **vanity address** is a custom blockchain address that contains a specific pattern you choose. Instead of a random address, you can create personalized, memorable addresses:
38+
39+
### Examples by Network
2840

29-
- `0xdeadbeef...` - Memorable hex words
30-
- `0x123456...` - Easy to recognize numbers
31-
- `0xCAFE...` - Your favorite patterns
32-
- `0x...0000` - Addresses ending with zeros
41+
| Network | Random Address | Vanity Address | Pattern Used |
42+
|---------|---------------|----------------|--------------|
43+
| **Ethereum/EVM** | `0x7a3f8b2c...` | `0xdeadbeef...` | Hex words |
44+
| **Ethereum/EVM** | `0x9c4e2d1a...` | `0x00000000...` | Leading zeros |
45+
| **Solana** | `7xKXtg2CW...` | `So1anaWa11et...` | Base58 words |
46+
| **Bitcoin (Taproot)** | `bc1p5cyxnuxm...` | `bc1pcafe...` | Bech32m |
47+
| **Bitcoin (Legacy)** | `1BvBMSEYstW...` | `1Love...` | Base58 |
48+
| **Aptos** | `0x8f3a...` | `0x0000...` | Hex patterns |
49+
| **Sui** | `0x7b2c...` | `0xdead...` | Hex patterns |
3350

34-
**Why use one?** Vanity addresses are easier to recognize, verify, and remember - reducing the risk of sending funds to the wrong address!
51+
### Why Use a Vanity Address?
52+
53+
**Easy Recognition** - Instantly identify your address in transaction lists
54+
**Reduced Errors** - Less chance of sending funds to the wrong address
55+
**Professional Look** - Great for businesses, projects, and personal branding
56+
**Memorable** - Easier to remember and verify
3557

3658
---
3759

@@ -47,14 +69,27 @@ A **vanity address** is a custom Ethereum address that contains a specific patte
4769

4870
---
4971

72+
## 🔗 Supported Networks
73+
74+
| Network | Address Format | GPU Accelerated | Notes |
75+
|---------|---------------|-----------------|-------|
76+
| ![ETH](https://img.shields.io/badge/-ETH-3C3C3D?logo=ethereum&logoColor=white) **Ethereum (EVM)** | `0x...` (hex) |**Yes** | Supports all EVM chains (BSC, Polygon, Arbitrum, etc.) |
77+
| ![SOL](https://img.shields.io/badge/-SOL-9945FF?logo=solana&logoColor=white) **Solana** | Base58 |**Yes** | Ed25519 curve |
78+
| ![APT](https://img.shields.io/badge/-APT-000000?logo=aptos&logoColor=white) **Aptos** | `0x...` (hex) |**Yes** | Ed25519 curve |
79+
| ![SUI](https://img.shields.io/badge/-SUI-6FBCF0?logo=sui&logoColor=white) **Sui** | `0x...` (hex) | 💻 CPU | Ed25519 curve |
80+
| ![BTC](https://img.shields.io/badge/-BTC-F7931A?logo=bitcoin&logoColor=white) **Bitcoin** | P2TR/P2PKH/P2SH | 💻 CPU | Taproot, Legacy, SegWit |
81+
82+
---
83+
5084
## ✨ Features
5185

5286
| Feature | Description |
5387
|---------|-------------|
88+
| 🌐 **Multi-Chain Support** | Generate vanity addresses for Ethereum, Solana, Aptos, Sui, and Bitcoin! |
5489
| 🚀 **Zero Dependencies** | Just download and run - no Go, Python, or Node.js required! |
5590
| 🔒 **100% Offline** | Works completely offline - your keys never leave your device |
56-
| 🎮 **GPU Acceleration** | Harness the power of your GPU with OpenCL for 40M+ addresses/sec |
57-
| 💻 **CPU Fallback** | Fully functional multi-threaded CPU mode when GPU is unavailable |
91+
| 🎮 **GPU Acceleration** | Harness the power of your GPU with OpenCL for 40M+ addresses/sec (ETH/SOL/APT) |
92+
| 💻 **CPU Fallback** | Fully functional multi-threaded CPU mode for all networks |
5893
| 🔐 **Cryptographically Secure** | Uses OS-level secure random (`CryptGenRandom`/`/dev/urandom`) |
5994
| 🔄 **Continuous Mode** | Generate multiple addresses without restarting |
6095
| 🎨 **Beautiful TUI** | Modern terminal interface with real-time progress |
@@ -226,22 +261,36 @@ cd HexHunter
226261

227262
```
228263
HexHunter/
229-
├── main.go # Application entry point
230-
├── build.ps1 # Windows build script
231-
├── tables.bin # Precomputed EC point tables
232-
├── generator/
233-
│ ├── generator.go # Generator interface
234-
│ ├── cpu.go # CPU implementation
235-
│ ├── gpu_opencl.go # GPU OpenCL implementation
236-
│ ├── matcher.go # Pattern matching logic
237-
│ └── kernels/
238-
│ └── vanity_v4.cl # OpenCL kernel
239264
├── cmd/
240-
│ └── gen_tables/
241-
│ └── main.go # Table generation tool
242-
└── deps/
243-
├── opencl-headers/ # OpenCL header files
244-
└── lib/ # OpenCL libraries
265+
│ └── hexhunter/
266+
│ └── main.go # Application entry point
267+
├── internal/
268+
│ └── ui/
269+
│ ├── console.go # TUI display & progress
270+
│ └── input.go # User input handling
271+
├── pkg/
272+
│ └── generator/
273+
│ ├── generator.go # Generator interface
274+
│ ├── ethereum/ # Ethereum/EVM support (GPU ⚡)
275+
│ │ ├── gpu.go # OpenCL GPU implementation
276+
│ │ ├── matcher.go # Pattern matching
277+
│ │ └── kernels/
278+
│ │ └── vanity.cl # OpenCL kernel
279+
│ ├── solana/ # Solana support (GPU ⚡)
280+
│ │ ├── gpu.go # Ed25519 GPU implementation
281+
│ │ ├── matcher.go # Base58 pattern matching
282+
│ │ └── kernels/
283+
│ │ └── solana.cl # OpenCL kernel
284+
│ ├── aptos/ # Aptos support (GPU ⚡)
285+
│ │ └── ...
286+
│ ├── sui/ # Sui support (CPU)
287+
│ │ └── cpu.go
288+
│ └── bitcoin/ # Bitcoin support (CPU)
289+
│ └── cpu.go # P2TR/P2PKH/P2SH
290+
├── deps/
291+
│ ├── opencl-headers/ # OpenCL header files
292+
│ └── lib/ # OpenCL libraries
293+
├── build.ps1 # Windows build
245294
```
246295

247296
---
@@ -276,7 +325,7 @@ You are free to use, modify, and distribute this software, but you must keep it
276325

277326
<div align="center">
278327

279-
**Made with ❤️ for the Ethereum Community**
328+
**Made with ❤️ for the Crypto Community**
280329

281330
⭐ Star this repo if you find it useful!
282331

build.sh

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
#!/bin/bash
2+
# Build script for Linux/macOS
3+
# Usage: ./build.sh
4+
5+
set -e
6+
7+
# Colors for output
8+
RED='\033[0;31m'
9+
GREEN='\033[0;32m'
10+
YELLOW='\033[1;33m'
11+
CYAN='\033[0;36m'
12+
NC='\033[0m' # No Color
13+
14+
echo -e "${CYAN}Building HexHunter...${NC}"
15+
16+
# Detect OS
17+
OS=$(uname -s)
18+
ARCH=$(uname -m)
19+
20+
case "$OS" in
21+
Linux)
22+
GOOS="linux"
23+
OUTPUT="HexHunter"
24+
echo -e "${CYAN}Detected: Linux ($ARCH)${NC}"
25+
;;
26+
Darwin)
27+
GOOS="darwin"
28+
OUTPUT="HexHunter"
29+
echo -e "${CYAN}Detected: macOS ($ARCH)${NC}"
30+
;;
31+
*)
32+
echo -e "${RED}Unsupported OS: $OS${NC}"
33+
exit 1
34+
;;
35+
esac
36+
37+
# Set GOARCH
38+
case "$ARCH" in
39+
x86_64|amd64)
40+
GOARCH="amd64"
41+
;;
42+
arm64|aarch64)
43+
GOARCH="arm64"
44+
;;
45+
*)
46+
echo -e "${YELLOW}Unknown architecture: $ARCH, defaulting to amd64${NC}"
47+
GOARCH="amd64"
48+
;;
49+
esac
50+
51+
# Download dependencies
52+
echo -e "${YELLOW}Downloading dependencies...${NC}"
53+
go mod download
54+
if [ $? -ne 0 ]; then
55+
echo -e "${RED}Failed to download dependencies!${NC}"
56+
exit 1
57+
fi
58+
59+
# Tidy modules
60+
echo -e "${YELLOW}Tidying modules...${NC}"
61+
go mod tidy
62+
if [ $? -ne 0 ]; then
63+
echo -e "${RED}Failed to tidy modules!${NC}"
64+
exit 1
65+
fi
66+
67+
# Set environment variables
68+
export GOOS="$GOOS"
69+
export GOARCH="$GOARCH"
70+
export CGO_ENABLED="1"
71+
72+
# Check for OpenCL support
73+
OPENCL_AVAILABLE=false
74+
75+
if [ "$GOOS" = "linux" ]; then
76+
# Check for OpenCL on Linux
77+
if [ -f "/usr/lib/libOpenCL.so" ] || [ -f "/usr/lib64/libOpenCL.so" ] || [ -f "/usr/lib/x86_64-linux-gnu/libOpenCL.so" ]; then
78+
OPENCL_AVAILABLE=true
79+
echo -e "${GREEN}OpenCL library found${NC}"
80+
fi
81+
elif [ "$GOOS" = "darwin" ]; then
82+
# macOS has OpenCL framework built-in (but deprecated on Apple Silicon)
83+
if [ -d "/System/Library/Frameworks/OpenCL.framework" ]; then
84+
OPENCL_AVAILABLE=true
85+
echo -e "${GREEN}OpenCL framework found${NC}"
86+
if [ "$GOARCH" = "arm64" ]; then
87+
echo -e "${YELLOW}Warning: OpenCL is deprecated on Apple Silicon. GPU support may be limited.${NC}"
88+
fi
89+
fi
90+
fi
91+
92+
# Build the application
93+
echo -e "${YELLOW}Building application ($OUTPUT)...${NC}"
94+
95+
if [ "$OPENCL_AVAILABLE" = true ]; then
96+
# Try building with OpenCL tags
97+
go build -tags opencl -trimpath -ldflags="-s -w" -o "$OUTPUT" ./cmd/hexhunter
98+
99+
if [ $? -eq 0 ]; then
100+
echo -e "${GREEN}Build successful with GPU support!${NC}"
101+
else
102+
echo -e "${YELLOW}OpenCL build failed, falling back to CPU-only...${NC}"
103+
export CGO_ENABLED="0"
104+
go build -trimpath -ldflags="-s -w" -o "$OUTPUT" ./cmd/hexhunter
105+
106+
if [ $? -eq 0 ]; then
107+
echo -e "${GREEN}CPU-only build successful!${NC}"
108+
echo -e "${YELLOW}Note: No GPU acceleration available${NC}"
109+
else
110+
echo -e "${RED}Build failed completely!${NC}"
111+
exit 1
112+
fi
113+
fi
114+
else
115+
echo -e "${YELLOW}OpenCL not found, building CPU-only version...${NC}"
116+
export CGO_ENABLED="0"
117+
go build -trimpath -ldflags="-s -w" -o "$OUTPUT" ./cmd/hexhunter
118+
119+
if [ $? -eq 0 ]; then
120+
echo -e "${GREEN}CPU-only build successful!${NC}"
121+
echo -e "${YELLOW}To enable GPU support, install OpenCL:${NC}"
122+
if [ "$GOOS" = "linux" ]; then
123+
echo -e "${YELLOW} Ubuntu/Debian: sudo apt install ocl-icd-opencl-dev${NC}"
124+
echo -e "${YELLOW} Fedora: sudo dnf install ocl-icd-devel${NC}"
125+
echo -e "${YELLOW} Arch: sudo pacman -S ocl-icd${NC}"
126+
fi
127+
else
128+
echo -e "${RED}Build failed!${NC}"
129+
exit 1
130+
fi
131+
fi
132+
133+
# Show output info
134+
echo -e "${YELLOW}Output: $OUTPUT${NC}"
135+
136+
if [ -f "$OUTPUT" ]; then
137+
SIZE=$(ls -lh "$OUTPUT" | awk '{print $5}')
138+
echo -e "${YELLOW}File size: $SIZE${NC}"
139+
140+
# Make executable
141+
chmod +x "$OUTPUT"
142+
echo -e "${GREEN}Ready to run: ./$OUTPUT${NC}"
143+
fi

cmd/hexhunter/main.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,13 +175,22 @@ func estimateDifficulty(prefix, suffix string, network generator.Network) uint64
175175
case generator.Solana:
176176
base = 58 // Base58 for Solana
177177
case generator.Bitcoin:
178-
// Bitcoin uses Bech32 (32 chars) or Base58 (58 chars) depending on address type
179-
// Use average for estimation
180-
base = 32
178+
// Bitcoin address type determines encoding:
179+
// - Taproot (P2TR) / Native SegWit: Bech32/Bech32m = 32 chars
180+
// - Legacy (P2PKH) / Nested SegWit (P2SH): Base58 = 58 chars
181+
switch ui.SelectedBitcoinAddressType {
182+
case generator.AddressTypeTaproot:
183+
base = 32 // Bech32m
184+
case generator.AddressTypeLegacy, generator.AddressTypeNestedSegWit:
185+
base = 58 // Base58
186+
default:
187+
base = 32 // Default to Bech32
188+
}
181189
}
182190

183191
for i := 0; i < totalChars; i++ {
184192
difficulty *= base
185193
}
186194
return difficulty
187195
}
196+

0 commit comments

Comments
 (0)