Skip to content

Fast Ethereum Vanity Address Generator

License

Notifications You must be signed in to change notification settings

SplittyDev/ethaddrgen

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ethaddrgen

Get a shiny ethereum address and stand out from the crowd!

Rewrite

This is a partial rewrite of the original repo by @Limeth.

I've modernized the codebase, upgraded all the way from Rust 2015 to 2021 edition, updated all packages and substituted them for modern and maintained versions where it made sense, enabled full LTO on release builds, improved concurrency and lock contention and improved the performance by around ~5.7x on my machine.

On my machine, regex matching on a release build went from ~70k op/s to ~400k op/s.

Features

  • Regex support (--regex/-e): Use regex pattern matching
  • Quiet mode (--quiet/-q): Output only the results
  • Stream mode (--stream/-s): Keep outputting results
  • Color settings (--color/-c): Enable/Disable colors
  • Dictionary support: If no patterns are provided as arguments, patterns are read from the standard input

Usage

Download the latest release here. To display usage, run ethaddrgen -h or ethaddrgen --help for a longer version. ethaddrgen expects the last arguments to be patterns. If no patterns are provided as arguments, ethaddrgen reads patterns from the standard input where each pattern is on a separate line.

Examples

Simple example

The following command will look for an address starting with either c0ffee, deadbeef or c0c0a. If you are on Windows, use ethaddrgen.exe instead of ethaddrgen.

ethaddrgen c0ffee deadbeef c0c0a

Regex example

The following command will look for an address starting with 10 letters. If you are on Windows, use ethaddrgen.exe instead of ethaddrgen.

ethaddrgen -e '^[abcdef]{10}'

Note that while supplying multiple regex patterns is supported, it is not recommended to use a large list of regex patterns.

Using pattern lists (dictionaries)

If no patterns are provided as arguments, patterns are read from the standard input. You can provide data to the standard input in various ways, depending on your platform:

  • Windows:
Get-Content patterns.txt | ethaddrgen.exe
  • Unix (macOS/Linux):
cat patterns.txt | ethaddrgen
# or
ethaddrgen < patterns.txt

where the patterns.txt file is a newline-separated list of patterns, for example:

c0ffee
deadbeef
c0c0a

It is not recommended to use large pattern lists with regex, as combining these features significantly decreases performance.

Compilation

The easiest way to get ethaddrgen is to download a pre-built binary here. You can also compile it yourself, if you wish so.

  1. Install Rust via Rustup.rs
  2. Clone this repository: git clone https://github.com/Limeth/ethaddrgen.git; cd ethaddrgen
  3. Compile the project: cargo build --release. The binary can then be found at target/release/ethaddrgen or ./target/release/ethaddrgen.exe on Windows machines.

About

Fast Ethereum Vanity Address Generator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%