Pages:
Author

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

legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
Hi jack, I finally get my coins, I did recover and the passphrase "I do not want to put a password on the recovered wallet and I know what can be the Consequences.".

That will return a wallet with several formats that SI PrivateKey me accept the client-QT.

Post some BTC, along with my thanks and admiration for his work.

Txid: 7aeb5d18f9c81d7b0bd659dd4dfd976d2f8c5af5ba2b9fb1060db8d64ef8db13
Thanks a lot Smiley
The new pywallet will be much more user-friendly hopefully

well, i can recommend a name for your project, but if you don't like it, just ignore it.
brilliant  ideas for managine your wallet in this new age
Please give me all the ideas you may have, I think the first beta is coming soon so I'd need a name soon Smiley
newbie
Activity: 32
Merit: 0
well, i can recommend a name for your project, but if you don't like it, just ignore it.
brilliant  ideas for managine your wallet in this new age
hero member
Activity: 620
Merit: 500
Hi jack, I finally get my coins, I did recover and the passphrase "I do not want to put a password on the recovered wallet and I know what can be the Consequences.".

That will return a wallet with several formats that SI PrivateKey me accept the client-QT.

Post some BTC, along with my thanks and admiration for his work.

Txid: 7aeb5d18f9c81d7b0bd659dd4dfd976d2f8c5af5ba2b9fb1060db8d64ef8db13
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
Is the import accessable through the command line? I took a closer look last night and it doesn't appear to be. Thats all I need, I can script the rest.
Nope
Can't you make a script sending HTTP requests? With curl or python?
I will put this in the new pywallet though (that uses command line), I'll keep you updated (less than 2 weeks I hope)

Anyone have any reference online on the format for all that? I'd prefer to read up and learn as opposed to spending hours breaking a wallet and learning. One is much more efficient Wink
Maybe there is but I don't know any

Thanks for all your hard work by the way jack. PM me a donation address I'll throw some BTC your way. Before I started allcrypt I used pywallet to recover keys lost on a personal wallet when I had a hard drive crash, and it's an invaluable tool with our site. So many times we need to remove a 0 confirmation transaction to recover a withdrawal from a wallet that was too stupid to set it's own fee correctly. Would be nigh impossible without pywallet.
I'm glad it helped you!
sr. member
Activity: 350
Merit: 250
Is the import accessable through the command line? I took a closer look last night and it doesn't appear to be. Thats all I need, I can script the rest.

Anyone have any reference online on the format for all that? I'd prefer to read up and learn as opposed to spending hours breaking a wallet and learning. One is much more efficient Wink

Thanks for all your hard work by the way jack. PM me a donation address I'll throw some BTC your way. Before I started allcrypt I used pywallet to recover keys lost on a personal wallet when I had a hard drive crash, and it's an invaluable tool with our site. So many times we need to remove a 0 confirmation transaction to recover a withdrawal from a wallet that was too stupid to set it's own fee correctly. Would be nigh impossible without pywallet.
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
Yes I implemented the transactions export. As you noticed the import is one tx each time.

For the time being you'll have to do it one by one. IIRC txk is \x02 + the tx id "endian-reversed". txv is indeed the value: it's the tx itself plus something I never really investigated.

I think I can easily add multi-tx import from a file. I can't give you an ETA though, 1 or 2 weeks maybe.
sr. member
Activity: 350
Merit: 250
Found this thread looking for some pywallet help and figure since it's still active I may as well ask.

I'm a developer with AllCrypt.com, a crypto exchange. We've been using the internal accounting on most wallets as a secondary/backup failsafe (user hacks site, starts withdrawing coins the hacked/corrupted/overwritten database says is there, but the wallet stops the send as it knows, internally, that the user does not have enough coins). We're moving away from that as MANY altcoins have horrendous internal accounting, and larger coins like BTC and DOGE are now taking a performance hit because of the bloat. We're implementing a new system that handles the accounting in a second layer, to free that load off the wallets themselves. (Plus as a dandy little bonus, we implemented a frontend to the wallet's RPC calls, thus extending the calls, or creating new ones as need be. Pre-caching the address keypool so no waiting for an address? Hallelujah! Who else hates walletpassphrase throwing an exception just because the wallet is already unlocked? Can I get an A-men?!)

Anyway (Sorry, it's late, I'm exhausted) We were going to just export and reimport all private keys into a new wallet, but, then we lose all transaction info (we can no longer do a gettransaction to get details of an older deposit, for instance).

Is there a way, with pywallet, to export all transactions, let us clean up the list (remove all "moves" to/from internal accounts) and re-import them into a clean wallet without any accounting?

I see on the import page the ability to import a single transaction, but it wants a "Txk" and "Txv"? Key and... value? That seems like it's missing info it would need. I assume to mass import them I'd need to script it?

Just wondering if there is a simple answer before starting to mess directly with the software. Thanks all.
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
Oh I'm sorry, the characters I put were only examples
The command is
Code:
python privkey.py 64-character-private-key
without any bracket, period or anything.
For example:
Code:
python privkey.py 0123456789abcdefaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

The private key is the hexsec entry of dumpwallet. The hexsec entry only exists when you provide the passphrase (which is not the case in you previous post).
hero member
Activity: 620
Merit: 500



    "addr": "WX4ym8VT5UdBVjwLHoU8RZH7czCq3MGDgP",
            "compressed": true,
            "encrypted_privkey": "364b78121c64b0b5a259ef598d65d507fdbd68e431d10e7709a7b353cadeb34e",
            "pubkey": "02009671ba6842ecb26f6c01596deb1bce974f47390cd84c606d00fdef8c54072a",
            "reserve": 1
        },
        {
            "addr": "WeTWSh8sm5P7udNQvjUaLBg8j9RkNyxb8p",
            "compressed": true,
            "encrypted_privkey": "79c0da3eea56c10d884307b73f3bb161e6db334ff9d7cd91ce94d56ad9eb5d55",
            "pubkey": "02009edaa5203f33b079f2d813850bf2f84bfcde2a60034c41e039a48d88481770",
            "reserve": 1
        },
        {
            "addr": "WQhQibwwxDBsCXeVzzJYjd1kgffd8fqxv4",
            "compressed": true,
            "encrypted_privkey": "c5008c3c2c9ff673620396fe411b480327d59b782b4fd0bfe35a2155274bbbd9",
            "pubkey": "0200c2c3c087e3b83b767aeefa47be7244128c96a8b893b4b61e383355a1774cc1",
            "reserve": 1
        },
        {
            "addr": "Wk2RUci9hayr2oNpRBKo3hqPVCeMRprj2U",
            "compressed": true,
            "encrypted_privkey": "30be2c08f15332ed3ded01ebd263cc363a42471b3c496d36723ff2dd79da56c9",
            "pubkey": "0200c6c02eabd66a884a7167a9e9e22d78cdb2c59a9729dcdcf70daeec850f01f6",
            "reserve": 1
        },
        {
            "addr": "WYgi8xY7fWC8q5dUYAaD5WEmcK6quPTNs7",
            "compressed": true,
            "encrypted_privkey": "7258740357872c98c1060a0031348a536fac0b5441cd6741a76fd3b90214254f",
            "pubkey": "0200f00b0494608a365cb3436903fe6bce15810903ae401832be6dbbbadff98b12",
            "reserve": 1
        },

Jack, I send you what you ask and capture several privatekeys (no value), if you are helpful.
Thank you
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
GUI gives me this other error:
 
Constant Numerica Incorrect: 4e4.
Line: 1 Character: 38


parser error: <4e4: String> [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId: BadNumericConstant
I'm not familiar with these errors, would you mind sending me a screenshot? Check there's no visible private key beforehand.

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...
Github can't automatically merge it, so I'll apply the patch as soon as I have my dev computer with me (within 2-3 days)

I rebased the pull request, it should be OK to merge now (it was just a conflict in the version number which I shouldn't have touched to begin with...)

Thanks
Done
Thanks again for your interest and for sending pull requests
hero member
Activity: 620
Merit: 500
GUI gives me this other error:
 
Constant Numerica Incorrect: 4e4.
Line: 1 Character: 38


parser error: <4e4: String> [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId: BadNumericConstant
hero member
Activity: 672
Merit: 504
a.k.a. gurnec on GitHub
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...
Github can't automatically merge it, so I'll apply the patch as soon as I have my dev computer with me (within 2-3 days)

I rebased the pull request, it should be OK to merge now (it was just a conflict in the version number which I shouldn't have touched to begin with...)

Thanks
hero member
Activity: 620
Merit: 500
The tool I sent you transforms hexadecimal privkey to base58. Then you can import with the command line in the GUI client.


By the way, did you try using the recovered wallet (from pywallet --recover) directly as wallet.dat?

This last wallet I have not tested on the client-qt (now I try).

error: generated but not accepted

You can not start keypol

GUI gives me this other error:

parser error: <4e4: String> [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId: BadNumericConstant
hero member
Activity: 620
Merit: 500
The tool I sent you transforms hexadecimal privkey to base58. Then you can import with the command line in the GUI client.


By the way, did you try using the recovered wallet (from pywallet --recover) directly as wallet.dat?

This last wallet I have not tested on the client-qt (now I try).
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
The tool I sent you transforms hexadecimal privkey to base58. Then you can import with the command line in the GUI client.


By the way, did you try using the recovered wallet (from pywallet --recover) directly as wallet.dat?
hero member
Activity: 620
Merit: 500
Oh it's for an altcoin! The problem must be this.
Please create a dummy address in your client then export the coresponding private key through the console and post it here.
I highly advise you to delete the address afterwards.
Thanks to this I'll be able to know which leading byte your altcoin uses to export private keys.

PS: without quotation marks

As you indicated me I made a dumpprivkey created and removed for the occasion wallet and this is what it returns me:

WnPrHA434nWat8CL131TTsZ3w2GYXm15ConQfcMjpNg2zwiG2kJB

I have taken other privatekeys and let you know that all start with W

It does not look anything like the PrivateKey to recover remanded me, 52 characters instead of 64 characters.

Let me know if you can do something about it.
greetings

Great!

I changed pywallet a bit to make a script for you
I just added those lines (do a diff before running it if you want):
Code:
	if len(sys.argv[1])==64:
print EncodeBase58Check(chr(201)+(sys.argv[1]).decode('hex')+'\x01')
else:
print 'bad private key length (%d)'%len(sys.argv[1])
exit()
The result is here: http://pastebin.com/raw.php?i=VYJkFfMc
Just save it to privkey.py then
Code:
python privkey.py 2a5b4c4e1d5f...(64 hexadecimal characters)

Hi Jack,
I will make the process has returned to recover and bounce back and the new dump.txt the address where I sent coins or any other address Whitecoin not appear.
The addresses are all BTC me back (all start with "1") when the last time found many WC, plus all PrivateKeys are 64 characters (hexadecimal) instead of 52 (base58).

Of course I keep the previous dump.txt with the correct address and associated PrivateKey.

Is there any way (calculator, converter ...) that can convert the PrivateKey that I have associated hexadecimal to base58?

Thanks again
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:
... ...

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...
Github can't automatically merge it, so I'll apply the patch as soon as I have my dev computer with me (within 2-3 days)
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
Oh it's for an altcoin! The problem must be this.
Please create a dummy address in your client then export the coresponding private key through the console and post it here.
I highly advise you to delete the address afterwards.
Thanks to this I'll be able to know which leading byte your altcoin uses to export private keys.

PS: without quotation marks

As you indicated me I made a dumpprivkey created and removed for the occasion wallet and this is what it returns me:

WnPrHA434nWat8CL131TTsZ3w2GYXm15ConQfcMjpNg2zwiG2kJB

I have taken other privatekeys and let you know that all start with W

It does not look anything like the PrivateKey to recover remanded me, 52 characters instead of 64 characters.

Let me know if you can do something about it.
greetings

Great!

I changed pywallet a bit to make a script for you
I just added those lines (do a diff before running it if you want):
Code:
	if len(sys.argv[1])==64:
print EncodeBase58Check(chr(201)+(sys.argv[1]).decode('hex')+'\x01')
else:
print 'bad private key length (%d)'%len(sys.argv[1])
exit()
The result is here: http://pastebin.com/raw.php?i=VYJkFfMc
Just save it to privkey.py then
Code:
python privkey.py 2a5b4c4e1d5f...(64 hexadecimal characters)
hero member
Activity: 620
Merit: 500
Oh it's for an altcoin! The problem must be this.
Please create a dummy address in your client then export the coresponding private key through the console and post it here.
I highly advise you to delete the address afterwards.
Thanks to this I'll be able to know which leading byte your altcoin uses to export private keys.

PS: without quotation marks

As you indicated me I made a dumpprivkey created and removed for the occasion wallet and this is what it returns me:

WnPrHA434nWat8CL131TTsZ3w2GYXm15ConQfcMjpNg2zwiG2kJB

I have taken other privatekeys and let you know that all start with W

It does not look anything like the PrivateKey to recover remanded me, 52 characters instead of 64 characters.

Let me know if you can do something about it.
greetings
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
Oh it's for an altcoin! The problem must be this.
Please create a dummy address in your client then export the coresponding private key through the console and post it here.
I highly advise you to delete the address afterwards.
Thanks to this I'll be able to know which leading byte your altcoin uses to export private keys.

PS: without quotation marks
Pages:
Jump to: