Skip to content

πŸ“‡ Tiny and fast command line tool to find vanity Ethereum addresses.

License

Notifications You must be signed in to change notification settings

bcsongor/tinyvanityeth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

tinyvanityeth ✨ Build GitHub tag (with filter)

Tiny and fast command line tool to find vanity Ethereum addresses that match a given pattern.

tinyvanityeth screenshot

πŸ“¦ Install

Prerequisites

  • Rust (1.60+)
  • Cargo

On macOS, use Homebrew to install Rust & Cargo via brew install rustup.

For other platforms, please see the official installation guide.

Installing tinyvanityeth

After Cargo and Rust is installed, run the command below which installs the latest version of tinyvanityeth.

cargo install --git https://github.com/bcsongor/tinyvanityeth

πŸ’ͺ Usage

Usage: tinyvanityeth [options]

Options:
    -c, --case-sensitive    enables case-sensitive search
    -p, --prefix PREFIX     address prefix to search for
    -s, --suffix SUFFIX     address suffix to search for
    -r, --regexp REGEXP     regular expression to search for
    -t, --threads COUNT     number of threads to use (default num_cpus)
    -i, --interval SECONDS  statistics print interval (default 10)

Suffix or prefix and regular expression rules are mutually exclusive.

Examples

Find an address that starts with 5eaf00d.

tinyvanityeth -p 5eaf00d

Find an address that ends with 5eaf00d.

tinyvanityeth -s 5eaf00d

Find a checksum address that starts with 5EAF00D, print statistics every 60 seconds.

tinyvanityeth -c -p 5EAF00D -i 60

Find an address that starts and ends with 000.

tinyvanityeth -p 000 -s 000

Find an address that contains 00000.

tinyvanityeth -r '0{5}'

Find a checksum address that either starts with B000 or ends with F000.

tinyvanityeth -c -r '^B000|F000$'

πŸš€ Performance

tinyvanityeth achieves optimal speed by avoiding expensive heap allocations in the critical path and by using high-performance libraries for EC key generation and hashing, like secp256k1 and tiny_keccak.

Benchmarks

Case-insensitive search for an address with the prefix 5eaf00d. 🍣

Apple M1 Max (stable-aarch64-apple-darwin - rustc 1.61.0)

Platform Speed
tinyvanityeth ~488,247 addr/sec
vanity-eth.tk ~19,047 addr/sec

Intel Xeon E5-1620v2 (stable-x86_64-pc-windows-msvc - rustc 1.61.0)

Platform Speed
tinyvanityeth ~77,084 addr/sec
vanity-eth.tk ~4,889 addr/sec

πŸ§‘β€πŸ’» Development

Build

Please note, release builds contain optimisations which can positively affect performance. It is not recommended to use debug builds for searching addresses.

# Debug
cargo build

# Release
cargo build --release

Run unit tests

cargo test