Bitcoin Forum
May 14, 2024, 05:59:41 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2  All
  Print  
Author Topic: [BOUNTY] for devloping/writing a script/code/program to dump all publickeys  (Read 2598 times)
XaiZou (OP)
Member
**
Offline Offline

Activity: 80
Merit: 10


View Profile
October 04, 2015, 12:22:13 AM
 #1

I offer a bounty for anyone who develop/write a script/code/program to dump all known public keys ( not hash160 )  from bitcoin blockchain.

You can modify/edit/hack/add feature to the following project that i believe its much better to use than starting from scratch.


https://github.com/znort987/blockparser


achow101
Staff
Legendary
*
Offline Offline

Activity: 3388
Merit: 6641


Just writing some code


View Profile WWW
October 04, 2015, 03:10:12 PM
 #2

How much is the bounty?

OmegaStarScream
Staff
Legendary
*
Offline Offline

Activity: 3472
Merit: 6135



View Profile
October 04, 2015, 03:15:35 PM
 #3

How much is the bounty and should we use your project ? because I don't know C & C++ honestly so not going be able to use it however I may use C# AND GIVE IT a shoot .

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
XaiZou (OP)
Member
**
Offline Offline

Activity: 80
Merit: 10


View Profile
October 04, 2015, 03:46:12 PM
 #4

How much is the bounty?

How much is the bounty and should we use your project ? because I don't know C & C++ honestly so not going be able to use it however I may use C# AND GIVE IT a shoot .

Bounty is 200$ , that is not my project but it is a very good code to hack. you can go ahead and try with C# .

https://github.com/znort987/blockparser/blob/4920bba202c648e83abade4a756edab03526524e/util.cpp#L248
Code:
// Output script commonly found in block reward TX, pays to explicit pubKey
    if(
        likely(
              65==script[0]             &&  // OP_PUSHDATA(65)
            0xAC==script[scriptSize-1]  &&  // OP_CHECKSIG
              67==scriptSize
        )
    )
unhappyuser
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
October 04, 2015, 03:49:51 PM
Last edit: October 04, 2015, 04:01:37 PM by unhappyuser
 #5

AFAIK using blockparser you can make dump of all public address hashes. All what you need is a comment an unneeded parts of code and hold only output of hashes (you must edit output string a bit). Then you must remove all unique strings from your output. And at finish convert all hashes using right encoding. I do not know C/C++ too but I have done this at some time so I can say that it is not hard to do. I'm also must say that your database must be synchronized with "-txindex=1" parameter. My database is not up-to-date ATM so I can not explain that right now...
achow101
Staff
Legendary
*
Offline Offline

Activity: 3388
Merit: 6641


Just writing some code


View Profile WWW
October 04, 2015, 03:52:32 PM
 #6

How much is the bounty?

How much is the bounty and should we use your project ? because I don't know C & C++ honestly so not going be able to use it however I may use C# AND GIVE IT a shoot .

Bounty is 200$ , that is not my project but it is a very good code to hack. you can go ahead and try with C# .

https://github.com/znort987/blockparser/blob/4920bba202c648e83abade4a756edab03526524e/util.cpp#L248
Code:
// Output script commonly found in block reward TX, pays to explicit pubKey
    if(
        likely(
              65==script[0]             &&  // OP_PUSHDATA(65)
            0xAC==script[scriptSize-1]  &&  // OP_CHECKSIG
              67==scriptSize
        )
    )
I will try this using java and bitcoin core rpc if that is ok with you.

Unfortunately I'm no good at c++ so I cant modify blockparser

FruitsBasket
Legendary
*
Offline Offline

Activity: 1232
Merit: 1017


View Profile
October 04, 2015, 03:57:07 PM
 #7

hello xiazou, I don't know if u want a script but I know a website where u can find all private keys for free. The website is: http://buttcoins.com/. There are 3508851189009581679502151060869330540995077705426512254018338277015701863465 pages of keys, good luck!

fck@dt-alwayzz_newbz
XaiZou (OP)
Member
**
Offline Offline

Activity: 80
Merit: 10


View Profile
October 04, 2015, 04:12:36 PM
 #8

AFAIK using blockparser you can make dump of all public address hashes. All what you need is a comment an unneeded parts of code and hold only output of hashes (you must edit output string a bit). Then you must remove all unique strings from your output. And at finish convert all hashes using right encoding. I do not know C/C++ too but I have done this at some time so I can say that it is not hard to do. I'm also must say that your database must be synchronized with "-txindex=1" parameter. My database is not up-to-date ATM so I can not explain that right now...

+1 , actually that's exactly what i want, but instead of cleaning up the code from unwanted code and functions. we can just make a new copy of a .cpp file for example dumpTX.cpp and modify it for our need ( dump only all the known public keys from the whole blockchain 'not hash160'  )

OP_PUSHDATA(65, 0x0434417dd8d89deaf0f6481c2c160d6de0921624ef7b956f38eef9ed4a64e36877be84b77cdee 5a8d92b7d93694f89c3011bf1cbdf4fd7d8ca13b58a7bb4ab0804)

P.S using blockparser doesn't need a fully synced blockchain.
XaiZou (OP)
Member
**
Offline Offline

Activity: 80
Merit: 10


View Profile
October 04, 2015, 04:18:05 PM
 #9

How much is the bounty?

How much is the bounty and should we use your project ? because I don't know C & C++ honestly so not going be able to use it however I may use C# AND GIVE IT a shoot .

Bounty is 200$ , that is not my project but it is a very good code to hack. you can go ahead and try with C# .

https://github.com/znort987/blockparser/blob/4920bba202c648e83abade4a756edab03526524e/util.cpp#L248
Code:
// Output script commonly found in block reward TX, pays to explicit pubKey
    if(
        likely(
              65==script[0]             &&  // OP_PUSHDATA(65)
            0xAC==script[scriptSize-1]  &&  // OP_CHECKSIG
              67==scriptSize
        )
    )
I will try this using java and bitcoin core rpc if that is ok with you.

Unfortunately I'm no good at c++ so I cant modify blockparser

No problem, but i'm not sure how fast that will work using rpc.
unhappyuser
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
October 04, 2015, 05:37:06 PM
Last edit: October 04, 2015, 06:30:29 PM by unhappyuser
 #10

OK, I have made a dirty callback for znort987's blockparser. As you said, it already works with part of blockchain. I have tested it on Ubuntu x86_64 with 3.13.0-65-generic kernel.

You can get it here:

Code:
https://mega.nz/#!ktxGjBYJ!Fm5RYsUZZ5PAa88Smb7R9ojG3MOx-yj450RUzF3sIy4

UPD.: tried this myself, seems good.

In order to make blockparser, you must have following packages installed:

Code:
build-essential libsparsehash-dev libssl-dev libboost-dev

After compiling you can run this command:

Code:
./parser addrdump

After this command finished you will see a text file named addresses.txt - this file will contain all outputs which blockchain contains. To remove all duplicates you can run this command:

Code:
sort -u addresses.txt

And that is all!

Code:
P.S.: If it helped you then you can say me "Thank you" there: 15WkkJqxgQ2k8nXyhr3za9GYq2Jqpq9gyo ;)
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 04, 2015, 06:53:42 PM
 #11

Do you need public keys which occur in scriptPubKey or is scriptSig (including p2sh inner scripts) also?
XaiZou (OP)
Member
**
Offline Offline

Activity: 80
Merit: 10


View Profile
October 04, 2015, 08:22:14 PM
 #12

OK, I have made a dirty callback for znort987's blockparser. As you said, it already works with part of blockchain. I have tested it on Ubuntu x86_64 with 3.13.0-65-generic kernel.

You can get it here:

Code:
https://mega.nz/#!ktxGjBYJ!Fm5RYsUZZ5PAa88Smb7R9ojG3MOx-yj450RUzF3sIy4

UPD.: tried this myself, seems good.

In order to make blockparser, you must have following packages installed:

Code:
build-essential libsparsehash-dev libssl-dev libboost-dev

After compiling you can run this command:

Code:
./parser addrdump

After this command finished you will see a text file named addresses.txt - this file will contain all outputs which blockchain contains. To remove all duplicates you can run this command:

Code:
sort -u addresses.txt

And that is all!

Code:
P.S.: If it helped you then you can say me "Thank you" there: 15WkkJqxgQ2k8nXyhr3za9GYq2Jqpq9gyo ;)

That works, but the output is the base58check of the hash160, what i need is the raw pubkey not hash from the output/input script:

0434417dd8d89deaf0f6481c2c160d6de0921624ef7b956f38eef9ed4a64e36877be84b77cdee5a 8d92b7d93694f89c3011bf1cbdf4fd7d8ca13b58a7bb4ab0804

achow101
Staff
Legendary
*
Offline Offline

Activity: 3388
Merit: 6641


Just writing some code


View Profile WWW
October 04, 2015, 08:45:39 PM
 #13

What OS will you be running this on?

XaiZou (OP)
Member
**
Offline Offline

Activity: 80
Merit: 10


View Profile
October 04, 2015, 08:55:56 PM
 #14

What OS will you be running this on?

Win and Linux.
achow101
Staff
Legendary
*
Offline Offline

Activity: 3388
Merit: 6641


Just writing some code


View Profile WWW
October 05, 2015, 12:03:41 AM
 #15

I wrote the tool using Java and Bitcoin core rpc. You can download it here: https://drive.google.com/file/d/0Bxw3ip9QfNOUWGZFWFN1alNjSHM/view?usp=sharing

There are 4 versions, linux 32 bit, linux 64 bit, windows 32 bit, and windows 64 bit. It also comes packaged with the proper jre for the program to run.

To run the tool, you need to run Bitcoin core in server mode (with -server flag or have server=1 in bitcoin.conf and have an rpcuser and rpcpassword set in bitcoin.conf) as well as with txindex enabled (-txindex flag in command or have txindex=1 in bitcoin.conf). If you are running it from the command line, you need to have the -reindex flag as well for the first time because txindex requires that Bitcoin Core reindex its databases to include all of the transactions. If you run it with the GUI, there will be a dialog that prompts you. The reindex will take a long time.

The program will work at any time during the reindex, but it will not be able to grab all of the data since the databases won't be up to date until it is done.

The tool works a little slowly, so be patient. You will need to run it for several hours in order to complete.

The usage:
Code:
Tool which scrapes the entire blockchain for all of the pubkeys of all transactions
Requires bitcoind (or Bitcoin Core with daemon enabled) and txindex=1 to be set in Bitcoin.conf
Usage: pubkeyscraper <rpcuser> <rpcpassword> [rpcport] [rpcurl]
<rpcuser>               Required. User of the Bitcoin-RPC server set in bitcoin.conf
<rpcpassword>           Required. Password of the Bitcoin-RPC server set in bitcoin.conf
[rpcport]               Optional. Port of the Bitcoin-RPC server set in bitcoin.conf. Default is 8332
[rpcurl]                Optional. URL or IP address of Bitcoin-RPC server. Default is 127.0.0.1

If this satisfies you, please send the bounty to the address in my profile.

XaiZou (OP)
Member
**
Offline Offline

Activity: 80
Merit: 10


View Profile
October 06, 2015, 03:21:00 PM
 #16

I wrote the tool using Java and Bitcoin core rpc. You can download it here: https://drive.google.com/file/d/0Bxw3ip9QfNOUWGZFWFN1alNjSHM/view?usp=sharing

There are 4 versions, linux 32 bit, linux 64 bit, windows 32 bit, and windows 64 bit. It also comes packaged with the proper jre for the program to run.

To run the tool, you need to run Bitcoin core in server mode (with -server flag or have server=1 in bitcoin.conf and have an rpcuser and rpcpassword set in bitcoin.conf) as well as with txindex enabled (-txindex flag in command or have txindex=1 in bitcoin.conf). If you are running it from the command line, you need to have the -reindex flag as well for the first time because txindex requires that Bitcoin Core reindex its databases to include all of the transactions. If you run it with the GUI, there will be a dialog that prompts you. The reindex will take a long time.

The program will work at any time during the reindex, but it will not be able to grab all of the data since the databases won't be up to date until it is done.

The tool works a little slowly, so be patient. You will need to run it for several hours in order to complete.

The usage:
Code:
Tool which scrapes the entire blockchain for all of the pubkeys of all transactions
Requires bitcoind (or Bitcoin Core with daemon enabled) and txindex=1 to be set in Bitcoin.conf
Usage: pubkeyscraper <rpcuser> <rpcpassword> [rpcport] [rpcurl]
<rpcuser>               Required. User of the Bitcoin-RPC server set in bitcoin.conf
<rpcpassword>           Required. Password of the Bitcoin-RPC server set in bitcoin.conf
[rpcport]               Optional. Port of the Bitcoin-RPC server set in bitcoin.conf. Default is 8332
[rpcurl]                Optional. URL or IP address of Bitcoin-RPC server. Default is 127.0.0.1

If this satisfies you, please send the bounty to the address in my profile.

Thanks for the effort, but this is very slow, i'm running it since yesterday and its still on blocks from year 2012.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 06, 2015, 03:24:30 PM
 #17

Thanks for the effort, but this is very slow, i'm running it since yesterday and its still on blocks from year 2012.
Do you still need it?
I have to ask my question one more time:
Do you want the public keys which occur in outputs?
Or may be you want also pubkeys from the transactions inputs? (pubkeys are also occur there)

(Parsing the whole blockchain will be no more than 1 hour)
XaiZou (OP)
Member
**
Offline Offline

Activity: 80
Merit: 10


View Profile
October 06, 2015, 03:44:06 PM
 #18

Thanks for the effort, but this is very slow, i'm running it since yesterday and its still on blocks from year 2012.
Do you still need it?
I have to ask my question one more time:
Do you want the public keys which occur in outputs?
Or may be you want also pubkeys from the transactions inputs? (pubkeys are also occur there)

(Parsing the whole blockchain will be no more than 1 hour)

Yes, i need those pubkeys from outputs & inputs, only uncompressed , no pay to hash160 or multisig , only the available known pubkeys, for example :

Code:
04cc8d85f5e7933cb18f13b97d165e1189c1fb3e9c98b0dd5446b2a1989883ff9e740a8a75da99cc59a21016caf7a7afd3e4e9e7952983e18d1ff70529d62e0ba1 
0411db93e1dcdb8a016b49840f8c53bc1eb68a382e97b1482ecad7b148a6909a5cb2e0eaddfb84ccf9744464f82e160bfa9b8b64f9d4c03f999b8643f656b412a3
04fcc2888ca91cf0103d8c5797c256bf976e81f280205d002d85b9b622ed1a6f820866c7b5fe12285cfa78c035355d752fc94a398b67597dc4fbb5b386816425dd
046cc86ddcd0860b7cef16cbaad7fe31fda1bf073c25cb833fa9e409e7f51e296f39b653a9c8040a2f967319ff37cf14b0991b86173462a2d5907cb6c5648b5b76
0478ebe2c28660cd2fa1ba17cc04e58d6312679005a7cad1fd56a7b7f4630bd700bcdb84a888a43fe1a2738ea1f3d2301d02faef357e8a5c35a706e4ae0352a6ad
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 06, 2015, 03:56:29 PM
 #19

Yes, i need those pubkeys from outputs & inputs, only uncompressed , no pay to hash160 or multisig , only the available known pubkeys, for example :
OK, I'll try to do it today. But why do you need only uncompressed?
There are more compressed pubkeys 02xxxxx and 03xxxxx in blockchain
XaiZou (OP)
Member
**
Offline Offline

Activity: 80
Merit: 10


View Profile
October 06, 2015, 04:06:25 PM
 #20

Yes, i need those pubkeys from outputs & inputs, only uncompressed , no pay to hash160 or multisig , only the available known pubkeys, for example :
OK, I'll try to do it today. But why do you need only uncompressed?
There are more compressed pubkeys 02xxxxx and 03xxxxx in blockchain

If you can ( if its possible ) uncompress them it would be great!
Pages: [1] 2  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!