Author

Topic: Vanitygen: Vanity bitcoin address generator/miner [v0.22] - page 132. (Read 1153383 times)

legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
Hi all.   I'm really surprised that vanitygen hasn't switched to generating compressed keys.

Uncompressed keys have public keys about twice the size of compressed ones and this means that when you use vanitygen produced addresses you end up paying more in transaction fees, causing more increase in blockchain size, etc.

I have modified my own copy of vanitygen to produce compressed keys...

Please upload your version of vanitygen. We will all be grateful for it. Put a disclaimer on your version if you don't like support or whatever, I am sure it will work just fine as is if the only modification was making it produce compressed keys.

AFAICT, he never did.  I dug around in the vanitygen code a bit and got it to spit out compressed addresses without too much difficulty.  I've put my fork up here:

https://github.com/salfter/vanitygen

As an added bonus, it'll generate Litecoin vanity addresses (compressed or uncompressed).  Since I'm not sure if script addresses can be compressed, I made script addresses and compressed addresses mutually exclusive.  Use something like this to get a compressed Bitcoin address:

Code:
vanitygen -F compressed 1

To get a compressed Litecoin vanity address, use something like this:

Code:
vanitygen -LF compressed Lfoo

I've checked the generated addresses against bitaddress.org and liteaddress.org; it looks like it's doing what it should.


How do I compile that? or are there windows binaries already available?
sr. member
Activity: 266
Merit: 250
Hi all.   I'm really surprised that vanitygen hasn't switched to generating compressed keys.

Uncompressed keys have public keys about twice the size of compressed ones and this means that when you use vanitygen produced addresses you end up paying more in transaction fees, causing more increase in blockchain size, etc.

I have modified my own copy of vanitygen to produce compressed keys...

Please upload your version of vanitygen. We will all be grateful for it. Put a disclaimer on your version if you don't like support or whatever, I am sure it will work just fine as is if the only modification was making it produce compressed keys.

AFAICT, he never did.  I dug around in the vanitygen code a bit and got it to spit out compressed addresses without too much difficulty.  I've put my fork up here:

https://github.com/salfter/vanitygen

As an added bonus, it'll generate Litecoin vanity addresses (compressed or uncompressed).  Since I'm not sure if script addresses can be compressed, I made script addresses and compressed addresses mutually exclusive.  Use something like this to get a compressed Bitcoin address:

Code:
vanitygen -F compressed 1

To get a compressed Litecoin vanity address, use something like this:

Code:
vanitygen -LF compressed Lfoo

I've checked the generated addresses against bitaddress.org and liteaddress.org; it looks like it's doing what it should.


Yeah, the code to change the format is fairly simple, just tweaking the OpenSSL parameters for point generation and adjusting a few buffer sizes. I decided to build my own miner for shoots and googles with CryptoPP, which is better documented, but has no built in ability to spit out compressed pubkeys. As far as  I can tell. So I had to do it the longer way.

Now we just need the pool to start taking compressed keys.
hero member
Activity: 651
Merit: 501
My PGP Key: 92C7689C
Hi all.   I'm really surprised that vanitygen hasn't switched to generating compressed keys.

Uncompressed keys have public keys about twice the size of compressed ones and this means that when you use vanitygen produced addresses you end up paying more in transaction fees, causing more increase in blockchain size, etc.

I have modified my own copy of vanitygen to produce compressed keys...

Please upload your version of vanitygen. We will all be grateful for it. Put a disclaimer on your version if you don't like support or whatever, I am sure it will work just fine as is if the only modification was making it produce compressed keys.

AFAICT, he never did.  I dug around in the vanitygen code a bit and got it to spit out compressed addresses without too much difficulty.  I've put my fork up here:

https://github.com/salfter/vanitygen

As an added bonus, it'll generate Litecoin vanity addresses (compressed or uncompressed).  Since I'm not sure if script addresses can be compressed, I made script addresses and compressed addresses mutually exclusive.  Use something like this to get a compressed Bitcoin address:

Code:
vanitygen -F compressed 1

To get a compressed Litecoin vanity address, use something like this:

Code:
vanitygen -LF compressed Lfoo

I've checked the generated addresses against bitaddress.org and liteaddress.org; it looks like it's doing what it should.
hero member
Activity: 1036
Merit: 504
Becoming legend, but I took merit to the knee :(
I'm using Ubuntu and vanitygen on CPU works just fine. I've tried to use GPU but got the error:

oclvanitygen also crashes on me on Windows 7:

Code:
D:\mining\vanitygen-0.22>oclvanitygen.exe -v -d 0 1111
Prefix difficulty:             16777216 1111
Difficulty: 16777216
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: 12
Max workgroup size: 256
Global memory: 1073741824
Max allocation: 536870912
OpenCL compiler flags: -DDEEP_PREPROC_UNROLL -DVERY_EXPENSIVE_BRANCHES -DDEEP_VLIW -DAMD_BFI_INT
Compiling kernel, can take minutes...LLVM ERROR: Cannot select: 0x5f02c10: i8 =
setcc 0x44e1688, 0x5f03408, 0x44e1358 [ID=80]
  0x44e1688: i32 = AMDILISD::ADD 0x5f03408, 0x5f030d8 [ID=63]
    0x5f03408: i32,ch = CopyFromReg 0x593ede0, 0x5f03270 [ORD=179] [ID=51]
      0x5f03270: i32 = Register %vreg40 [ORD=179] [ID=14]
    0x5f030d8: i32,ch = load 0x593ede0, 0x5f03380, 0x44e09b0 [ORD=178] [ID=55]
      0x5f03380: i32 = Constant<28> [ID=39]
      0x44e09b0: i32 = undef [ORD=150] [ID=2]
  0x5f03408: i32,ch = CopyFromReg 0x593ede0, 0x5f03270 [ORD=179] [ID=51]
    0x5f03270: i32 = Register %vreg40 [ORD=179] [ID=14]

Dear odolvlobo,

downgrade your AMD Drivers to 12.8 , all versions above 12.8 have errors with oclvanitygen  Tongue

Unless you are using it in a VM, which means there is a problem with the VM GPU driver

XOXO
newbie
Activity: 38
Merit: 0
to test against that proposition
try to combine the two parts (offline with the script from) bitaddress.org (on tab "Vanity Wallet") yourself and find out if this is right (not fitting the pattern) that way.
the test you can do with the public keys as you should not have the first private key.
and make sure you submit a not encryptet private key, not a protkey and not a pubkey to the pool.

when you can make sure you are right and the vanitypool website is not you can contact them with that issue directly (there is an email button on the bottom of the website).

Yeah, I should have known there was an easy way to confirm the server side is broken.

I verified with bitaddress.org and have sent a private message raising the issue.

Thanks for the suggestion!
sr. member
Activity: 314
Merit: 250
to test against that proposition
try to combine the two parts (offline with the script from) bitaddress.org (on tab "Vanity Wallet") yourself and find out if this is right (not fitting the pattern) that way.
the test you can do with the public keys as you should not have the first private key.
and make sure you submit a not encryptet private key, not a protkey and not a pubkey to the pool.

when you can make sure you are right and the vanitypool website is not you can contact them with that issue directly (there is an email button on the bottom of the website).
newbie
Activity: 38
Merit: 0
Is something wrong with the pool?

I've found 2 keys according to oclvanitygen but when I go to put the privkey part into the web interface, I either get a 500 error or "Solution does not match the pattern".
hero member
Activity: 720
Merit: 525
you do not even need a protkey, thats just to protect the transfer

* create keypair (no specific target needed)
* provide public key in hex format (e.g. from ./keyconv -G)
* search difference / divisor for the target and your pubkey (e.g. -P option for vanitygen)
* after finding the needed privkey add / multiply it with your first privkey (e.g. -c option for keyconv)
* you got the vanity address

for more detail just read through https://vanitypool.appspot.com, also bitaddress.org is handy to do it if you used the pool.
if you have further questions after reading, point out your specific problem.

Unfortunately, you are talking a bit too tech savy for me in particular. I'm using oclvanitygen, rather than vanitygen. I do not see a keyconv file within these, nor am I familiar with it. I'm just looking for the method of solving a vanity address by using the split key that someone else provides.

For example I type:
Code:
oclvanitygen -d 0 -E [TheKeyThatTheyGiveMe] 1VanityWhateverTheyWantHere

And, when solved, it will give me a protkey. Do I simply give them that protkey and address and that's the end of it?

To be clear, this is not split-key generation. If you use the -E or -e option, you are just encrypting the address, but you still have full access to it, so this isn't secure for the other person.

As vv01f suggested, instead of -E, change that to -P (followed by their public key). You will provide to your friend the "PrivKey" that oclvanitygen will print out when finished. He or she can then use bitaddress.org to combine the two (their private key + this partial private key) to produce the final private key and address.
sr. member
Activity: 314
Merit: 250
For example I type:
Code:
oclvanitygen -d 0 -E [TheKeyThatTheyGiveMe] 1VanityWhateverTheyWantHere
This will result in a privkey ecrypted with the password [TheKeyThatTheyGiveMe]

the command option -P for vanitygen also works on the ocl version although it aint documented in the software (via --help) it is in this thread and in the switching functions code (line 225 of the pad, as part of main() )
the keyconv tool is precompiled in an older package of vanitygen (or compile it yourself)

dont -E, use -e instead Wink that comment in help is there for a reason

(ocl)vanitygen will give you a private key (can be encrypted = protected private key), you're done when you have the 2nd part distributed to the "customer"
legendary
Activity: 977
Merit: 1000
you do not even need a protkey, thats just to protect the transfer

* create keypair (no specific target needed)
* provide public key in hex format (e.g. from ./keyconv -G)
* search difference / divisor for the target and your pubkey (e.g. -P option for vanitygen)
* after finding the needed privkey add / multiply it with your first privkey (e.g. -c option for keyconv)
* you got the vanity address

for more detail just read through https://vanitypool.appspot.com, also bitaddress.org is handy to do it if you used the pool.
if you have further questions after reading, point out your specific problem.

Unfortunately, you are talking a bit too tech savy for me in particular. I'm using oclvanitygen, rather than vanitygen. I do not see a keyconv file within these, nor am I familiar with it. I'm just looking for the method of solving a vanity address by using the split key that someone else provides.

For example I type:
Code:
oclvanitygen -d 0 -E [TheKeyThatTheyGiveMe] 1VanityWhateverTheyWantHere

And, when solved, it will give me a protkey. Do I simply give them that protkey and address and that's the end of it?
sr. member
Activity: 314
Merit: 250
you do not even need a protkey, thats just to protect the transfer

* create keypair (no specific target needed)
* provide public key in hex format (e.g. from ./keyconv -G)
* search difference / divisor for the target and your pubkey (e.g. -P option for vanitygen)
* after finding the needed privkey add / multiply it with your first privkey (e.g. -c option for keyconv)
* you got the vanity address

for more detail just read through https://vanitypool.appspot.com, also bitaddress.org is handy to do the combination if you used the pool.
if you have further questions after reading, point out your specific problem.
legendary
Activity: 977
Merit: 1000
Can someone please explain to me the split key process? Basically just add the -e method and input the key that the person gives you and once you solve it give them the protkey? Is it that easy?
full member
Activity: 124
Merit: 100
Hardhat Required in This Area
I cannot get the GPU version to print a finished address out. It just repeats some garbage information and keeps looking. CPU genaration works fine. It would be great to generate these in Mkey/s than Kkey/s. HD7950 specifying my device number as 0:0, but after getting to what would be 100% it just keeps going and finds nothing.

It's an AMD driver issue. I get the same issues on my rig. 13.4 gives the GPU/CPU mismatch and 13.1 fails when building the kernel.

12.8 is one of the functional drivers.

OK, I will give it a shot.
sr. member
Activity: 266
Merit: 250
aka 7Strykes
I'm using Ubuntu and vanitygen on CPU works just fine. I've tried to use GPU but got the error:
Code:
~/Pulpit/vanitygen-master/vanitygen$ ./oclvanitygen -v -d 0 1testingADDress
Prefix difficulty: 113777210887513154768203281 1testingADDress
Difficulty: 113777210887513154768203281
Device: Cypress
Vendor: Advanced Micro Devices, Inc. (1002)
Driver: 1084.4
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1084.4)
Max compute units: 14
Max workgroup size: 256
Global memory: 536870912
Max allocation: 134217728
OpenCL compiler flags: -DDEEP_PREPROC_UNROLL -DVERY_EXPENSIVE_BRANCHES -DDEEP_VLIW -DAMD_BFI_INT
Compiling kernel, can take minutes...LLVM ERROR: Cannot select: 0xa9ba390: i8 = setcc 0xa2558b8, 0xa9baa78, 0xa2e1830 [ID=89]
  0xa2558b8: i32 = AMDILISD::ADD 0xa9baa78, 0xa9ba748 [ID=73]
    0xa9baa78: i32,ch = CopyFromReg 0xa5fc460, 0xa9ba8e0 [ORD=179] [ID=55]
      0xa9ba8e0: i32 = Register %vreg40 [ORD=179] [ID=18]
    0xa9ba748: i32,ch = load 0xa5fc460, 0xa1ad8a0, 0xa2e1fa0 [ORD=178] [ID=63]
      0xa1ad8a0: i32 = AMDILISD::ADD 0xa2e23e0, 0xa507020 [ORD=177] [ID=54]
        0xa2e23e0: i32 = Constant<0> [ORD=186] [ID=1]
        0xa507020: i32 = Constant<28> [ORD=177] [ID=17]
      0xa2e1fa0: i32 = undef [ORD=150] [ID=2]
  0xa9baa78: i32,ch = CopyFromReg 0xa5fc460, 0xa9ba8e0 [ORD=179] [ID=55]
    0xa9ba8e0: i32 = Register %vreg40 [ORD=179] [ID=18]
Any clues? Mayve I did something wrong

Same error here. Or almost the same, I guess.

Afaik there is a conflict with ATI driver which doesn't pop up on every driver version. You could try to downgrade/upgrade, but I'm looking for a real fix.

Try the 12.8 driver. That one works the best for everyone if you have anything under the 7950.
legendary
Activity: 1106
Merit: 1026
I'm using Ubuntu and vanitygen on CPU works just fine. I've tried to use GPU but got the error:
Code:
~/Pulpit/vanitygen-master/vanitygen$ ./oclvanitygen -v -d 0 1testingADDress
Prefix difficulty: 113777210887513154768203281 1testingADDress
Difficulty: 113777210887513154768203281
Device: Cypress
Vendor: Advanced Micro Devices, Inc. (1002)
Driver: 1084.4
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1084.4)
Max compute units: 14
Max workgroup size: 256
Global memory: 536870912
Max allocation: 134217728
OpenCL compiler flags: -DDEEP_PREPROC_UNROLL -DVERY_EXPENSIVE_BRANCHES -DDEEP_VLIW -DAMD_BFI_INT
Compiling kernel, can take minutes...LLVM ERROR: Cannot select: 0xa9ba390: i8 = setcc 0xa2558b8, 0xa9baa78, 0xa2e1830 [ID=89]
  0xa2558b8: i32 = AMDILISD::ADD 0xa9baa78, 0xa9ba748 [ID=73]
    0xa9baa78: i32,ch = CopyFromReg 0xa5fc460, 0xa9ba8e0 [ORD=179] [ID=55]
      0xa9ba8e0: i32 = Register %vreg40 [ORD=179] [ID=18]
    0xa9ba748: i32,ch = load 0xa5fc460, 0xa1ad8a0, 0xa2e1fa0 [ORD=178] [ID=63]
      0xa1ad8a0: i32 = AMDILISD::ADD 0xa2e23e0, 0xa507020 [ORD=177] [ID=54]
        0xa2e23e0: i32 = Constant<0> [ORD=186] [ID=1]
        0xa507020: i32 = Constant<28> [ORD=177] [ID=17]
      0xa2e1fa0: i32 = undef [ORD=150] [ID=2]
  0xa9baa78: i32,ch = CopyFromReg 0xa5fc460, 0xa9ba8e0 [ORD=179] [ID=55]
    0xa9ba8e0: i32 = Register %vreg40 [ORD=179] [ID=18]
Any clues? Mayve I did something wrong

Same error here. Or almost the same, I guess.

Afaik there is a conflict with ATI driver which doesn't pop up on every driver version. You could try to downgrade/upgrade, but I'm looking for a real fix.
full member
Activity: 149
Merit: 100
I'm using Ubuntu and vanitygen on CPU works just fine. I've tried to use GPU but got the error:
Code:
~/Pulpit/vanitygen-master/vanitygen$ ./oclvanitygen -v -d 0 1testingADDress
Prefix difficulty: 113777210887513154768203281 1testingADDress
Difficulty: 113777210887513154768203281
Device: Cypress
Vendor: Advanced Micro Devices, Inc. (1002)
Driver: 1084.4
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1084.4)
Max compute units: 14
Max workgroup size: 256
Global memory: 536870912
Max allocation: 134217728
OpenCL compiler flags: -DDEEP_PREPROC_UNROLL -DVERY_EXPENSIVE_BRANCHES -DDEEP_VLIW -DAMD_BFI_INT
Compiling kernel, can take minutes...LLVM ERROR: Cannot select: 0xa9ba390: i8 = setcc 0xa2558b8, 0xa9baa78, 0xa2e1830 [ID=89]
  0xa2558b8: i32 = AMDILISD::ADD 0xa9baa78, 0xa9ba748 [ID=73]
    0xa9baa78: i32,ch = CopyFromReg 0xa5fc460, 0xa9ba8e0 [ORD=179] [ID=55]
      0xa9ba8e0: i32 = Register %vreg40 [ORD=179] [ID=18]
    0xa9ba748: i32,ch = load 0xa5fc460, 0xa1ad8a0, 0xa2e1fa0 [ORD=178] [ID=63]
      0xa1ad8a0: i32 = AMDILISD::ADD 0xa2e23e0, 0xa507020 [ORD=177] [ID=54]
        0xa2e23e0: i32 = Constant<0> [ORD=186] [ID=1]
        0xa507020: i32 = Constant<28> [ORD=177] [ID=17]
      0xa2e1fa0: i32 = undef [ORD=150] [ID=2]
  0xa9baa78: i32,ch = CopyFromReg 0xa5fc460, 0xa9ba8e0 [ORD=179] [ID=55]
    0xa9ba8e0: i32 = Register %vreg40 [ORD=179] [ID=18]
Any clues? Mayve I did something wrong
full member
Activity: 162
Merit: 100
while running oclvanitygen -d 0 -p 0 -o output.txt 1R
results in
C:\Users\admin\Desktop\vanitygen_catalyst\32>oclvanitygen -d 0 -o output.txt 1R
Difficulty: 1353
Match idx: 0
CPU hash: b3b8b1f62fb59e659835af2b81238fd979ca7e15
GPU hash: 049ae2c66df6d65bb092caa95c759c0599542a13
Found delta: 7338843 Start delta: 1
[3.61 Mkey/s][total 7340032]                                                   M
atch idx: 0
CPU hash: 22c34ee82b97f5b8af8ec9c7d2b9cd3b2e2b0421
GPU hash: 04afbde26e27f40663e0ce86223409a873019ff1
Found delta: 7335852 Start delta: 1
[5.32 Mkey/s][total 14680064]                                                  M
atch idx: 0
CPU hash: 47aa2162ee34797c81c0799254d7b5b266e4d5f1
GPU hash: 049381dea7d7d0638e44a8f0d9f2bc6e10d3ca4c
Found delta: 7326918 Start delta: 1
[6.09 Mkey/s][total 22020096]                                                  M
atch idx: 0
CPU hash: 6635552c18744c27a9f1976801f8439e406abdc3
GPU hash: 04ae7a508a7e8087b54b0947d46186c8f330c875
Found delta: 7338098 Start delta: 1
[6.58 Mkey/s][total 29360128]                                                  ^


And it just goes on forever and ever. but if i do it with the cpu version it work for perfect in no time. i read through form and have not noticed any thing posted about this.
full member
Activity: 162
Merit: 100
To start generating addresses with specific prefixes, while running on Windows, open up a command prompt, drag the VanityGen.exe into the command prompt, then type 1PREF1XyouWANT after it, then hit enter.

For example, type something like this into the CMD:
C:\Users\You\Desktop\VanityGen\vanitygen64.exe 1First 1Second 1Third 1Fourth

I wish this was explained somewhere, so that more know what they're doing. .

Ya that would be getting the ocl version to work is the hard part.
member
Activity: 112
Merit: 10
To start generating addresses with specific prefixes, while running on Windows, open up a command prompt, drag the VanityGen.exe into the command prompt, then type 1PREF1XyouWANT after it, then hit enter.

For example, type something like this into the CMD:
C:\Users\You\Desktop\VanityGen\vanitygen64.exe 1First 1Second 1Third 1Fourth

I wish this was explained somewhere, so that more know what they're doing. .
legendary
Activity: 2912
Merit: 1060
Maybe add a space
Jump to: