https://github.com/cavemanloverboy/vanity
https://github.com/cavemanloverboy/vanity
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/cavemanloverboy/vanity
- Owner: cavemanloverboy
- License: apache-2.0
- Created: 2024-06-15T23:27:21.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-02-14T17:45:46.000Z (3 months ago)
- Last Synced: 2025-02-14T18:33:00.273Z (3 months ago)
- Language: Cuda
- Size: 147 KB
- Stars: 64
- Watchers: 3
- Forks: 20
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome - cavemanloverboy/vanity - (Cuda)
README
# `vanity`
A *bLaZinGlY fAsT* tool for grinding vanity addresses on Solana.
## 1) What
Typically, solana developers wishing to obtain a vanity address for their program or token grind out ed25519 keypairs and sign off on a `SystemInstruction::CreateAccount` instruction. However, by using `SystemInstruction::CreateAccountWithSeed`, developers can bypass ed25519 and get extreme speedups on address searches. Although not as generic, this method covers many use cases.
## 2) H
By default, vanity compiles for cpu. Install via
```bash
cargo install vanity
```To compile for gpu, install via
```bash
cargo install vanity --features=gpu
```
If you don't have a GPU, consider using [vast.ai](https://cloud.vast.ai/?ref_id=126830). Pls use this referral link so that I can keep using GPUs.Refer to the help via `vanity --help` for information on usage.
```bash
Usage: vanity [OPTIONS] --base --owner --target
Options:
--base The pubkey that will be the signer for the CreateAccountWithSeed instruction
--owner The account owner, e.g. BPFLoaderUpgradeab1e11111111111111111111111 or TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
--target The target prefix for the pubkey
--case-insensitive Whether user cares about the case of the pubkey
--logfile Optional log file
--num-cpus Number of cpu threads to use for mining [default: 0]
-h, --help Print help
```To actually make use of the resulting seed, refer to the `solana_program` docs:
```rust
pub fn create_account_with_seed(
from_pubkey: &Pubkey,
// this is the resulting address, obtained via Pubkey::create_with_seed
to_pubkey: &Pubkey,
base: &Pubkey,
seed: &str,
lamports: u64,
space: u64,
owner: &Pubkey,
) -> Instruction
```## Contributions
yes
## Performance
one of y'all can fill this out. RTX 4090 does ≈1 billion address searches per second.
## Acknowledgements, External Libraries
- The sha2 implementation used in this library is taken from [here](https://github.com/mochimodev/cuda-hashing-algos), which is in the public domain.
- The base58 encoding implementation is taken from firedancer with heavy modifications for use in cuda & case insensitive encodings, licensed under APACHE-2.0