7 releases
0.3.4 | Nov 14, 2024 |
---|---|
0.3.3 | Nov 12, 2024 |
0.2.0 | Jun 15, 2024 |
0.1.0 | Nov 23, 2022 |
#25 in #blazingly
182 downloads per month
44KB
783 lines
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
cargo install vanity
To compile for gpu, install via
cargo install vanity --features=gpu
If you don't have a GPU, consider using vast.ai. Pls use this referral link so that I can keep using GPUs.
Refer to the help via vanity --help
for information on usage.
Usage: vanity [OPTIONS] --base <BASE> --owner <OWNER> --target <TARGET>
Options:
--base <BASE> The pubkey that will be the signer for the CreateAccountWithSeed instruction
--owner <OWNER> The account owner, e.g. BPFLoaderUpgradeab1e11111111111111111111111 or TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
--target <TARGET> The target prefix for the pubkey
--case-insensitive Whether user cares about the case of the pubkey
--logfile <LOGFILE> Optional log file
--num-cpus <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:
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, 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
Dependencies
~29–45MB
~770K SLoC