Author

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

sr. member
Activity: 259
Merit: 250
Hi, quick workaround:
* using older drivers (12.10 worked on Linux for me) : http://support.amd.com/us/gpudownload/linux/previous/Pages/radeon_linux.aspx
* little patch - file : oclengine.c
Code:
                        if (dvn && strstr(dvn, "cl_amd_media_ops"))
                                quirks |= VG_OCL_AMD_BFI_INT;

                        dvn = vg_ocl_device_getstr(vocp->voc_ocldid,
                                                   CL_DEVICE_NAME);
                        if (!strcmp(dvn, "Tahiti") || !strcmp(dvn, "Pitcairn"))
                                quirks &= ~VG_OCL_AMD_BFI_INT;
                        if (!strcmp(dvn, "ATI RV710")) {
                                quirks &= ~VG_OCL_OPTIMIZATIONS;
                                quirks |= VG_OCL_NO_BINARIES;
                        }
full member
Activity: 168
Merit: 100
Want some pi with that?
Just found out that the problem with newer ATI/AMD cards is still present.
Problem is described in this thread - cards 7xxx produce OCL compile error or loop forever with GPU / CPU hash-found mismatch.
Anybody is willing to spare some btc to help the development ?
thanks !


That would be greatly appreciated, I am going to try some older drivers in a moment Smiley
.m.
sr. member
Activity: 280
Merit: 260
Just found out that the problem with newer ATI/AMD cards is still present.
Problem is described in this thread - cards 7xxx produce OCL compile error or loop forever with GPU / CPU hash-found mismatch.
Anybody is willing to spare some btc to help the development ?
thanks !
sr. member
Activity: 333
Merit: 250
cryptopi: I'm gonna go out on a limb and say that you are using 13.x Catalyst drivers on AMD hardware.

I've found that 13.x drivers don't work with oclvanitygen/oclvanityminer.  I ended up rolling back my Linux based miners to 12.x and everything works as expected.  I don't know if Windows is affected, but I suspect it is.  On certain 13.x drivers, LLVM craps out entirely trying to compile the OpenCL kernel.

Anyhow, the error is just saying that the CPU and GPU came up with different values for what should have been the same calculation.  Had it validated, it would have spit out the private key.

As far as profitability does, so far I'm way ahead on vanity mining than I would be straight bitcoin mining.  The variance is huge though since its like solving blocks: all or nothing.

The thought occurred to me that you could do case insensitive searches and treat them as "shares" for pooled key mining if someone wanted to implement that.  I doubt I'm the first to think of it.

legendary
Activity: 1764
Merit: 1002
Are any of the cards in crossfire / trifire?

If yes, it should be disabled in CCC and the bridges should be removed.

If that's not it, it might be a problem with the drivers you have. Most people find that v12.8 works well, including me, 13.0+ drivers never worked at all. Be sure to remove all AMD software if you revert back to an older driver, and using a 3rd party driver cleaner like Atiman Uninstaller is a good idea.

no crossfire bridges.

you mean v 0.12?

http://www.filehippo.com/download_ati_catalyst_vista_64/13064/

It's vista / w7 64

no, that's not it.  this is my old gpu mining machine.  i opened up cgminer and connected to my old ozcoin pool just to make sure all 3 gpu's were still running and they did fine.  Undecided

So use the XP version. Use that site's search.

Or are you saying that you can mine but not get vanity gen to work?: Yeah, that's the problem many people had, if you read the 69 pages, so use 12.8 drivers as the solution.

great suggestion; almost.

installed 12.8 and here's what i got:

http://imageshack.us/photo/my-images/14/p6d1.jpg/
full member
Activity: 168
Merit: 100
Want some pi with that?
I have a question:
I thought mining addresses from https://vanitypool.appspot.com/ was supposed to be a lot more profitable then mining bitcoins directly. When I ran:
Code:
oclvanityminer -u https://vanitypool.appspot.com/ -a 12AA1Byfzo8bdXh9VxqvCvg3q3U4dSZFc8 -D 0:0 -D 0:1
at 40 Mkey/sec, it told me that I had a 50% chance of finding the address it selected in roughly 11 days and the bounty was 0.088 BTC. That means, per day, I am making 0.0059 BTC, or roughly 6 cents in exchange for mining for the address. However, I can earn roughly .1-.15 BTC per day mining bitcoins/alt currencies.

Am I doing something wrong? Why is it so much less profitable then mining bitcoins directly?

Thank you

Also: When I run the code below (just as a test) and when it finally generates an address, I get:

C:\Users\James\Documents\Vanity Address Generation\GPU\vanitygen-0.22-win2>oclva
nitygen -D 0:0 -k -o filename.txt -i 1buy
Difficulty: 18973
Compiling kernel, can take minutes...done!
WARNING: low pattern difficulty
WARNING: better match throughput is possible using vanitygen on the CPU
Match idx: 8
CPU hash: d2519c360c424506db9ac701df34425b2b73de15
GPU hash: 72e714cf2866348a312ea5926a2a34d62dc56301
Found delta: 7330713 Start delta: 1
[5.14 Mkey/s][total 7340032]                                                   M

I thought it was just supposed to give me the address and the private key? What happened? What is a CPU and GPU hash?

Thanks.
hero member
Activity: 546
Merit: 500
Are any of the cards in crossfire / trifire?

If yes, it should be disabled in CCC and the bridges should be removed.

If that's not it, it might be a problem with the drivers you have. Most people find that v12.8 works well, including me, 13.0+ drivers never worked at all. Be sure to remove all AMD software if you revert back to an older driver, and using a 3rd party driver cleaner like Atiman Uninstaller is a good idea.

no crossfire bridges.

you mean v 0.12?

http://www.filehippo.com/download_ati_catalyst_vista_64/13064/

It's vista / w7 64

no, that's not it.  this is my old gpu mining machine.  i opened up cgminer and connected to my old ozcoin pool just to make sure all 3 gpu's were still running and they did fine.  Undecided

So use the XP version. Use that site's search.

Or are you saying that you can mine but not get vanity gen to work?: Yeah, that's the problem many people had, if you read the 69 pages, so use 12.8 drivers as the solution.
legendary
Activity: 1764
Merit: 1002
Are any of the cards in crossfire / trifire?

If yes, it should be disabled in CCC and the bridges should be removed.

If that's not it, it might be a problem with the drivers you have. Most people find that v12.8 works well, including me, 13.0+ drivers never worked at all. Be sure to remove all AMD software if you revert back to an older driver, and using a 3rd party driver cleaner like Atiman Uninstaller is a good idea.

no crossfire bridges.

you mean v 0.12?

http://www.filehippo.com/download_ati_catalyst_vista_64/13064/

It's vista / w7 64

no, that's not it.  this is my old gpu mining machine.  i opened up cgminer and connected to my old ozcoin pool just to make sure all 3 gpu's were still running and they did fine.  Undecided
hero member
Activity: 546
Merit: 500
Are any of the cards in crossfire / trifire?

If yes, it should be disabled in CCC and the bridges should be removed.

If that's not it, it might be a problem with the drivers you have. Most people find that v12.8 works well, including me, 13.0+ drivers never worked at all. Be sure to remove all AMD software if you revert back to an older driver, and using a 3rd party driver cleaner like Atiman Uninstaller is a good idea.

no crossfire bridges.

you mean v 0.12?

http://www.filehippo.com/download_ati_catalyst_vista_64/13064/

It's vista / w7 64
sr. member
Activity: 434
Merit: 250
I'd given up on pool mining for vanity addresses back in April because of the certificate problem. I did a fresh search in the thread but I only see the people reporting problems without a solution. Was one every found? On Windows 8 this is the verbose output result I get:

Code:
oclvanityminer64.exe  -u https://vanitypool.appspot.com/ -a 1HVBAoJXRj8XZT7Vp1dsFg5VdZp9uHMwwd -v
* timeout on name lookup is not supported
* About to connect() to vanitypool.appspot.com port 443 (#0)
*   Trying 74.125.134.141...
* Connected to vanitypool.appspot.com (74.125.134.141) port 443 (#0)
* libcurl is now using a weak random seed!
* SSL certificate problem: unable to get local issuer certificate
* Closing connection 0
Get work request failed: Peer certificate cannot be authenticated with given CA certificates
legendary
Activity: 1764
Merit: 1002
Are any of the cards in crossfire / trifire?

If yes, it should be disabled in CCC and the bridges should be removed.

If that's not it, it might be a problem with the drivers you have. Most people find that v12.8 works well, including me, 13.0+ drivers never worked at all. Be sure to remove all AMD software if you revert back to an older driver, and using a 3rd party driver cleaner like Atiman Uninstaller is a good idea.

no crossfire bridges.

you mean v 0.12?
hero member
Activity: 546
Merit: 500
Are any of the cards in crossfire / trifire?

If yes, it should be disabled in CCC and the bridges should be removed.

If that's not it, it might be a problem with the drivers you have. Most people find that v12.8 works well, including me, 13.0+ drivers never worked at all. Be sure to remove all AMD software if you revert back to an older driver, and using a 3rd party driver cleaner like Atiman Uninstaller is a good idea.
legendary
Activity: 1764
Merit: 1002
what am i doing wrong?  nothing happening with this:

Code:
C:\Users\xxx\Desktop\vanitygen-0.22-win>oclvanitygen.exe -vqrikNTS -d0 -d
1 -d2 -d3 -f cypher 1cypherdoc

using windows 7 64 bit with 3 Radeon 6970 gpu cards.

I am not sure what -vgrikNTS is, and I think you have too many devices there.

Additionally, -d should be -D, because parameter capitalization is important in this program.

It has been mentioned before that it easier to get it working 1 instance per 1 GPU so you should run 3 instances of command prompt for your 3 cards. If you are using your PC at the same time I might recommend leaving your display device card free.

I'm not sure you need it to load patterns from a file (-f cypher) as you have already told it to just look for one pattern (1cypherdoc), plus, you don't have any file type (.txt Huh) after it, unless you have saved the file without an extension... If you want to look for multiple patterns in oclvanitygen (that you possibly have listed one per line in a file called 'cyper'), you can just do this:

Code:
oclvanitygen -D 0:0 -i -k -o found6.txt 1tri11ium 1heartofgold 1aaaaaaaaa 1bbbbbbbbb 1cccccccccc 1ddddddddd 1eeeeeeeee 1fffffffff 1ggggggggg 1hhhhhhhhh 1iiiiiiiii 1jjjjjjjjj 1kkkkkkkkk 1lllllllll 1mmmmmmmmm 1nnnnnnnnn 1ooooooooo 1ppppppppp 1qqqqqqqqq 1rrrrrrrrr 1sssssssss 1ttttttttt 1uuuuuuuuu 1vvvvvvvvv 1wwwwwwwww 1xxxxxxxxx 1yyyyyyyyy 1zzzzzzzzz 1111111111 1222222222 1333333333 1444444444 1555555555 1666666666 1777777777 1888888888 1999999999

Or you can use -f cypher, but I'm pretty sure declaring BOTH won't work.

I also recommend everyone uses the output file command, -o

Assuming you just want to find one for the pattern '1cypherdoc' why don't you try these commands:

You can easily open a command window already at the correct location by right clicking the folder that has the vanitygen exe's in it while holding shift key, go to Open Command Window Here. Do this three times and paste in the 3 lines of code below.

Code:
oclvanitygen -D 0:0 -k -i -o found1.txt 1cypherdoc

Code:
oclvanitygen -D 0:1 -k -i -o found2.txt 1cypherdoc

Code:
oclvanitygen -D 0:2 -k -i -o found3.txt 1cypherdoc

{TIP about 'efficiency': If you are just searching for 1 pattern that is fairly long, while you are using that energy you can be looking for other, more interesting/unique/amusing patterns. The more patterns that you think of to add, the more chances that you'll get some results, and there's always that chance you'll find a really long impressive one while you are looking for a shorter one (or ones)}

If you absolutely must have exact capitalization, remove -i from those lines, but it'll take MUCH longer. '-k' will keep it running looking for more after it finds one, if you want that.

If it fails, your computer has a completely different allocation of devices to my PC and most other peoples PC's. If you use cgminer or bfgminer or any of the common mining programs then those can probably tell you what device ID's you have. Alternatively a free program called System Information for Windows has in its Hardware -> Video section a list of all GPU's installed on your system. They should be listed from top to bottom corresponding to ID's 0:0, 0:1, 0:2... and so on in order as it goes down the page.

Lastly, you should use GPU-Z to monitor the load on each card. If you find that the load is varying and less than 99-100%, you can get it up to 100% by running two instances of command prompt for each card. In your case then you'd have 6 open, this will give you full load and more MKey/s.

i have gpu0, gpu1, and gpu2.

this is what i get:

Code:
C:\Users\x\Desktop\vanitygen-0.22-win>oclvanitygen.exe -D 0:0 -k -i -o
found1.txt 1cypherdoc
Difficulty: 22571171233779
clEnqueueNDRange(0): CL_OUT_OF_RESOURCES
Device: Cayman
Vendor: Advanced Micro Devices, Inc. (1002)
Driver: CAL 1.4.1646 (VM)
Profile: FULL_PROFILE
Version: OpenCL 1.1 AMD-APP (831.4)
Max compute units: 24
Max workgroup size: 256
Global memory: -2147483648
Max allocation: 536870912

C:\Users\x\Desktop\vanitygen-0.22-win>
C:\Users\x\Desktop\vanitygen-0.22-win>
hero member
Activity: 555
Merit: 654
A bitcoin miner is computationally nothing like an address generator.

No, this is only partially true. You could use a tweaked bitcoin miner to do vanity address generation (but you probably won't be able to use an off-the-shelf ASIC miner).

Check https://bitcointalksearch.org/topic/10x-faster-vanity-addresses-p2shm-255245 (10X Faster Vanity addresses (P2SH/M))
hero member
Activity: 546
Merit: 500
what am i doing wrong?  nothing happening with this:

Code:
C:\Users\xxx\Desktop\vanitygen-0.22-win>oclvanitygen.exe -vqrikNTS -d0 -d
1 -d2 -d3 -f cypher 1cypherdoc

using windows 7 64 bit with 3 Radeon 6970 gpu cards.

I am not sure what -vgrikNTS is, and I think you have too many devices there.

Additionally, -d should be -D, because parameter capitalization is important in this program.

It has been mentioned before that it easier to get it working 1 instance per 1 GPU so you should run 3 instances of command prompt for your 3 cards. If you are using your PC at the same time I might recommend leaving your display device card free.

I'm not sure you need it to load patterns from a file (-f cypher) as you have already told it to just look for one pattern (1cypherdoc), plus, you don't have any file type (.txt Huh) after it, unless you have saved the file without an extension... If you want to look for multiple patterns in oclvanitygen (that you possibly have listed one per line in a file called 'cyper'), you can just do this:

Code:
oclvanitygen -D 0:0 -i -k -o found6.txt 1tri11ium 1heartofgold 1aaaaaaaaa 1bbbbbbbbb 1cccccccccc 1ddddddddd 1eeeeeeeee 1fffffffff 1ggggggggg 1hhhhhhhhh 1iiiiiiiii 1jjjjjjjjj 1kkkkkkkkk 1lllllllll 1mmmmmmmmm 1nnnnnnnnn 1ooooooooo 1ppppppppp 1qqqqqqqqq 1rrrrrrrrr 1sssssssss 1ttttttttt 1uuuuuuuuu 1vvvvvvvvv 1wwwwwwwww 1xxxxxxxxx 1yyyyyyyyy 1zzzzzzzzz 1111111111 1222222222 1333333333 1444444444 1555555555 1666666666 1777777777 1888888888 1999999999

Or you can use -f cypher, but I'm pretty sure declaring BOTH won't work.

I also recommend everyone uses the output file command, -o

Assuming you just want to find one for the pattern '1cypherdoc' why don't you try these commands:

You can easily open a command window already at the correct location by right clicking the folder that has the vanitygen exe's in it while holding shift key, go to Open Command Window Here. Do this three times and paste in the 3 lines of code below.

Code:
oclvanitygen -D 0:0 -k -i -o found1.txt 1cypherdoc

Code:
oclvanitygen -D 0:1 -k -i -o found2.txt 1cypherdoc

Code:
oclvanitygen -D 0:2 -k -i -o found3.txt 1cypherdoc

{TIP about 'efficiency': If you are just searching for 1 pattern that is fairly long, while you are using that energy you can be looking for other, more interesting/unique/amusing patterns. The more patterns that you think of to add, the more chances that you'll get some results, and there's always that chance you'll find a really long impressive one while you are looking for a shorter one (or ones)}

If you absolutely must have exact capitalization, remove -i from those lines, but it'll take MUCH longer. '-k' will keep it running looking for more after it finds one, if you want that.

If it fails, your computer has a completely different allocation of devices to my PC and most other peoples PC's. If you use cgminer or bfgminer or any of the common mining programs then those can probably tell you what device ID's you have. Alternatively a free program called System Information for Windows has in its Hardware -> Video section a list of all GPU's installed on your system. They should be listed from top to bottom corresponding to ID's 0:0, 0:1, 0:2... and so on in order as it goes down the page.

Lastly, you should use GPU-Z to monitor the load on each card. If you find that the load is varying and less than 99-100%, you can get it up to 100% by running two instances of command prompt for each card. In your case then you'd have 6 open, this will give you full load and more MKey/s.
legendary
Activity: 1764
Merit: 1002
what am i doing wrong?  nothing happening with this:

Code:
C:\Users\xxx\Desktop\vanitygen-0.22-win>oclvanitygen.exe -vqrikNTS -d0 -d
1 -d2 -d3 -f cypher 1cypherdoc

using windows 7 64 bit with 3 Radeon 6970 gpu cards.
hero member
Activity: 640
Merit: 771
BTC⇆⚡⇄BTC
Very nice app.

Keep up the good work!
legendary
Activity: 1512
Merit: 1036
is there any solution up yet for using FPGAs / Ztex quads for vanitygen or similar?

I'd like to have 1madmax and some others but my workstation is just getting too hot.

If you want I could generate it for you. Submit an application to https://vanitypool.appspot.com/faq or see the OP and send me the necessary info.

tyvm, but I'd like to get vanitygen making use of my ztex, and generate those on my own Smiley
well, that's part of the fun factor for me.

no idea?
If you type FPGA into the search box while reading this thread, it will give you the answer, which is no. A bitcoin miner is computationally nothing like an address generator.
sr. member
Activity: 448
Merit: 250
is there any solution up yet for using FPGAs / Ztex quads for vanitygen or similar?

I'd like to have 1madmax and some others but my workstation is just getting too hot.

If you want I could generate it for you. Submit an application to https://vanitypool.appspot.com/faq or see the OP and send me the necessary info.

tyvm, but I'd like to get vanitygen making use of my ztex, and generate those on my own Smiley
well, that's part of the fun factor for me.

no idea?
legendary
Activity: 1232
Merit: 1094
How would you structure a proof of work? My only idea is to accept partial matches to the pattern as proof if work, and pay earn a share percentage for that proportional to how "close" it is to the desired pattern. This seems complicated, but probably possible. I need to spend some time thinking about how the math would work out.

Standard pool software just has a constant target for a "share".  I don't think you really need to change that. 

You want that to be sufficiently difficult so that miners aren't spamming the server, but not so difficult that they have very high variance.

You could specify a maximum distance from a valid target as your share difficulty.  That would give better resolution than number of letters matching (which would step in multiples of 58). 

The pool would work on 1 address at a time.  There would be a list on pool site sorted in terms of(bounty) / (complexity of target).

It would always pick the most profitable target.  If you want the pool to work on your address, you have to out bid the address that is currently active.  Otherwise, you get added to the queue.

You could also do it ebay style.  The buyer submits the max they will pay and the top slot is auctioned.  You pay what the 2nd highest person bids.

However, there could be a rule that it won't work on hashes that would have an expected duration of more than 1 hour, given the pool's current hash rate.

If using PPLNS, then you ideally want the range to normally cover at least a few wins.  The value of a share would be proportional to (share difficulty) * (bounty) / (complexity) for the target.  The share difficulty could be adjusted to keep it so that N shares = 2 hours on average.  Combined with a 1 hour limit of expected search time, that keeps variance low.

The buyer

- Generates key pair (A, a)
- sends target string to the pool
- sends public key (A) to the pool
- sends payment (in advance)

The buyer can cancel but there is a 1 hour delay if some miners were working on the target.  A miner might find the hash in that time, so they would still have to pay the bounty.  That is unlikely though, since the pool would automatically update to the new "best" target.  Miners could be updated by something like the "longpoll" system to move to the new hash.

Also, it would be a good idea to have software that handle's the buyer's side.  This would be open source and do the calculations required for the buyer.  That aren't that complex, but it would increase

The pool
- Adds address + bounty to the pending work page on the website
- Generates key pair (B, b)
- sends target string, public key (A + B) and bounty to miners

Miners runs this in a loop
- pick c (private key)
- compute C (public key)
- add (C + (A + B))
- compute base58-encode(C + (A + B))
- check if it meets the difficulty requirements for a share
-- send c to pool and receive 1 share

Note: Miners don't have A or B, they just have (A + B)

The pool
- receives c
- checks c is valid for a share
-- adds a share to miner's total
- checks if the address matches the full target
-- publishes (c + b) and the address on the pool's website
-- sends (c + b) to the customer
-- Adds payouts to the miner's accounts

The advantage of that is that it is all safe for each group.  There is a rule with keys that if a and b are private keys with public keys of A and B, then (a + b) will be a private key matching (A + B).

It prevents miners from sending the winning share directly to the customer.  You need to know three pieces of info to actually use the address; a (customer knows), b (pool knows) and c (miner knows).

The miner which actually hits the winning value for c should probably get an extra reward (say 1% of the bounty goes to that miner).
Jump to: