Skip to content

Commit

Permalink
Vanitygen 0.1 as released on forum.
Browse files Browse the repository at this point in the history
  • Loading branch information
samr7 committed Jul 7, 2011
0 parents commit 927c650
Show file tree
Hide file tree
Showing 4 changed files with 874 additions and 0 deletions.
25 changes: 25 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Version 0.1, released July 4 2011:
- Exact prefix searching
- Regular expression searching

Version 0.2, released July 5 2011:
- Fix the regular expression problem reported by pyna and
molecular.
- Add support for multi-pattern searching.

Version 0.3, released July 5 2011:
- Resolve the pcre_study() bug reported by an0therlr3
- Add probability so far and time estimates suggested by davux
- Clean up the display, make it look more like phoenix miner

Version 0.4, released July 6 2011:
- Fix assertion failure when using exact prefixes starting with
more than one 1, reported by SgtSpike
- Port to Windows, start distributing Win32 binaries

Version 0.5, released July 7 2011:
- Now with worker threads and CPU count detection, suggested by
davux and others
- Exact prefixes can now be matched case-insensitively with
"-i", for SgtSpike
- Fixed an integer overflow problem with the status display
9 changes: 9 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
LIBS=-lpcre -lcrypto -lm -lpthread
CFLAGS=-ggdb -O3 -Wall
OBJS=vanitygen.o

vanitygen: $(OBJS)
$(CC) $(OBJS) -o $@ $(CFLAGS) $(LIBS)

clean:
rm -f $(OBJS) vanitygen
53 changes: 53 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
I'd like to present a standalone command line vanity address generator
called vanitygen.

There are plenty of quality tools to do this right now already. So why
use vanitygen? The main reason is that it is fast, more than an order
of magnitude faster than the official bitcoin client with the vanity
address patch applied. This is despite the fact that it runs on the
CPU and does not use OpenCL or CUDA. Vanitygen is also a bit more
user-friendly in that it provides feedback on its rate of progress and
how many keys it has checked.

Vanitygen is written in C, and is provided in source code form and
pre-built Win32 binaries. At present, vanitygen can be built on Linux,
and requires the openssl and pcre libraries.

Vanitygen can generate regular bitcoin addresses, namecoin addresses,
and testnet addresses.

Vanitygen can search for exact prefixes or regular expression matches.
When searching for exact prefixes, vanitygen will ensure that the
prefix is possible, will provide a difficulty estimate, and will run
about 30% faster. Exact prefixes are case-sensitive by default, but
may be searched case-insensitively using the "-i" option. Regular
expression patterns follow the Perl-compatible regular expression
language.

Vanitygen can accept a list of patterns to search for, either on the
command line, or from a file or stdin using the "-f" option. File
sources should have one pattern per line. When searching for N exact
prefixes, performance of O(logN) can be expected, and extremely long
lists of prefixes will have little effect on search rate. Searching
for N regular expressions will have varied performance depending on the
complexity of the expressions, but O(N) performance can be expected.

By defaut, vanitygen will spawn one worker thread for each CPU in your
system. If you wish to limit the number of worker threads created by
vanitygen, use the "-t" option.

The example below completed quicker than average, and took about 45 sec
to finish, using both cores of my aging Core 2 Duo E6600:

$ ./vanitygen 1Love
Difficulty: 4476342
[48165 K/s][total 2080000][Prob 37.2%][50% in 21.2s]
Pattern: 1Love
Address: 1LoveRg5t2NCDLUZh6Q8ixv74M5YGVxXaN
Privkey: 5JLUmjZiirgziDmWmNprPsNx8DYwfecUNk1FQXmDPaoKB36fX1o

Currently, it is difficult to import the private key into bitcoin.
Sipa's showwallet branch has a new command called "importprivkey" that
accepts the base-58 encoded private key. Vanitygen has been tested to
work with that version of bitcoin.

Loading

0 comments on commit 927c650

Please sign in to comment.