GithubHelp home page GithubHelp logo

vanitygen's Introduction

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 default, 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.

vanitygen's People

Contributors

filosottile avatar fizzisist avatar samr7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vanitygen's Issues

vanitygen can't create some namecoin addresses

vanitygen can't create namecoin addresses starting with the following strings:

Na, Nb, Nc, Nd, Ne, Nf, Ng, Nh, Ni, Nj, Nk, Nm, Nn, No, Np, Nq, Nr, Ns, Nt, Nu, Nv, Nw, Nx, Ny, Nz, NL, NM, NN, NP, NQ, NR, NS, NT, NU, NV, NW, NX, NY, NZ

however, others work
e.g.
./vanitygen -N NA
Difficulty: 23
Pattern: NA
Address: NA4Kg4Qo53H7AuamnD8nwzdwkQMKd1yJxo
Privkey: 73Jru2KUsQRh7cpp1ba65sFFHUG77BSrWp8D3MxxKr6JMGtRYW9

./vanitygen -N Na
Prefix 'Na' not possible
Hint: valid namecoin addresses begin with "M" or "N"

Windows crashing with 6990m

Hello,

Getting a crash trying to start oclvanitygen up. I've got dual 6990m's, but just trying with 1 for now.

Otherwise, I'm hashing/mining with cgminer on my laptop no problem.

here's my output:

D:\BTC-Vanity>oclvanitygen.exe -v -k -f gpulist.txt -o gpugenerated.txt -d 0 -w
32
Prefix difficulty: 2988734397852220 1TacoGeek
Prefix difficulty: 2988734397852220 1RedBeard
Prefix difficulty: 173346595075428786 1ToTheMoon
Prefix difficulty: 51529903411245 12TheMoon
Next match difficulty: 49797930214142 (4 prefixes)
Device: Barts
Vendor: Advanced Micro Devices, Inc. (1002)
Driver: 1084.4 (VM)
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1084.4)
Max compute units: 14
Max workgroup size: 256
Global memory: -2147483648
Max allocation: 536870912
OpenCL compiler flags: -DDEEP_PREPROC_UNROLL -DVERY_EXPENSIVE_BRANCHES -DDEEP_VL
IW -DAMD_BFI_INT
Compiling kernel, can take minutes...LLVM ERROR: Cannot select: 0x52e4628: i8 =
setcc 0x52d4410, 0x52e4e20, 0x52d40e0 [ID=80]
0x52d4410: i32 = AMDILISD::ADD 0x52e4e20, 0x52e4af0 [ID=63]
0x52e4e20: i32,ch = CopyFromReg 0x3440820, 0x52e4c88 [ORD=179] [ID=51]
0x52e4c88: i32 = Register %vreg40 [ORD=179] [ID=14]
0x52e4af0: i32,ch = load 0x3440820, 0x52e4d98, 0x52dd788<LD4[getelementptr i
nbounds ([8 x i32] addrspace(2)* @Modulus, i32 0, i32 7)]> [ORD=178] [ID=55]
0x52e4d98: i32 = Constant<28> [ID=39]
0x52dd788: i32 = undef [ORD=150] [ID=2]
0x52e4e20: i32,ch = CopyFromReg 0x3440820, 0x52e4c88 [ORD=179] [ID=51]
0x52e4c88: i32 = Register %vreg40 [ORD=179] [ID=14]

Improve FAQ on resuming search

I'm a new user, like many who'll read the the vanitygen FAQ and it's not exactly clear why you don't need to resume vanitygen. Does it automatically save its progress to some file?

Password recovery tools like those from ElcomSoft have resuming as a salient feature.

oclvanitygen / miner broken in Catalyst 13

I'm new to this and might be missing something but I can't get this to compile the kernel and run from Windows or Ubuntu Linux with my MSI R7970 (Tahiti) GPU running Catalyst 13 drivers. I can try to downgrade this weekend but I believe this is a real issue due to changes in their OpenCL?

C:\Users\shadowmite\Desktop\guiminer\vanitygen-0.22-win>oclvanitygen.exe -d 0 1Test123
Difficulty: 51529903411245
Compiling kernel, can take minutes...LLVM ERROR: Cannot select: 0x4953460: i8 =
setcc 0x494b288, 0x4953c58, 0x494af58 [ID=80]
0x494b288: i32 = AMDILISD::ADD 0x4953c58, 0x4953928 [ID=63]
0x4953c58: i32,ch = CopyFromReg 0x49fd2e8, 0x4953ac0 [ORD=179] [ID=51]
0x4953ac0: i32 = Register %vreg40 [ORD=179] [ID=14]
0x4953928: i32,ch = load 0x49fd2e8, 0x4953bd0, 0x4941568<LD4[getelementptr i
nbounds ([8 x i32] addrspace(2)* @Modulus, i32 0, i32 7)]> [ORD=178] [ID=55]
0x4953bd0: i32 = Constant<28> [ID=39]
0x4941568: i32 = undef [ORD=150] [ID=2]
0x4953c58: i32,ch = CopyFromReg 0x49fd2e8, 0x4953ac0 [ORD=179] [ID=51]
0x4953ac0: i32 = Register %vreg40 [ORD=179] [ID=14]

C:\Users\shadowmite\Desktop\guiminer\vanitygen-0.22-win>

Same basic error in linux.

Installation on Linux

Can you help me with the linux installation? I think I'm just a little to newby to successfully compile something on linux, so this is more a question than an issue.

When I type make I get the following output:

user@JLaptop:~/MyPrograms/VanityAddr/vanitygen-master$ make
cc -ggdb -O3 -Wall -c -o vanitygen.o vanitygen.c
vanitygen.c:26:25: fatal error: openssl/sha.h: No such file or directory
compilation terminated.
make: *** [vanitygen.o] Error 1

Add ASIC support

With ASIC's coming out soon I wonder how difficult would it be to implement?

[OSX 10.9] CL_BUILD_PROGRAM_FAILURE (Error returned by cvms_element_build_from_source)

Hey, thanks for your work on this awesome project!
I've managed to get it to compile in OSX but i can't get the open CL kernel to compile. Any ideas what might be up?

Compiling kernel, can take minutes...vg_ocl_context_callback error: [CL_DEVICE_NOT_AVAILABLE] : OpenCL Error : Error: Build Program driver returned (517)
vg_ocl_context_callback error: OpenCL Warning : clBuildProgram failed: could not build program for 0x1021b00 (ATI Radeon Barts XT Prototype) (err:-2)
vg_ocl_context_callback error: [CL_BUILD_ERROR] : OpenCL Build Error : Compiler build log:
Error returned by cvms_element_build_from_source

failure.
clBuildProgram: CL_BUILD_PROGRAM_FAILURE
Build log:
Error returned by cvms_element_build_from_source
Device: ATI Radeon Barts XT Prototype
Vendor: AMD (1021b00)
Driver: 1.2 (Sep 19 2013 22:22:06)
Profile: FULL_PROFILE
Version: OpenCL 1.2 
Max compute units: 14
Max workgroup size: 256
Global memory: 1073741824
Max allocation: 268435456
Available OpenCL platforms:
0: [Apple] Apple
  0: [Intel] Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
  1: [AMD] ATI Radeon Barts XT Prototype

CL_BUILD_PROGRAM_FAILURE

Hello,

I've compiled vanitygen and trying to run the miner.

Any ideas, how to fix the following error?

Thanks so far!

./oclvanityminer -u https://vanitypool.appspot.com/ -a XXXX
Compiling kernel, can take minutes...1 error generated.
failure.
clBuildProgram: CL_BUILD_PROGRAM_FAILURE
Build log:
Compilation started
1:173:19: error: constant address space qualified variables are required to be initialized
Compilation failed
Device: Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz
Vendor: Intel(R) Corporation (8086)
Driver: 1.2.0.76921
Profile: FULL_PROFILE
Version: OpenCL 1.2 (Build 76921)
Max compute units: 140733193388036
Max workgroup size: 8192
Global memory: 8271249408
Max allocation: 2067812352
Available OpenCL platforms:
0: [Intel(R) Corporation] Intel(R) OpenCL
0: [Intel(R) Corporation] Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz

Decrypting ProtKey

I encrypted vanitygen results and now i got ProtKey, how can i decrypt it?

Thanks!

C Compiler

Hello friends, what is the best program for Windows to compile the project sources.

keyconv support for different address versions

keyconv works fine for bitcoin addresses:

D:\vanitygen>vanitygen64 1Ate
Difficulty: 77178
Pattern: 1Ate
Address: 1AtevZD4rHgY8Ft76Kg1huHBNmBdQMsSP2
Privkey: 5JLdTDjaHWQnnJgvQmqpi4QpRmtTGxsSuNAGDGxzPCz3QZmNGNb

D:\vanitygen>keyconv 5JLdTDjaHWQnnJgvQmqpi4QpRmtTGxsSuNAGDGxzPCz3QZmNGNb
Address: 1AtevZD4rHgY8Ft76Kg1huHBNmBdQMsSP2
Privkey: 5JLdTDjaHWQnnJgvQmqpi4QpRmtTGxsSuNAGDGxzPCz3QZmNGNb

However keyconv incorrectly returns a bitcoin address when an address is generated for a different address version than bitcoin:

D:\vanitygen>vanitygen64 -X 56 Pts
Difficulty: 1353
Pattern: Pts
Address: PtspWgjPH1qX6NLcCYs8xpUtXrqy2R6KDF
Privkey: 7Bqpv6dMiFX6m6CiXzk33CVNRVTJTziuFHf5NG2ZWvgq1mxF1dA

D:\vanitygen>keyconv 7Bqpv6dMiFX6m6CiXzk33CVNRVTJTziuFHf5NG2ZWvgq1mxF1dA
Address: 1Mx3Nc3FWutTJ6Xkq4DHooEqHcR9GvHwBm
Privkey: 7Bqpv6dMiFX6m6CiXzk33CVNRVTJTziuFHf5NG2ZWvgq1mxF1dA

There seems to be no way to tell keyconv which version to use. None of the alt-coin generated addresses can use private key encryption because keyconv will not be able to properly decrypt them.

Compile in xcode on 10.10?

Hi,
I am able to compile it in linux but not on my 10.10 mac. I already installed brew, added libcurl and libssl but I can't get Xcode to compile it. Error is:

Undefined symbols for architecture x86_64:
"_pcre_compile", referenced from:
_vg_regex_context_add_patterns in pattern.o
"_pcre_exec", referenced from:
_vg_regex_test in pattern.o
"_pcre_free", referenced from:
_vg_regex_context_add_patterns in pattern.o
_vg_regex_context_clear_all_patterns in pattern.o
_vg_regex_test in pattern.o
"_pcre_study", referenced from:
_vg_regex_context_add_patterns in pattern.o
"_vg_ocl_context_free", referenced from:
_main in oclvanitygen.o
"_vg_ocl_context_new", referenced from:
_main in oclvanityminer.o
_main in oclvanitygen.o
"_vg_ocl_context_new_from_devstr", referenced from:
_main in oclvanityminer.o
_main in oclvanitygen.o
"_vg_ocl_enumerate_devices", referenced from:
_main in oclvanityminer.o
_main in oclvanitygen.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

What am I missing?

debian package

On August 20. I sent the following mail to Sam Revitch [email protected] and never got a response. I hope through this channel I will have more success.

Hi Sam,

I'm in the process of packaging your vanitygen for debian.
https://mentors.debian.net/package/vanitygen

Now I ran into a copyright issue.
http://lintian.debian.org/tags/possible-gpl-code-linked-with-openssl.html

I didn't know the AGPL before, so I did some research on the internet.
I'm not entirely sure, but I think it has the same incompatibility with
the openssl license as the GPL does.
So, for me to be able to make a debian policy compliant package, you
would need to add something along these lines to the copyright of
vanitygen:

In addition, as a special exception, the copyright holders give
permission to link the code of portions of this program with the
OpenSSL library under certain conditions as described in each
individual source file, and distribute linked combinations
including the two.
You must obey the Affero GNU General Public License in all respects
for all of the code used other than OpenSSL. If you modify
file(s) with this exception, you may extend this exception to your
version of the file(s), but you are not obligated to do so. If you
do not wish to do so, delete this exception statement from your
version. If you delete this exception statement from all source
files in the program, then also delete it here.

Rgds
Richard

List of supported GPU's

Is there a list of graphic cards that are supported with oclvanitygen?
Out of the three devices I tried, only one worked. I don't have the model here right now, but it's a GeForce, that's about three years old.
The ones that didn't work were:

  • GeForce 9800 GT (about six years old)
  • Intel 4400 (In a Dell XPS13DE)(brand new)

I'm not so terribly fluent with OpenCL yet, but for the intel card, I figured that the OpenCL driver doesn't support the kind of callback that's used. I tried without that callback, but that only got me one step further.
With the GeForce, I didn't look too closely yet. That's the output I get : vg_ocl_context_callback error: CL_MEM_OBJECT_ALLOCATION_FAILURE error executing CL_COMMAND_NDRANGE_KERNEL

Last month, I ordered a CuBox (http://imx.solid-run.com/product/cubox-i4-pro/) for use with oclvanitygen, as they write it comes with OpenCL. But after the experience above, I'm a bit worried that it won't work.

Arkstone wrong private key

I just tried to generate Arkstone (ARS) address witch vanitygen.

 # ./vanitygen -X 23 A
Difficulty: 1
Pattern: A                                                                     
Address: ARQUSUpDeEAuhMaMoJEYsUYcsukZUB4Uzp
Privkey: 65eW1eWAoehzHfa3hE83cSATkzpQ98Q9A79DUv4jAN6g4bwzSTn

when I try import this key, arkstoned give me error "incorect private key"
but validateaddress return "true"

When I dump privatekey from arkstoned all privatekeys start witch "E" not "6"

arkstone chainparams:

        base58Prefixes[PUBKEY_ADDRESS] = 23;
        base58Prefixes[SCRIPT_ADDRESS] = 83;
        base58Prefixes[SECRET_KEY] = 88;

maybe we need add params to set privatekey prefix ?

Fix for AMD OCL crashing on windows (Or I believe so)

The OCL compiler is crashing on windows, and can be fixed by adding the flag -fbin-amdil to the compiler options. But I'm not sure how that is done in C code, as I have only tried it using AMD's KernelAnalyzer

Why these two lines don't let OSX install vanitygen?

I couldn't install the on OSX using ' make ', so @Habbie told me to remove these two lines in ' util.c ' file and then I could finally install vanytigen.

line 353: #if OPENSSL_VERSION_NUMBER < 0x10000000L

line: 462: #endif /* OPENSSL_VERSION_NUMBER < 0x10000000L */

Add FAQ: why does the time estimate stop after finding some patterns from a file?

./vanitygen -f vanities.lst
Next match difficulty: 27885950 (54 prefixes)
Pattern: 1xxxxx
Address: 1xxxxx...
Privkey: ...
Next match difficulty: 31241520 (53 prefixes)
[350.69 Kkey/s][total 53110663][Prob 64.7%][75% in 30.7s][Found 1/54]
Pattern: 1yyyyy
Address: 1yyyyy...
Privkey: ...
Next match difficulty: 35515123 (52 prefixes)
[321.25 Kkey/s][total 347147842][Found 2/54]

There is no time estimate after two prefixes were found.

Compilation error on OS X Mavericks - workaround

Hello, I got the error
pattern.c:32:10: fatal error: 'pcre.h' file not found #include <pcre.h>

After building/installing pcre 8.35 and openssl 1.0.1h.

To work around this, I first did:

ln -s /usr/local/include/pcre.h /usr/include/
and then in the vanitygen directory:
make CFLAGS=-I/usr/include

Perhaps you could improve the Makefile so this kind of custom setting isn't necessary.

Check for pcre during Make and provide instructions

My Makefile skills are a bit rusty, but it would be great (albeit not super important) if it were to check for the presence of the pcre library and if it's absent tell people to install it.

Without it you just get:

# include <pcre.h>```

On Mac it can be installed with `brew install pcre`

Error compiling on Linux Mint

running into the following error when trying to "make"

$ make
cc -ggdb -O3 -Wall   -c -o vanitygen.o vanitygen.c
cc -ggdb -O3 -Wall   -c -o pattern.o pattern.c
pattern.c:32:18: fatal error: pcre.h: No such file or directory
 #include <pcre.h>
                  ^
compilation terminated.
make: *** [pattern.o] Error 1

No brew formula for vanity gem?

Just wanted to confirm whether there is any reason behind not providing a brew formula for vanitygen. Is this intentional or will one be approved if created?

Problem generating vanity for testnet dogecoin

Z:\vanitygen-0.22-win>vanitygen64.exe -X 30 -T mRobot
Prefix 'mRobot' not possible
Hint: valid testnet addresses begin with "m" or "n"

Z:\vanitygen-0.22-win>vanitygen64.exe -X 30 -T nRobot
Prefix 'nRobot' not possible
Hint: valid testnet addresses begin with "m" or "n"

Z:\vanitygen-0.22-win>vanitygen.exe -X 30 -T nRobot
Prefix 'nRobot' not possible
Hint: valid testnet addresses begin with "m" or "n"

Z:\vanitygen-0.22-win>vanitygen.exe -X 30 -T mRobot
Prefix 'mRobot' not possible
Hint: valid testnet addresses begin with "m" or "n"

I do not understand what is wrong.

New way to import private keys into wallet

I just spend a day writting standalone python script for importing/exporting keys (mostly based on bitcointools).
Probably it's the only alternative to showwallet patch so far (it works with the same private key format).
Specially for those who didn't manage to build showwallet, but knows how to set up python.
Options: --dumpwallet - dumps all keys in json format; --importprivkey= - imports private key from vanitygen
URL: https://github.com/joric/pywallet

CL mem object allocation failure

1st run, kernel compiling for a while
subsequent runs, error immediately

phree@radical:~/vanitygen$ ./oclvanitygen 1Wendy
Difficulty: 15318045009
Compiling kernel, can take minutes...done!
vg_ocl_context_callback error: CL_MEM_OBJECT_ALLOCATION_FAILURE error executing CL_COMMAND_NDRANGE_KERNEL on GeForce 9600 GT (Device 0).

clEnqueueNDRange(0): CL_MEM_OBJECT_ALLOCATION_FAILURE
Device: GeForce 9600 GT
Vendor: NVIDIA Corporation (10de)
Driver: 304.88
Profile: FULL_PROFILE
Version: OpenCL 1.0 CUDA
Max compute units: 8
Max workgroup size: 512
Global memory: 536543232
Max allocation: 134217728

phree@radical:~/vanitygen$ ./oclvanitygen 1der
Difficulty: 4553521
clEnqueueNDRange(0): CL_MEM_OBJECT_ALLOCATION_FAILURE
Device: GeForce 9600 GT
Vendor: NVIDIA Corporation (10de)
Driver: 304.88
Profile: FULL_PROFILE
Version: OpenCL 1.0 CUDA
Max compute units: 8
Max workgroup size: 512
Global memory: 536543232
Max allocation: 134217728
vg_ocl_context_callback error: CL_MEM_OBJECT_ALLOCATION_FAILURE error executing CL_COMMAND_NDRANGE_KERNEL on GeForce 9600 GT (Device 0).

phree@radical:/vanitygen$ uname -a
Linux radical 3.2.0-41-generic #66-Ubuntu SMP Thu Apr 25 03:28:09 UTC 2013 i686 i686 i386 GNU/Linux
phree@radical:
/vanitygen$

Support for other coins?

I would like to use this for other coins besides bitcoin, like PPC and ANC for example. Has anyone here had luck with modifying the code to do this?

Dont make after update OpenSSL on OSX 10.9.1

After updating OpenSSL, make gives an error.

$ make --debug
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0
Reading makefiles...
Updating goal targets....
 File `most' does not exist.
   File `vanitygen' does not exist.
     File `vanitygen.o' does not exist.
    Must remake target `vanitygen.o'.
cc -ggdb -O3 -Wall   -c -o vanitygen.o vanitygen.c
    Successfully remade target file `vanitygen.o'.
     File `pattern.o' does not exist.
    Must remake target `pattern.o'.
cc -ggdb -O3 -Wall   -c -o pattern.o pattern.c
    Successfully remade target file `pattern.o'.
     File `util.o' does not exist.
    Must remake target `util.o'.
cc -ggdb -O3 -Wall   -c -o util.o util.c
    Successfully remade target file `util.o'.
  Must remake target `vanitygen'.
cc vanitygen.o pattern.o util.o -o vanitygen -ggdb -O3 -Wall -lpcre -lcrypto -lm -lpthread
Undefined symbols for architecture x86_64:
  "_PKCS5_PBKDF2_HMAC", referenced from:
      _vg_protect_crypt in util.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [vanitygen] Error 1
$ openssl
OpenSSL> version
OpenSSL 1.0.1e 11 Feb 2013

Get vanitygen to build within emscripten

[colin@kid vanitygen]$ ../emscripten/emmake make vanitygen
/Users/colin/Source/emscripten/emcc -ggdb -O3 -Wall   -c -o vanitygen.o vanitygen.c
WARNING  root: Applying some potentially unsafe optimizations! (Use -O2 if this fails.)
WARNING  emcc: disabling closure because it is not compatible with asm.js code generation
clang: warning: argument unused during compilation: '-nostdinc++'
vanitygen.c:26:10: fatal error: 'openssl/sha.h' file not found
#include <openssl/sha.h>
         ^
1 error generated.
ERROR    emcc: compiler frontend failed to generate LLVM bitcode, halting
make: *** [vanitygen.o] Error 1

This is partially because I didn't build openssl or pcre using emscripten yet.

[keyconv] Optionally output full public key, given private key

Currently, keyconv $base58_privkey will generate and print the corresponding address for the private key, which is nice. What would be even nicer is if there were a flag (-p? -U?) that would cause keyconv to also print the full public key, in hex format (the way vanitygen -P $hex_pubkey takes it).

(keyconv -G already does this, but it always generates a new keypair.)

error running oclvanitygen

I built oclvanitygen from source on ubuntu 14.10 but when I try and run it I get an error

./oclvanitygen 1testDifficulty: 264104224
clGetPlatformIDs(0): Unknown code -1001
clGetPlatformIDs(0): Unknown code -1001
Available OpenCL platforms:

Anyone have any ideas on how to fix it?

"Stop after first match" option doesn't work

Despite -1 flag, it generates multiple addresses:

$ ./vanitygen -1 -t 6 1Rena
Difficulty: 264104224
Pattern: 1Rena                                                                 
Address: 1Rena68BBCMSyyCzbULaKP6qZfV68hsLq
Privkey: ...
Pattern: 1Rena                                                                 
Address: 1RenaqW4pQYRHopRAy6uV9ZUTwPbhWu7i
Privkey: ...
[874.95 Kkey/s][total 379069638][Prob 8.2%][50% in 3.1min][Found 2/1]          ^C

Wildcard Support

Generate an address using wildcards using the star char in the argument.

ie.

./vanitygen 1**_test**_git

keyconv doesn't recognize Protkey

Steps to reproduce:

  1. $ vanitygen -E foobar 1foo
    Pattern: 1foo
    Address: 1foou3WfTSHeS1BwXkXcPk8DCBjQBvz28
    Protkey: PsNEWTJjsQy1XQw8wsX2uUz24Q21YroDGsr6Bk7byLE8U9bAe8yLN4GtR53JYKs74XcG
  2. $ keyconv PsNEWTJjsQy1XQw8wsX2uUz24Q21YroDGsr6Bk7byLE8U9bAe8yLN4GtR53JYKs74XcG
    keyconv: util.c:330: vg_set_privkey: Assertion `EC_KEY_check_key(pkey)' failed.
    Aborted (core dumped)

Expected behavior
Step 2 should prompt for the password and then spit out the privkey.

Observed Behavior
keyconv core dumps.

Why Open SSL

Am I the only person who seriously questions why this "Standalone" generator needs Open SSL? Maybe I'm missing something... It just seems fishy in this context... can anyone enlighten me?

oclvanitygen

WARNING: Built with OpenSSL 0.9.8y 5 Feb 2013
WARNING: Use OpenSSL 1.0.0d+ for best performance
Difficulty: 2938077882634386
vg_ocl_context_callback error: OpenCL Build Warning : Compiler build log:
<program source>:211:1: warning: no previous prototype for function 'bn_lshift1'
bn_lshift1(bignum *bn)
^
<program source>:220:1: warning: no previous prototype for function 'bn_rshift'
bn_rshift(bignum *bn, int shift)
^
<program source>:239:1: warning: no previous prototype for function 'bn_rshift1'
bn_rshift1(bignum *bn)
^
<program source>:248:1: warning: no previous prototype for function 'bn_rshift1_2'
bn_rshift1_2(bignum *bna, bignum *bnb)
^
<program source>:264:1: warning: no previous prototype for function 'bn_ucmp_ge'
bn_ucmp_ge(bignum *a, bignum *b)
^
<program source>:276:1: warning: no previous prototype for function 'bn_ucmp_ge_c'
bn_ucmp_ge_c(bignum *a, __constant bn_word *b)
^
<program source>:292:1: warning: no previous prototype for function 'bn_neg'
bn_neg(bignum *n)
^
<program source>:318:1: warning: no previous prototype for function 'bn_uadd_words_seq'
bn_uadd_words_seq(bn_word *r, bn_word *a, bn_word *b)
^
<program source>:330:1: warning: no previous prototype for function 'bn_uadd_words_c_seq'
bn_uadd_words_c_seq(bn_word *r, bn_word *a, __constant bn_word *b)
^
<program source>:353:1: warning: no previous prototype for function 'bn_usub_words_seq'
bn_usub_words_seq(bn_word *r, bn_word *a, bn_word *b)
^
<program source>:366:1: warning: no previous prototype for function 'bn_usub_words_c_seq'
bn_usub_words_c_seq(bn_word *r, bn_word *a, __constant bn_word *b)
^
<program source>:379:1: warning: no previous prototype for function 'bn_uadd_words_vliw'
bn_uadd_words_vliw(bn_word *r, bn_word *a, bn_word *b)
^
<program source>:403:1: warning: no previous prototype for function 'bn_uadd_words_c_vliw'
bn_uadd_words_c_vliw(bn_word *r, bn_word *a, __constant bn_word *b)
^
<program source>:417:1: warning: no previous prototype for function 'bn_usub_words_vliw'
bn_usub_words_vliw(bn_word *r, bn_word *a, bn_word *b)
^
<program source>:441:1: warning: no previous prototype for function 'bn_usub_words_c_vliw'
bn_usub_words_c_vliw(bn_word *r, bn_word *a, __constant bn_word *b)
^
<program source>:477:1: warning: no previous prototype for function 'bn_mod_add'
bn_mod_add(bignum *r, bignum *a, bignum *b)
^
<program source>:485:1: warning: no previous prototype for function 'bn_mod_sub'
bn_mod_sub(bignum *r, bignum *a, bignum *b)
^
<program source>:492:1: warning: no previous prototype for function 'bn_mod_lshift1'
bn_mod_lshift1(bignum *bn)
^
<program source>:521:1: warning: no previous prototype for function 'bn_mul_mont'
bn_mul_mont(bignum *r, bignum *a, bignum *b)
^
<program source>:575:16: warning: comparison of integers of different signs: 'int' and 'unsigned long'
        for (q = 1; q < BN_NWORDS; q++) {
             ~ ^ ~~~~~~~~~
<program source>:589:1: warning: no previous prototype for function 'bn_from_mont'
bn_from_mont(bignum *rb, bignum *b)
^
<program source>:660:1: warning: no previous prototype for function 'bn_mod_inverse'
bn_mod_inverse(bignum *r, bignum *n)
^
<program source>:665:24: warning: comparison of integers of different signs: 'int' and 'unsigned long'
        for (shift = 0; shift < BN_NWORDS; shift++) {
                 ~~~~~ ^ ~~~~~~~~~
<program source>:763:1: warning: no previous prototype for function 'sha2_256_init'
sha2_256_init(uint *out)
^
<program source>:785:1: warning: no previous prototype for function 'sha2_256_block'
sha2_256_block(uint *out, uint *in)
^
<program source>:914:1: warning: no previous prototype for function 'ripemd160_init'
ripemd160_init(uint *out)
^
<program source>:923:1: warning: no previous prototype for function 'ripemd160_block'
ripemd160_block(uint *out, uint *in)
^
<program source>:1209:1: warning: no previous prototype for function 'hash_ec_point'
hash_ec_point(uint *hash_out, __global bn_word *xy, __global bn_word *zip)
^
<program source>:1350:1: warning: no previous prototype for function 'hash160_ucmp_g'
hash160_ucmp_g(uint *a, __global uint *bound)
^

oclvanitygen.exe not not showing private key - Nvidia GTX460 and newest driver

Hi.

oclvanitygen.exe no longer works for me. I'm using a Nvidia GTX460, and I've tried both latest driver (344.75) and an one that a tiny bit older (344.11).

This is what I see in the console:

oclvanitygen64.exe -d 1 1test
Difficulty: 264104224
[12.00 Mkey/s][total 234881024][Prob 58.9%][75% in 10.9s]
Match idx: 0
CPU hash: a82ad2cfc1b1b0f2f986df20d53b308328e5a65e
GPU hash: 09c4d525011acf68c3c32437602759574a05409f
Found delta: 1119198 Start delta: 47710209
[12.00 Mkey/s][total 249561088][Prob 61.1%][75% in 9.7s]

It just starts over like that until I kill it.

When I Google the issue, all I get is people talking about issues with AMD drivers. Since I don't use AMD, what could the problem be? I'd like to avoid downgrading graphics driver if possible.

EDIT: I should probably mention that I've tried oclvanitygen version 0.22 and 0.20.

EDIT 2: I should probably also tell you that I run Windows 7 x64.

Namecoin address prefix problems

I've encountered two problems with namecoin address generation, both with the prefix matching. Both of these were found using the Windows binaries for version 0.20

First, it says that certain Namecoin address prefixes are impossible when they are possible. I have seen this with NC, as below, N, and anything I've tried beginning with M:

C:\Program Files\Vanitygen>vanitygen64.exe -iN NC
Prefix 'NC' not possible
Hint: valid namecoin addresses begin with "M" or "N"

C:\Program Files\Vanitygen>vanitygen64.exe -iN NCoin
Difficulty: 4553521
Pattern: NCoin
Address: NCoinrjdvgjWXR81W6B9CNxT6tLgpAfZaj
Privkey: 74cKBhX2UWzutTPcvBvMDZA1HhSuVQ4NdLtU5VwmW4WnriN2fGW

The second issue is only probably a bug a bug (p < 1 in a million), but the case-insensitive match doesn't seem case insensitive for namecoin addresses: out of 10 addresses of the format NCoin that I generated, all with the -i flag, exactly 0 of them had a different capitalization despite there being two characters where this is possible (the C and the n).

pcre.h: No such file or directory

I have installed the packages pcre and pcre++ with port, but it still complains it can't find pcre.h...

looris@Palace-of-the-Nine-Moons:~/ext-Sviluppo/vanitygen $ make
cc -ggdb -O3 -Wall   -c -o pattern.o pattern.c
pattern.c:32:18: error: pcre.h: No such file or directory
pattern.c:1604: error: expected specifier-qualifier-list before ‘pcre’

Using OSX 10.6

Path to calc_addrs.cl is hardcoded

As written, calc_addres.cl must be in the current directory.

There should probably be a configurable option for this, as well as automatically searching a few sane default places such as $prefix/share/vanitygen/.

Makefile doesn't work in OSX Snow Leopard

sudo make /vanitygen-master/Makefile
make: Nothing to be done for `/vanitygen-master/Makefile'.

or

sudo /vanitygen-master/Makefile
/vanitygen-master/Makefile: line 1: -lcrypto: command not found
/vanitygen-master/Makefile: line 2: -O3: command not found
/vanitygen-master/Makefile: line 3: oclvanitygen.o: command not found
/vanitygen-master/Makefile: line 4: keyconv: command not found
/vanitygen-master/Makefile: line 6: shell: command not found
/vanitygen-master/Makefile: line 7: syntax error near unexpected token $(PLATFORM),Darwin' /vanitygen-master/Makefile: line 7:ifeq ($(PLATFORM),Darwin)'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.