Bitcoin Forum
April 25, 2024, 11:30:23 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 »
  Print  
Author Topic: Pywallet 2.2: manage your wallet [Update required]  (Read 207938 times)
BitFanatic
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
June 24, 2013, 10:09:55 PM
Last edit: June 24, 2013, 10:55:11 PM by BitFanatic
 #281

Great tool - incredibly useful!

I am currently importing a large amount of addresses via csv file.
Are there any stats/info on how long it takes for say every thousand addresses imported?
Thanks Smiley
If you have any comments/suggestions/critics I'd be happy  

It would be nice to have some sort of progress bar when executing larger tasks.
I'm still importing the massive csv file - but no idea how much longer it's going to take or if it has frozen.

Edit:
Infact you could add that quite easily - I just checked the dir with wallet.dat and can see that it is still increasing in size which means that the job has not frozen.
wallet.dat is now 80mb - I wonder how big it will get!
1714044623
Hero Member
*
Offline Offline

Posts: 1714044623

View Profile Personal Message (Offline)

Ignore
1714044623
Reply with quote  #2

1714044623
Report to moderator
1714044623
Hero Member
*
Offline Offline

Posts: 1714044623

View Profile Personal Message (Offline)

Ignore
1714044623
Reply with quote  #2

1714044623
Report to moderator
1714044623
Hero Member
*
Offline Offline

Posts: 1714044623

View Profile Personal Message (Offline)

Ignore
1714044623
Reply with quote  #2

1714044623
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
jackjack (OP)
Legendary
*
Offline Offline

Activity: 1176
Merit: 1233


May Bitcoin be touched by his Noodly Appendage


View Profile
June 25, 2013, 08:56:24 AM
 #282

Great tool - incredibly useful!

I am currently importing a large amount of addresses via csv file.
Are there any stats/info on how long it takes for say every thousand addresses imported?
Thanks Smiley
If you have any comments/suggestions/critics I'd be happy 

It would be nice to have some sort of progress bar when executing larger tasks.
I'm still importing the massive csv file - but no idea how much longer it's going to take or if it has frozen.

Edit:
Infact you could add that quite easily - I just checked the dir with wallet.dat and can see that it is still increasing in size which means that the job has not frozen.
wallet.dat is now 80mb - I wonder how big it will get!
Half of my post wasn't posted...
"I'd be happy... to consider them"
And I never imported that many private keys myself so I don't know the speed. Maybe PM the guy who asked me the feature (page 12 or 13) or give it a try.

The progress bar is a good idea, I'll at least put the import speed soon.
Would you mind posting the time it took, your CPU and the number of addresses you imported?
As for the size I'd say 150-200 Mo/Madresses

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
K1773R
Legendary
*
Offline Offline

Activity: 1792
Merit: 1008


/dev/null


View Profile
June 25, 2013, 11:04:56 AM
 #283

Great tool - incredibly useful!

I am currently importing a large amount of addresses via csv file.
Are there any stats/info on how long it takes for say every thousand addresses imported?
Thanks Smiley
If you have any comments/suggestions/critics I'd be happy  

It would be nice to have some sort of progress bar when executing larger tasks.
I'm still importing the massive csv file - but no idea how much longer it's going to take or if it has frozen.

Edit:
Infact you could add that quite easily - I just checked the dir with wallet.dat and can see that it is still increasing in size which means that the job has not frozen.
wallet.dat is now 80mb - I wonder how big it will get!
i once imported 10m keys into a wallet.dat, the wallet was several gigs and bitcoind couldnt use it anymore and created a new one. so there is somewhere a upperlimit, i didnt research how much it is.

[GPG Public Key]
BTC/DVC/TRC/FRC: 1K1773RbXRZVRQSSXe9N6N2MUFERvrdu6y ANC/XPM AK1773RTmRKtvbKBCrUu95UQg5iegrqyeA NMC: NK1773Rzv8b4ugmCgX789PbjewA9fL9Dy1 LTC: LKi773RBuPepQH8E6Zb1ponoCvgbU7hHmd EMC: EK1773RxUes1HX1YAGMZ1xVYBBRUCqfDoF BQC: bK1773R1APJz4yTgRkmdKQhjhiMyQpJgfN
fimp
Sr. Member
****
Offline Offline

Activity: 304
Merit: 250



View Profile WWW
July 12, 2013, 10:37:17 AM
 #284

I'm trying to dump an encrypted wallet using the latest pywallet.

Code:
$ python pywallet.py --wallet=wallet.dat --dumpwallet --passphrase=xxxxxxxx
Segmentation fault: 11 (core dumped)
$

What can I do? Dumping it without the passphrase works, but gives me encrypted private keys.

jackjack (OP)
Legendary
*
Offline Offline

Activity: 1176
Merit: 1233


May Bitcoin be touched by his Noodly Appendage


View Profile
July 12, 2013, 10:49:56 AM
 #285

I never saw this...
What version of Python do you use?
Does it crash with a bad passphrase too?
Did you try with another encrypted wallet?
Is the wallet huge?

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
fimp
Sr. Member
****
Offline Offline

Activity: 304
Merit: 250



View Profile WWW
July 12, 2013, 02:06:56 PM
 #286

I never saw this...
What version of Python do you use?
Does it crash with a bad passphrase too?
Did you try with another encrypted wallet?
Is the wallet huge?

Python 2.7.5
Same error with bad passphrase.
Same error with another encrypted wallet.
Wallet is about 4.4 MB. Amount of addresses probably in the hundreds.

mwm4bcf
Newbie
*
Offline Offline

Activity: 39
Merit: 0


View Profile
July 15, 2013, 06:53:35 PM
 #287

Just installed the packages on Win Vista. No obvious install errors.

The web interface comes up fine.

When I try to dump the wallet, I get the error "Error in dump page".  Any ideas?  Thanks!


Also, on the "Info" page, I try "Print the balance of a Bitcoin address", and get "Balance of <address> : Page not found".

jackjack (OP)
Legendary
*
Offline Offline

Activity: 1176
Merit: 1233


May Bitcoin be touched by his Noodly Appendage


View Profile
July 15, 2013, 07:02:36 PM
 #288

I never saw this...
What version of Python do you use?
Does it crash with a bad passphrase too?
Did you try with another encrypted wallet?
Is the wallet huge?

Python 2.7.5
Same error with bad passphrase.
Same error with another encrypted wallet.
Wallet is about 4.4 MB. Amount of addresses probably in the hundreds.
I'm sure I answered this post earlier! I don't get what happened...
What hardware is pywallet installed on? Small, like a RPi?
Is there something special written on the console before the segfault text?
Would you mind sending me an empty, encrypted wallet that can reproduce it?




Just installed the packages on Win Vista. No obvious install errors.

The web interface comes up fine.

When I try to dump the wallet, I get the error "Error in dump page".  Any ideas?  Thanks!

Also, on the "Info" page, I try "Print the balance of a Bitcoin address", and get "Balance of <address> : Page not found".
Thanks for reporting
What is written on the console before "Error in dump page"?

And indeed, I forgot a character, thanks! The update is on its way
Updated, you can upgrade to the last version. Maybe try the auto-update function, top-right of the pywallet page.

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
mwm4bcf
Newbie
*
Offline Offline

Activity: 39
Merit: 0


View Profile
July 15, 2013, 09:08:40 PM
 #289

Thanks for the quick reply.  The problem isn't fixed.

Right after I click on the web page to dump my wallet, the console displays:

"root: couldn't open wallet.dat/main.  Try quitting Bitcoin and running this again."

followed by an unhandled error traceback.

Thanks again.
jackjack (OP)
Legendary
*
Offline Offline

Activity: 1176
Merit: 1233


May Bitcoin be touched by his Noodly Appendage


View Profile
July 15, 2013, 09:38:50 PM
 #290

This means the file doesn't exist. Check the path you wrote.

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
mwm4bcf
Newbie
*
Offline Offline

Activity: 39
Merit: 0


View Profile
July 16, 2013, 01:52:35 AM
 #291

I did verify the path and filename.

Look at that error message again - it's trying to open "wallet.dat/main".  I certainly didn't type in the "/main" - the program somehow added that to the default filename.  Make sense?

jackjack (OP)
Legendary
*
Offline Offline

Activity: 1176
Merit: 1233


May Bitcoin be touched by his Noodly Appendage


View Profile
July 16, 2013, 08:12:10 AM
 #292

I did verify the path and filename.

Look at that error message again - it's trying to open "wallet.dat/main".  I certainly didn't type in the "/main" - the program somehow added that to the default filename.  Make sense?
Yes it's ok, it's a part of code from the original pywallet because main is the database name, and this doesn't change with the actual wallet path (even savingswallet.dat would be labelled in this error as wallet.dat/main).
This error happens when pywallet cant' read the file. Are you sure the file is readable? Try opening notepad and open the path you put in pywallet.
Just to be sure, it's a wallet.dat from the satoshi client, right?

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
July 19, 2013, 02:27:57 PM
 #293

First of a massive thank you to JackJack.  Not only is this a useful tool but I find python a more expressive language than the C/C++ used in the reference client.  This makes pywallet a useful tool for learning the wallet format.

Is the address in your sig best address for donations for further pywallet development?

Also when pywallet exports keys it provides multiple values like this

Code:
        {
            "addr": "1BJ4WxK17Ty4KAUtPYqDwHxtk1W2QSoGjj",
            "compressed": true,
            "encrypted_privkey": "92a29468f382783fb7905be81a9c2aa7c22d8ad48e10b5dd33aa1593f5835318f04cfb1b668063537da550796c57055b",
            "hexsec": "L4Je6yblahblahblahblahblah",
            "pubkey": "03f30cf41f7aa258c700d486688a15eea564db1d82fb900c8a8af0e0042f60a8cc",
            "reserve": 1,
            "sec": "L4Je6yblahblahblahblahblah",
            "secret": "d365d4430dcbblahblahblahblahblah"
        },

addr, compressed, encrypted_prvikey, pubkey, reserve are all self explanatory.

However a little confused on hexsec, sec, and secret. Hexsec and sec appear to be identical in my dump for all keys.  Will they always be?  At first I though secret was private key in hexadecimal and sec was private key in import format but I am confused by fact that there are three entries and the naming "hexsec" is obviously not in hexadecimal.

Lastly couldn't find it but is there an option to do a dump of an encrypted wallet (without providing passphrase).

As an example something like

Code:
        {
            "addr": "1BJ4WxK17Ty4KAUtPYqDwHxtk1W2QSoGjj",
            "compressed": true,
            "encrypted_privkey": "92a29468f382783fb7905be81a9c2aa7c22d8ad48e10b5dd33aa1593f5835318f04cfb1b668063537da550796c57055b",
            "pubkey": "03f30cf41f7aa258c700d486688a15eea564db1d82fb900c8a8af0e0042f60a8cc",
            "reserve": 1,
        },

For disaster recovery I print out plain text versions of company wallets (as well as normal binary backups) an encrypted dump would be an awesome feature.
jackjack (OP)
Legendary
*
Offline Offline

Activity: 1176
Merit: 1233


May Bitcoin be touched by his Noodly Appendage


View Profile
July 19, 2013, 03:19:28 PM
 #294

Donation address for pywallet is in the about page of the WUI, it's 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5. Thank you for making me mention it.

However a little confused on hexsec, sec, and secret. Hexsec and sec appear to be identical in my dump for all keys.  Will they always be?  At first I though secret was private key in hexadecimal and sec was private key in import format but I am confused by fact that there are three entries and the naming "hexsec" is obviously not in hexadecimal.
hexsec is the hexadecimal private key (you must have made a mistake with your copypastings)
secret is hexsec alone if uncompressed address, and hexsec+'\x01' if compressed address
sec is WIF formatted private key

Note that I found a bug though, looks like all the keys have an additional \x01 at the end


Lastly couldn't find it but is there an option to do a dump of an encrypted wallet (without providing passphrase).

As an example something like

Code:
        {
            "addr": "1BJ4WxK17Ty4KAUtPYqDwHxtk1W2QSoGjj",
            "compressed": true,
            "encrypted_privkey": "92a29468f382783fb7905be81a9c2aa7c22d8ad48e10b5dd33aa1593f5835318f04cfb1b668063537da550796c57055b",
            "pubkey": "03f30cf41f7aa258c700d486688a15eea564db1d82fb900c8a8af0e0042f60a8cc",
            "reserve": 1,
        },
Maybe I don't understand, but it's already what is happening when you dump an encrypted wallet without providing the passphrase.

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
July 19, 2013, 04:58:03 PM
Last edit: July 19, 2013, 06:36:30 PM by DeathAndTaxes
 #295

Donation address for pywallet is in the about page of the WUI, it's 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5. Thank you for making me mention it.

No problem. Smiley  Coins sent https://blockchain.info/tx/02f632bea4b192f899108b3706e001e828eed546eac0b19321154278c034c7c3  

Wait nobody has ever donated?  WTF? Soapbox mode engaged.

Public service announcement.  If pywallet has made your life easier (and you know it has), then show some support by sending some coins.  Come on this is a great tools to crack the byzantine mess that is wallet.dat.  Eventually the wallet will move to leveldb which is going to require a significant rewrite of pywallet.  Hint: developers tend not to continually support projects they see no support from the community.

BTW if you are reading this PSA, in the "Pywallet: manage your wallets/addresses/keys/tx's" thread, well the odds are it probably applies to you (otherwise you wouldn't be here). Smiley

hexsec is the hexadecimal private key (you must have made a mistake with your copypastings)
secret is hexsec alone if uncompressed address, and hexsec+'\x01' if compressed address
sec is WIF formatted private key

Weird that is not what I am getting.

Here is a unmodifed copy & paste of one key (a heads up to scammers, I removed this unused key from my keypool so nothing to steal)

Code:
E:\bitcoin\pywallet> pywallet.py --passphrase="NotMyPassphrase" --dumpwallet > wallet.decrypted.txt

...
        {
            "addr": "1MM4NpjXnWKohws4KCw9NpVPndmf9jB1Ho",
            "compressed": true,
            "encrypted_privkey": "65957014a15092d8329cd661d1a1acc38bf0eaec32b544b9e2fe38390697e2196c93a2b9e3a3d373701e67387ec015c4",
            "hexsec": "KyFz1DzUkaCB53oM5VJhcp8Qg7aFWn88BuSqPg4rhLimuH3LMFv9",
            "pubkey": "03ecdbccf53acedc9d283c2bd93b123f1bcd6ec07e5ce65babc81644e60a3e6c80",
            "reserve": 1,
            "sec": "KyFz1DzUkaCB53oM5VJhcp8Qg7aFWn88BuSqPg4rhLimuH3LMFv9",
            "secret": "3cd80f8d99a883b0d48a9f844d94e8e875fbde18c5a6af1489dc9c4a8363c92401"
        },
...

This is on pywallet running on Windows, using a wallet exported from v0.8.3 client in case that somehow makes a difference.


Quote
Maybe I don't understand, but it's already what is happening when you dump an encrypted wallet without providing the passphrase.

DOH, I never tried.  I assumed passphrase was required for encrypted wallets.  Yeah it does exactly that and that is exactly what I was looking for.  I feel a little stupid that I needed assistance with that, but still glad I asked.  Pure awesome.
jackjack (OP)
Legendary
*
Offline Offline

Activity: 1176
Merit: 1233


May Bitcoin be touched by his Noodly Appendage


View Profile
July 19, 2013, 05:57:39 PM
 #296

No problem. Smiley  Coins sent https://blockchain.info/tx/02f632bea4b192f899108b3706e001e828eed546eac0b19321154278c034c7c3 

Wait nobody has ever donated?  WTF? Soapbox mode engaged.

Public service announcement.  If pywallet has made your life (and you know it has), then show some support and send some coins.  Come on this is a great tools to crack the byzantine mess that is wallet.dat.  Eventually wallet.dat will move to leveldb which is going to require a significant rewrite of pywallet and developers tend not to do that for projects they see support for.

BTW if you are reading this PSA, in the "Pywallet: manage your wallets/addresses/keys/tx's" thread, well the odds are it probably applies to you (otherwise you wouldn't be here). Smiley
Thanks a lot! Smiley
As the first donator you can ask me any feature you want to be included in pywallet.
Oh wait Grin

Weird that is not what I am getting.

Here is a unmodifed copy & paste of one key (a heads up to scammers, I removed this unused key from my keypool so nothing to steal)

Code:
            "addr": "1MM4NpjXnWKohws4KCw9NpVPndmf9jB1Ho", 
            "compressed": true,
            "encrypted_privkey": "65957014a15092d8329cd661d1a1acc38bf0eaec32b544b9e2fe38390697e2196c93a2b9e3a3d373701e67387ec015c4",
            "hexsec": "KyFz1DzUkaCB53oM5VJhcp8Qg7aFWn88BuSqPg4rhLimuH3LMFv9",
            "pubkey": "03ecdbccf53acedc9d283c2bd93b123f1bcd6ec07e5ce65babc81644e60a3e6c80",
            "reserve": 1,
            "sec": "KyFz1DzUkaCB53oM5VJhcp8Qg7aFWn88BuSqPg4rhLimuH3LMFv9",
            "secret": "3cd80f8d99a883b0d48a9f844d94e8e875fbde18c5a6af1489dc9c4a8363c92401"

This is on pywallet running on Windows, using a wallet exported from v0.8.3 client in case that somehow makes a difference.
I had two bugs in the dump... Both solved, thanks for pointing that out.
I'll release a semi-private version soon (that will include the new wallet recovery, I just finished it)

Quote
Maybe I don't understand, but it's already what is happening when you dump an encrypted wallet without providing the passphrase.

DOH, I never tried.  I assumed passphrase was required for encrypted wallets.  Yeah it does exactly that and that is exactly what I was looking for.  I feel a little stupid that I needed assistance with that, but still glad I asked.  Pure awesome.
The truth is I should make http://pywallet.tk clearer

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
jackjack (OP)
Legendary
*
Offline Offline

Activity: 1176
Merit: 1233


May Bitcoin be touched by his Noodly Appendage


View Profile
July 19, 2013, 06:25:38 PM
Last edit: July 19, 2013, 08:01:44 PM by jackjack
 #297

New version with:
  • Dumping fixed
  • Recovery of unencrypted AND encrypted wallets on Linux AND Windows

2.1.0b1 here:
http://pastebin.com/raw.php?i=zU2x7amw

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
piotr_n
Legendary
*
Offline Offline

Activity: 2053
Merit: 1354


aka tonikt


View Profile WWW
July 19, 2013, 06:29:14 PM
Last edit: July 19, 2013, 06:50:26 PM by piotr_n
 #298

Thanks a lot! Smiley
As the first donator you can ask me any feature you want to be included in pywallet.
Have some more, since it makes you so happy Wink

I don't need a feature, but just want to let you know that IMO your tool is undoubtedly the most useful bitcoin tool out there.
Though, it would not be needed, if the actual client had the same commands just built in..
But well, at least soon it will have a great secured payment protocol. Everybody who wants to receive bitcoins will be able to submit his personal details directly to mossad, in order to receive a free certificate, which will guarantee that the bitcoin address he's sending to you is indeed his. Myself, I've been waiting for such a feature for years - using PGP signatures was so much of a hassle, and it was just too anonymous Wink

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
July 19, 2013, 07:04:48 PM
Last edit: July 19, 2013, 07:30:27 PM by DeathAndTaxes
 #299

A quick question when you have the time (no rush), looking for clarification on tx_k & tx_v.

tx_k?
Looks like tx_k is the raw hex dump of the key as stored in the wallet db.  I would just be tx_id (tx_hash) however it looks like it is 02 + "tx" + reversed tx hash.  With the 02 being the length of the following string "tx".  Is that correct?

I assume this means that given an arbitrary tx hash one needs to reverse it and prepend 0x027478 to find the key/value pair in the db.  I know you didn't write the wallet but any insight as to why?  Why not just make the key the tx_id?  I mean if we start having hash collisions it means a lot more problems then just incorrect db reads.   


tx_v?
tx_v is the raw hex dump of the value stored in the wallet.db which should be the complete raw tx without any additional encoding.
Right?

(if it helps line 1687 in pywallet.py)
piotr_n
Legendary
*
Offline Offline

Activity: 2053
Merit: 1354


aka tonikt


View Profile WWW
July 19, 2013, 07:10:55 PM
 #300

bitcoin hashes are always in reversed order.
somebody came with an idea that lsb is faster on the machines we have, so why not to extend it to 256 bits.
I don't mean to criticize him, but IMHO it has not turned out to be the most optimal solution after all Smiley

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 »
  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!