Crate rustywallet_vanity

Crate rustywallet_vanity 

Source
Expand description

§rustywallet-vanity

High-performance vanity address generator for Bitcoin and Ethereum.

This crate provides tools for generating cryptocurrency addresses that match specific patterns, such as addresses starting with “1Love” or “1BTC”.

§Quick Start

use rustywallet_vanity::prelude::*;
use rustywallet_keys::prelude::Network;

// Search for an address starting with "1A"
let result = VanityGenerator::new()
    .pattern("1A")
    .search()
    .unwrap();

println!("Address: {}", result.address);
println!("Private Key (WIF): {}", result.private_key.to_wif(Network::Mainnet));
println!("Attempts: {}", result.stats.attempts);
use rustywallet_vanity::prelude::*;

// Search for any of multiple patterns
let result = VanityGenerator::new()
    .patterns(&["1Love", "1BTC", "1Coin"])
    .case_insensitive()
    .search_parallel()
    .unwrap();

println!("Found: {} (matched {})", result.address, result.matched_pattern);

§Difficulty Estimation

use rustywallet_vanity::prelude::*;

let gen = VanityGenerator::new().pattern("1Love");
let estimates = gen.estimate_difficulty();

for est in estimates {
    println!("{}", est);
    if let Some(warning) = est.warning() {
        println!("  {}", warning);
    }
}

§Address Types

use rustywallet_vanity::prelude::*;

// Legacy P2PKH (1...)
let result = VanityGenerator::new()
    .pattern("1Love")
    .address_type(AddressType::P2PKH)
    .search();

// Native SegWit (bc1q...)
let result = VanityGenerator::new()
    .pattern("bc1qtest")
    .address_type(AddressType::P2WPKH)
    .search();

// Ethereum (0x...)
let result = VanityGenerator::new()
    .pattern("0xdead")
    .address_type(AddressType::Ethereum)
    .case_insensitive()
    .search();

§Progress Tracking

use rustywallet_vanity::prelude::*;

let result = VanityGenerator::new()
    .pattern("1Love")
    .search_with_progress(|progress| {
        println!(
            "Checked {} keys ({:.0} keys/sec)",
            progress.attempts,
            progress.rate
        );
    });

Re-exports§

pub use address_type::AddressType;
pub use config::VanityConfig;
pub use difficulty::DifficultyEstimate;
pub use difficulty::DifficultyLevel;
pub use distributed::DistributedConfig;
pub use distributed::SearchCoordinator;
pub use distributed::SearchWorker;
pub use distributed::WorkResult;
pub use distributed::WorkUnit;
pub use error::PatternError;
pub use error::VanityError;
pub use generator::VanityGenerator;
pub use pattern::Pattern;
pub use regex_pattern::CommonPatterns;
pub use regex_pattern::RegexPattern;
pub use result::SearchProgress;
pub use result::SearchStats;
pub use result::VanityResult;

Modules§

address_type
Address type definitions and utilities.
config
Configuration for vanity address generation.
difficulty
Difficulty estimation for vanity patterns.
distributed
Distributed vanity address search.
error
Error types for vanity address generation.
generator
Vanity address generator.
pattern
Pattern matching for vanity addresses.
prelude
Convenient re-exports for common usage.
regex_pattern
Regex pattern matching for vanity addresses.
result
Result types for vanity address generation.