#crypto #ethereum #blockchain #evm #cli #random #benchmark

yanked vanify

A CLI tool to generate a vanity addresses for EVM-based blockchains

0.2.0 Oct 20, 2022
0.2.0-beta Oct 17, 2022
0.1.3 Oct 11, 2022

#162 in #evm

MIT license

39KB
800 lines

๐Ÿฆš Brute-force vanity addresses generator for EVM-based blockchains.

Vanity addresses are crypto public keys, personalized and created respecting a series of parameters given by the users of said addresses. This with the aim of making them more personal and easily identifiable, but without giving up the security they provide.

Vanify is a complete implementation of the brute-force vanity address generator for EVM-based blockchains, such as Ethereum, Binance Smart Chain, Polygon, etc, written in Rust.

It supports prefix, suffix, and multiple infixes and disfixes validation, JSON, CSV, XML, and TSV export, optional benchmarking, hex strings formatting, and more.

Table of contents

Installation

From source

You can install Vanify from source by cloning the repository and running the following commands:

$ git clone
$ cd vanify
$ cargo install --path .

From crates.io

You can install Vanify from crates.io by running the following command:

$ cargo install vanify

Usage

Vanify can be used in two ways:

  1. As a standalone application, which will generate a random address and check if it matches the given parameters.
  2. As a library, which can be used to generate addresses in a loop.

As a standalone application

To use Vanify as a standalone application, you can run the following command:

$ vanify -p 1234 -s 5678 -n 10

This will generate 10 addresses starting with 0x1234 and ending with 5678.

Options

It supports the following parameters:

USAGE:
    vanify [OPTIONS]

OPTIONS:
    -b, --benchmark                         Benchmark mode
    -c, --csv                               Export to CSV file
    -e, --excludes-all <EXCLUDES-ALL>...    Excludes all substring(s)
    -E, --excludes-any <EXCLUDES-ANY>...    Excludes any substring(s)
    -f, --filename <FILENAME>               Filename for exports
    -h, --help                              Print help information
    -i, --includes-all <INCLUDES-ALL>...    Includes all substring(s)
    -I, --includes-any <INCLUDES-ANY>...    Includes any substring(s)
    -j, --json                              Export to JSON file
    -n, --number <NUMBER>                   Number of addresses to search for
    -p, --prefix <PREFIX>                   Prefix to search for
    -r, --random                            Randomize private key generation
    -R, --random-unique                     Randomize private key generation and ensure uniqueness
    -s, --suffix <SUFFIX>                   Suffix to search for
    -t, --tsv                               Export to TSV file
    -T, --trim-hex                          Trim 0x from output keys
    -v, --verbose                           Verbose output
    -V, --version                           Print version information
    -x, --xml                               Export to XML file
    -X, --xlsx                              Export to XLSX file

If a file export option is provided, the results will be exported to relative path /results.

As a library

To use Vanify as a library, you can add it to your Cargo.toml file:

[dependencies]
vanify = "0.2.0"

And then use it in your code:

use vanify::vanity;

New features

0.2.0 comes with the following new features:

  • โœ… Added input validation
  • ๐Ÿ”  Added support for upper case affix inputting
  • ๐Ÿงช Added more comprehensive tests
  • โŒ Better error handling
  • ๐Ÿ—๏ธ Better module structure
  • ๐Ÿ“ Better documentation
  • ๐Ÿ’… Prettier output
  • ๐ŸŽฒ Choose between random or sequential private key generation
  • ๐Ÿช† Added includes and excludes ALL or OR logic
  • โŽ Added export to .xlsx

And solves the following issues:

  • ๐Ÿ› Fixed export to .tsv formatting bug

License

Vanify is licensed under the MIT License.

Contributing

If you want to contribute to Vanify, you can do so by opening a pull request or an issue.

Dependencies

~6MB
~90K SLoC