GPU-accelerated vanity address generator for multiple blockchains
# Build CPU-only binary
cargo build -p vanity-miner --release
# Run
./target/release/vanity-miner solana-vanity aaa ""
./target/release/vanity-miner ethereum-vanity 555555 ""
./target/release/vanity-miner bitcoin-vanity bc1qqqqq ""
./target/release/vanity-miner shallenge brandonros 000000000000cbaec87e070a04c2eb90644e16f37aab655ccdf683fdda5a6f96# Build GPU-enabled binary
cargo build -p vanity-miner --features gpu --release
# Run (requires CUBIN_PATH or PTX_PATH environment variable)
CUBIN_PATH=./output.cubin ./target/release/vanity-miner solana-vanity aaa ""./target/release/vanity-miner --help- compile
no_stdRustlogic+kernelslibraries (specifically 1.86.0 because it was built against LLVM 19) targetingriscv64gc-unknown-none-elfdue to its simplicity in instruction set - make it emit LLVM IR instead of an actual binary
- Adapt the RISC-V LLVM IR to NVPTX64 LLVM IR
- assemble the NVPTX64 LLVM IR to NVPTX64 LLVM bitcode
- feed the NVPTX64 LLVM bitcode to new CUDA toolkit 13.0
libNVVMwhich adds support for LLVM19 for Blackwell (previous architectures only support LLVM v7 which is very old) to get Nvidia's PTX (Parallel Thread Execution) - feed the PTX to
ptxasto get CUBIN SaSS (Streaming ASSembler) - run the CUBIN on device with
vanity-miner --features gpu