Pages:
Author

Topic: Pywallet 2.2: manage your wallet [Update required] - page 18. (Read 208227 times)

hero member
Activity: 620
Merit: 500
I'm glad it worked
Actually I should make a message about that

Tell me how it goes Smiley

Hi jack,
recover after running the 2728 I got that overturned privatekeys a txt file.
privatekeys one of those 2728 matches the address to which I sent the coins, but can not get the client-QT import.

It gives me an error message: "invalid private key (code -5), to make sure it is not that the private key is incorrect I have tried many of the other import privatekeys 2728 with the same error.

I write the syntax in the client console-QT is importprivkey xxxxxxxxxxxxxxxxxxxxxxxx

For that matter please tell me if the PrivateKey have to enter with or without quotation marks (of course I've tried every possible way, but it'll be safe and next time).

I have also tried to import them pywallet:
pywallet \ pywallet.py --datadir c: \ users \ jesus \ appdata \ roaming \ whitecoin --namecoin importprivkey xxxxxxxxxxxxxxxxxxxxxxxxxxxx
It gives me the following error: 'ecdsa' package is not installed
I have reinstalled python, pycrypto, bsddb, zope, twisted and finally setuptools4.1

Not know what I'm doing wrong, I really appreciate your help.
greetings
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
I rarely look at my github account and when I do it's in a hurry.
Thanks a lot for bringing that to my attention. I'll apply it by Monday.
hero member
Activity: 672
Merit: 504
a.k.a. gurnec on GitHub
hello, I have a problem with a wallet deleted by mistake.
I recovered with recuva but after copying it to a flash drive formatted and after applying the pywallet says " 0 wallets recovered , 0 recovered private keys" so I assume that this wallet is totally corrupt.
Now I installed windows7 on a new hard disk (installed python27, pywallet, setuptools 4.1b1, bsbbd 3-6.0.1, pycrypto2.6, Twisted 14.0.0, python ecdsa) and the old record is not system disk. Now I'm trying this:
... ...

Now seems like a good time to bug you (jackjack I mean, not tevayo) to consider this pull request. With PyCrypto installed, I don't think Pywallet will create a usable wallet.dat file without this patch...
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
I'm glad it worked
Actually I should make a message about that

Tell me how it goes Smiley
hero member
Activity: 620
Merit: 500
hello, I have a problem with a wallet deleted by mistake.
I recovered with recuva but after copying it to a flash drive formatted and after applying the pywallet says " 0 wallets recovered , 0 recovered private keys" so I assume that this wallet is totally corrupt.
Now I installed windows7 on a new hard disk (installed python27, pywallet, setuptools 4.1b1, bsbbd 3-6.0.1, pycrypto2.6, Twisted 14.0.0, python ecdsa) and the old record is not system disk. Now I'm trying this:

https://bitcointalksearch.org/topic/m.2794856

to try to recover private keys and wallets pywallet running from the new C: using this syntax:

pywallet \ pywallet.py --recover --recov_device f: --recov_size 180Gio --otherversion=73 --recov_outputdir c: \ recover

f: is the drive letter of the old drive

but it gives me the following error:
error: <13, "permission denied"

Help would be greatly appreciated
Before anything else: run cmd with admin, not with a regular user
Windows menu -> search "cmd" -> right-click on cmd -> run as admin. Then enter the command.
The prompt will be "C:\Windows\system32" instead of "C:\Users\xxx"

I'm not sure this is the problem but it is necessary anyway



Thank you!
I've been stupid! is now working
If I have success I'll send some your directions BTC forum I have been a big help
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
hello, I have a problem with a wallet deleted by mistake.
I recovered with recuva but after copying it to a flash drive formatted and after applying the pywallet says " 0 wallets recovered , 0 recovered private keys" so I assume that this wallet is totally corrupt.
Now I installed windows7 on a new hard disk (installed python27, pywallet, setuptools 4.1b1, bsbbd 3-6.0.1, pycrypto2.6, Twisted 14.0.0, python ecdsa) and the old record is not system disk. Now I'm trying this:

https://bitcointalksearch.org/topic/m.2794856

to try to recover private keys and wallets pywallet running from the new C: using this syntax:

pywallet \ pywallet.py --recover --recov_device f: --recov_size 180Gio --otherversion=73 --recov_outputdir c: \ recover

f: is the drive letter of the old drive

but it gives me the following error:
error: <13, "permission denied"

Help would be greatly appreciated
Before anything else: run cmd with admin, not with a regular user
Windows menu -> search "cmd" -> right-click on cmd -> run as admin. Then enter the command.
The prompt will be "C:\Windows\system32" instead of "C:\Users\xxx"

I'm not sure this is the problem but it is necessary anyway
hero member
Activity: 620
Merit: 500
hello, I have a problem with a wallet deleted by mistake.
I recovered with recuva but after copying it to a flash drive formatted and after applying the pywallet says " 0 wallets recovered , 0 recovered private keys" so I assume that this wallet is totally corrupt.
Now I installed windows7 on a new hard disk (installed python27, pywallet, setuptools 4.1b1, bsbbd 3-6.0.1, pycrypto2.6, Twisted 14.0.0, python ecdsa) and the old record is not system disk. Now I'm trying this:

https://bitcointalksearch.org/topic/m.2794856

to try to recover private keys and wallets pywallet running from the new C: using this syntax:

pywallet \ pywallet.py --recover --recov_device f: --recov_size 180Gio --otherversion=73 --recov_outputdir c: \ recover

f: is the drive letter of the old drive

but it gives me the following error:
error: <13, "permission denied"

Help would be greatly appreciated
member
Activity: 83
Merit: 10
hi can you help ?
How to import private key from file ?
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
question about "hexsec" and "secret"

consider this dump of an unencrypted wallet: (don't worry, I won't store bitcoins at these keys, I'm just experimenting)

Code:
    {
        "addr": "1EJP1Q1JEQdWtR5PEopCRZdE1F8dgk9Wwp",
        "compressed": false,
        "hexsec": "c703063648fd19d64de086064692dd17",
        "private": "308201130201010420c703063648fd19d64de086064692dd17bd31ef4ebc8b8caa043d1fc7347d6a23a081a53081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101a1440342000400481a16f118b4efe54b4783f857a9d45c8b5aec6cf03f7bc177ecc1d2faea443d4e94475ac9312cdfde1a30b4e953356c7e93312eabd92ddb070cdcfb981ee5",
        "pubkey": "0400481a16f118b4efe54b4783f857a9d45c8b5aec6cf03f7bc177ecc1d2faea443d4e94475ac9312cdfde1a30b4e953356c7e93312eabd92ddb070cdcfb981ee5",
        "reserve": 1,
        "sec": "5KKw55iWFRmy614626Fo6ckzS7vxNcfhZJHvvo84W3cAzwfRjVo",
        "secret": "c703063648fd19d64de086064692dd17"
    }

Why are "secret" and "hexsec" only 16 bytes?


This is the same key after loading the wallet with bitcoin 0.9 and encrypting it (and decrypting again with pywallet)

Code:
    {
        "addr": "1EJP1Q1JEQdWtR5PEopCRZdE1F8dgk9Wwp",
        "compressed": false,
        "encrypted_privkey": "cb9f081748ed5d42d010b10baa84748535e5588908e6cc70a28c44c550277ecdcaaf0d5e36cc9f919a0cf3471d2832d8",
        "hexsec": "c703063648fd19d64de086064692dd17bd31ef4ebc8b8caa043d1fc7347d6a23",
        "pubkey": "0400481a16f118b4efe54b4783f857a9d45c8b5aec6cf03f7bc177ecc1d2faea443d4e94475ac9312cdfde1a30b4e953356c7e93312eabd92ddb070cdcfb981ee5",
        "reserve": 1,
        "sec": "5KKw55iWFRmy614626Fo6ckzS7vxNcfhZJHvvo84W3cAzwfRjVo",
        "secret": "c703063648fd19d64de086064692dd17bd31ef4ebc8b8caa043d1fc7347d6a23"
    }

It almost looks like the first version was just cut off in the middle.

Another question: Is there any documentation about the various elements of the json that is produced with pywallet?

* For example what is the meaning of the "pool" array, its repeating all the addresses but without their keys but seems to contain additional info, what is the rationale behind structuring it that way and not just put all info about a key into one object?
* what is the empty ckey array at the beginning of the dump?


It indeed cut the private key in the middle because of a stupid error. Thank you so much for finding that. It's now fixed.

Json keys doc:
Quote
defaultkey: Default address of your wallet
keys: Info about the private keys in the wallet
pool: Addresses inside the pool (bitcoin doc for more info)
tx: Transactions saved inside your wallet
names: Labels of addresses
mkey: Info about the master key when the wallet is encrypted
ckey: Not used
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
I just implemented the multi-import into the new pywallet
I'll post here when it's released

I just tried to import 1000 keys, it took 140 seconds
That would make 45 minutes for 20k keys

Edit: Released here
https://bitcointalksearch.org/topic/m.8614086
legendary
Activity: 2702
Merit: 1030
Yes I am a pirate, 300 years too late!
Yes, but it will take a while.  I had a wallet with 13,000 keys and it ran for 3 days.
wow, are you sure it take 3 days to import 13,000 keys ?
so i think it's faster using this command
Code:
cat privkeyfile | while read privkey; do ./bitcoind importprivkey $privkey mylabel false ; done
it was only take about 4 hours to import 20,000 keys.

Remember I'm using sucky Windows!!!
member
Activity: 108
Merit: 10
Yes, but it will take a while.  I had a wallet with 13,000 keys and it ran for 3 days.
wow, are you sure it take 3 days to import 13,000 keys ?
so i think it's faster using this command
Code:
cat privkeyfile | while read privkey; do ./bitcoind importprivkey $privkey mylabel false ; done
it was only take about 4 hours to import 20,000 keys.
legendary
Activity: 2702
Merit: 1030
Yes I am a pirate, 300 years too late!
With the web interface you can import them all at once
If you really can't use the WUI then wait a few hours until I release a new version of the new pywallet (I'll post here when it's done)

The web interface never worked for me, the command line has been a pain in the ass, but it works great!  Great utility jackjack!!
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
With the web interface you can import them all at once
If you really can't use the WUI then wait a few hours until I release a new version of the new pywallet (I'll post here when it's done)
legendary
Activity: 2702
Merit: 1030
Yes I am a pirate, 300 years too late!
pywallet.py --datadir c:\users\username\appdata\roaming\coin name --namecoin --importprivkey Key string
I mean importing from file. I have file that contain thousand private key in base58 format.
Can I import them using pywallet cli ?

Yes, but it will take a while.  I had a wallet with 13,000 keys and it ran for 3 days.
member
Activity: 108
Merit: 10
pywallet.py --datadir c:\users\username\appdata\roaming\coin name --namecoin --importprivkey Key string
I mean importing from file. I have file that contain thousand private key in base58 format.
Can I import them using pywallet cli ?
legendary
Activity: 2702
Merit: 1030
Yes I am a pirate, 300 years too late!
pywallet.py --datadir c:\users\username\appdata\roaming\coin name --namecoin --importprivkey Key string
member
Activity: 108
Merit: 10
How to import private key from file with cli ? not web interface I mean.
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
For future reference the final version is this:
Code:
#!/usr/bin/env python

import json,sys

if len(sys.argv)!=2:
print 'usage: '+sys.argv[0]+' wallet_dump.json'
exit()

f=open(sys.argv[1],'r')
c=f.read()
f.close()

d=json.loads(c)
print d
r=''
for k in d['keys']:
label=''
addr=k['addr']
if addr in d['names'].keys():
label=d['names'][addr]
r+=k['sec']+';'+label+'\n'

f=open(sys.argv[1]+'.pywalletexport','w')
f.write(r)
f.close()
full member
Activity: 208
Merit: 106
yes it worked perfectly. thank you
Pages:
Jump to: