|
1 | 1 | # Vanity Crypto |
2 | 2 |
|
3 | | - |
4 | | - |
5 | | -[](https://www.npmjs.com/package/vanity_crypto) |
6 | | - |
7 | | - |
8 | | - |
| 3 | +[](https://opensource.org/licenses/MIT) |
| 4 | +[](https://www.rust-lang.org) |
| 5 | +[](https://github.com/athexweb3/vanity_crypto/releases) |
9 | 6 |
|
10 | | -**Vanity Crypto** is a high-performance, cryptographically secure Ethereum vanity address generator. It is designed to be the fastest and safest tool of its kind, leveraging Rust's safety guarantees and Rayon's parallelism. |
| 7 | +[](https://www.npmjs.com/package/vanity_crypto) |
| 8 | +[](https://github.com/athexweb3/vanity_crypto/tree/main/Formula) |
| 9 | +[](https://github.com/athexweb3/vanity_crypto/tree/main/scoop) |
11 | 10 |
|
12 | | -## Design Goals |
| 11 | +[](https://github.com/athexweb3/vanity_crypto/actions/workflows/ci-linux.yml) |
| 12 | +[](https://github.com/athexweb3/vanity_crypto/actions/workflows/ci-macos.yml) |
| 13 | +[](https://github.com/athexweb3/vanity_crypto/actions/workflows/ci-windows.yml) |
| 14 | +[](https://github.com/athexweb3/vanity_crypto/actions/workflows/security.yml) |
| 15 | +[](https://github.com/athexweb3/vanity_crypto/actions/workflows/benchmark.yml) |
13 | 16 |
|
14 | | -- **Performance**: Utilizes all available CPU cores to maximize hash rate (MH/s). |
15 | | -- **Security**: "Verify, Don't Trust." Every generated key is mathematically verifiable against standard Ethereum implementations. |
16 | | -- **Experience**: A beautiful, real-time Terminal User Interface (TUI) that provides feedback without clutter. |
17 | | -- **Portability**: First-class support for macOS (Apple Silicon/Intel), Linux, and Windows. |
| 17 | +**Vanity Crypto** is a high-performance, cryptographically secure Ethereum vanity address generator implementation. It is engineered to provide the highest possible search throughput on consumer hardware while maintaining strict distinctness of duties between key generation and verification. |
18 | 18 |
|
19 | | ---- |
| 19 | +The library strictly adheres to the following standards: |
| 20 | +* **[EIP-55](https://eips.ethereum.org/EIPS/eip-55)**: Mixed-case checksum address encoding. |
| 21 | +* **[NIST FIPS 202](https://csrc.nist.gov/publications/detail/fips/202/final)**: SHA-3 Standard (Keccak-256). |
| 22 | +* **[SEC 1](https://www.secg.org/sec1-v2.pdf)**: Elliptic Curve Cryptography (secp256k1). |
| 23 | + |
| 24 | +## Architecture |
| 25 | + |
| 26 | +The project employs a specific **Verify-after-Generate** architecture to eliminate single points of failure in the cryptographic logic. |
| 27 | + |
| 28 | +1. **Entropy & Generation (Rust)**: |
| 29 | + Using the `rand::OsRng` system entropy source, a 256-bit private key is generated. The corresponding public key is derived via `k256` (RustCrypto), and the address is computed via `keccak256`. This process is parallelized across all logical CPU cores using a work-stealing scheduler (`rayon`). |
| 30 | + |
| 31 | +2. **Cross-Verification (Python)**: |
| 32 | + Upon identifying a candidate address matching the user's constraints, the key material is passed to an isolated subprocess. This process invokes the `eth_account` library (the reference Python implementation) to independently re-derive the address from the private key. |
| 33 | + |
| 34 | +3. **Validation**: |
| 35 | + The result is presented to the user **if and only if** the Rust-derived address and the Python-derived address are bitwise identical. |
20 | 36 |
|
21 | 37 | ## Installation |
22 | 38 |
|
23 | | -### 1. NPM (Recommended) |
24 | | -The quickest way to install for Node.js users. |
| 39 | +### NPM (Node.js) |
| 40 | +The suggested installation method for most users. This wrapper automatically downloads the correct architecture-specific binary for your system. |
| 41 | + |
25 | 42 | ```bash |
26 | 43 | npm install -g vanity_crypto |
27 | 44 | ``` |
28 | | -*Or run purely without installation:* |
29 | | -```bash |
30 | | -npx vanity_crypto |
31 | | -``` |
32 | 45 |
|
33 | | -### 2. Homebrew (macOS / Linux) |
34 | | -Install via our official tap. |
| 46 | +### Homebrew (macOS / Linux) |
| 47 | +Distributed via a focused Tap to distinguish it from unverified tools. |
| 48 | + |
35 | 49 | ```bash |
36 | 50 | brew tap athexweb3/vanity_crypto https://github.com/athexweb3/vanity_crypto |
37 | 51 | brew install vanity_crypto |
38 | 52 | ``` |
39 | 53 |
|
40 | | -### 3. Scoop (Windows) |
41 | | -Install via our official bucket. |
| 54 | +### Scoop (Windows) |
| 55 | +Distributed via a dedicated Bucket. |
| 56 | + |
42 | 57 | ```bash |
43 | 58 | scoop bucket add vanity_crypto https://github.com/athexweb3/vanity_crypto |
44 | 59 | scoop install vanity_crypto |
45 | 60 | ``` |
46 | 61 |
|
47 | | -### 4. Build from Source |
48 | | -Required for running the Python Verification Suite. |
| 62 | +### Building from Source |
| 63 | + |
| 64 | +To build from source, a standard Rust toolchain (stable) is required. To run the verification suite, Python 3.10+ is also required. |
| 65 | + |
49 | 66 | ```bash |
50 | 67 | git clone https://github.com/athexweb3/vanity_crypto.git |
51 | 68 | cd vanity_crypto |
52 | 69 | cargo build --release |
53 | 70 | ``` |
54 | 71 |
|
55 | | ---- |
56 | | - |
57 | 72 | ## Usage |
58 | 73 |
|
59 | | -### Interactive Mode |
60 | | -Simply run `vc` to launch the interactive TUI. |
| 74 | +### Interactive Mode (TUI) |
| 75 | +The binary launches into an interactive Terminal User Interface by default, providing real-time telemetry on hash rate and probability. |
| 76 | + |
61 | 77 | ```bash |
62 | 78 | vc |
63 | 79 | ``` |
64 | 80 |
|
65 | | -### Command Line Arguments |
66 | | -*(Coming in v1.0)* |
| 81 | +### Headless Mode |
| 82 | +For integration into automated pipelines, the CLI accepts arguments to bypass the TUI. |
67 | 83 |
|
68 | | ---- |
| 84 | +| Argument | Description | |
| 85 | +| :--- | :--- | |
| 86 | +| `--prefix <HEX>` | The case-insensitive hex string to search for. | |
| 87 | +| `--case-sensitive` | strictly enforce casing (e.g. `DeaD` vs `dead`). | |
| 88 | +| `--threads <N>` | Override thread count (Default: logical core count). | |
| 89 | +| `--no-tui` | Disable the TUI and output only the final result JSON. | |
69 | 90 |
|
70 | | -## Security & Verification |
| 91 | +## Independent Verification |
71 | 92 |
|
72 | | -We believe cryptographic tools should be audible. |
| 93 | +Trust in cryptographic tools must be earned through verification. We provide a fuzzing suite that compares thousands of iterations of the Rust generator against the Python reference implementation. |
73 | 94 |
|
74 | | -**Generation**: Keys are generated using strict adherence to `k256` (ECDSA) and `sha3` (Keccak-256) standards. |
75 | | - |
76 | | -**Verification**: |
77 | | -To perform an independent audit of the generator's integrity, check out the source code and run the verification suite. This uses the Python `eth-account` library to cross-validate results. |
| 95 | +To run the audit: |
78 | 96 |
|
79 | 97 | ```bash |
80 | 98 | # Requires Python 3.10+ |
81 | 99 | python3 tests/verify_validate/fuzz_test.py 1000 |
82 | 100 | ``` |
83 | | -*Note: The binary release does not include the Python test scripts. You must clone the repo to run manual verification.* |
84 | | - |
85 | | ---- |
86 | 101 |
|
87 | 102 | ## License |
88 | 103 |
|
89 | | -The code is licensed under the [MIT License](LICENSE). |
90 | | - |
91 | 104 | Copyright (c) 2025 Athex Web3. |
| 105 | +This project is licensed under the **MIT License**. |
| 106 | + |
| 107 | +See [LICENSE](LICENSE) for more information. |
0 commit comments