6 releases

0.2.5 Nov 8, 2020
0.2.4 Oct 17, 2020
0.1.3 Jul 19, 2020
0.1.0 Oct 18, 2019

#232 in Magic Beans

Download history 7/week @ 2021-09-27 1/week @ 2021-10-04 7/week @ 2021-10-11 2/week @ 2021-10-18 3/week @ 2021-10-25 3/week @ 2021-11-01 8/week @ 2021-11-08 21/week @ 2021-11-15 30/week @ 2021-11-22 19/week @ 2021-11-29 20/week @ 2021-12-06 11/week @ 2021-12-13 17/week @ 2021-12-20 28/week @ 2021-12-27 22/week @ 2022-01-03 16/week @ 2022-01-10

83 downloads per month

MIT and LGPL-3.0

285KB
232 lines

nakatoshi

A Bitcoin Vanity Address generator.

nakatoshi accepts as input a prefix string (Or a file with multiple prefixes) to search for and produce a Bitcoin address and private / public keys. The amount of time required to find a given pattern depends on how long the string is, the speed of your computer, and whether you get lucky.

Install

MacOS

$ brew tap ndelvalle/nakatoshi
$ brew install nakatoshi

Cargo

$ cargo install nakatoshi

Manually

Download the latest released binary and add executable permissions:

# Linux example:
$ wget -O nakatoshi "https://github.com/ndelvalle/nakatoshi/releases/download/v0.2.4/nakatoshi-linux-amd64"
$ chmod +x nakatoshi

CLI

USAGE:
    nakatoshi [FLAGS] [OPTIONS] <prefix> --input-file <input-file>

FLAGS:
    -b, --bech32            Use Bech32 addresses. Starting with bc1q (Lowercase address)
    -c, --case-sensitive    Use case sensitive comparison to match addresses
    -h, --help              Prints help information
    -u, --uncompressed      Use uncompressed private an public keys
    -V, --version           Prints version information

OPTIONS:
    -i, --input-file <input-file>    File with prefixes to match addresses with
    -t, --threads <threads>          Number of threads to be used [default: The number of CPUs available on the current
                                     system]

ARGS:
    <prefix>    Prefix used to match addresses

Examples:

Generate a vanity address

nakatoshi 1Kids

Generate a vanity address and parse JSON response

nakatoshi 1Bitc | jq

Use a file with multiple prefixes

A file with one address prefix on each newline can be used to search for a vanity address. This reduces the time to find a result.

Example:

nakatoshi --input-file input.txt

The contents of the input.txt file looks like this:

1Kids
1Love

Bech32 addresses

nakatoshi -b bc1qki

Note: There is no need to search with the case-sensitive flag because bc1q addresses are always lowercase.

Development

# Build
$ cargo build

# Help
$ cargo run -- -help

Note: Cargo run creates an unoptimized executable with debug info. When testing the speed/throughput of the application, make sure to use cargo run --release.

Dependencies

~9MB
~192K SLoC

W_