Bitcoin Forum

Bitcoin => Wallet software => Topic started by: johncabat on January 03, 2016, 06:38:34 PM



Title: Got a pywallet dump, now what? Please!
Post by: johncabat on January 03, 2016, 06:38:34 PM
Hi All
I have to move away from bitcoin core.  I don't actively participate anymore in mining etc, but got some wallet.dat backups I'd like to do something with.
I've been trying since the summer to get 11.x to sync, this sub isn't the place to go into that except it's crash crash crash, reindex, crash crash crash then no block source available.

So I have to move to a different thinner client.  Please understand I can't do this by transferring coin elsewhere, because I cannot get a full-node install to sync. So unless I'm mistaken, my only option is to export wallet.dat over to another solution.

I don't really understand how bitcoin works under the skin, private keys public keys etc, so talk to me like I'm 5 please.  But it seemed like getting a --dumpwallet out of pywallet was essential to help me move forward.  But I can't figure which clients will accept this.  With a lot of trial and error I have two outputs from pywallet, one with passphrase provided, one without. 

Question:  What difference does providing the passphrase to pywallet make in this context? The output looks largely identical, with all private keys of type encrypted_privkey in both copies.

Question:  When trying to import that into stuff, which copy should I use?

Question:  Now with --dumpwallet output, which alternative client can I use this output with please for a painless transition?

Essentially, I have the most precious thing - wallet.dat, and now a pywallet dump, I just don't know how to move either over to something else.

Many thanks :)


Title: Re: Got a pywallet dump, now what? Please!
Post by: siameze on January 03, 2016, 07:22:17 PM
Well it depends on what wallet you intend to import your private keys into. Have you made a choice of wallet yet?

I agree that core is becoming a bloated mess, but beware that SPV wallets do not download the entire blockchain so you are left trusting the servers it connects to.


Title: Re: Got a pywallet dump, now what? Please!
Post by: johncabat on January 03, 2016, 08:10:49 PM
Well it depends on what wallet you intend to import your private keys into. Have you made a choice of wallet yet?

Thank you, a very good question!  And to be honest, right now I'm not sure I care (famous words of desperation!).  Perhaps foolishly, having patiently tried bitcoin core over and over, I do feel quite desperate to free up my coins as there is something I'd like to buy.

I don't really have a long-term wallet choice yet.  Perhaps electrum.  But right now to get started, I just want anything that will give me access to my coins locked away in my encrypted wallet.dat, and worry about what to do with them once I've got that far.

That's why I thought I'd post here for some voices of experience.  I've been dipping in and out of documentation for the popular alternative clients and to be honest it's sending me slightly crazy.  I haven't seen any import processes described that I fully understand, some favour coin xfer not import, and really I'm looking for something idiot proof like copy your wallet.dat here, or paste your pywallet dump into this box etc.

So I'd really appreciate any advice along the lines of "well if you pick client X this is dead easy, just do Y and you'll have access to your coins".  Priority is ease of import/access.   Security I can think more about later? And if it all goes wrong and my coins are stolen, I'm not worse than I am now, with a wallet.dat that I haven't been able to do anything with for many months!




Title: Re: Got a pywallet dump, now what? Please!
Post by: siameze on January 03, 2016, 08:18:57 PM
This might be of help to you if you plan on using Electrum then: https://en.bitcoin.it/wiki/Transferring_coins_from_Bitcoin-Qt_to_Electrum

I haven't used Electrum in some time, I use my own reference implementation of bitcoin to cut down on footprint. QT is excessively bloated and I don't mind working in command line. I use a couple of shell/perl scripts for tasks I perform on a regular basis, i.e. sending coins and signing messages.


Title: Re: Got a pywallet dump, now what? Please!
Post by: saturn643 on January 03, 2016, 08:31:17 PM
The private keys you want to import cannot be the encrypted_privkey output. You must use dumpwallet with the passphrase to get the unencrypted private keys. Those keys should start with '5', 'K', or 'L'. If they don't, then something is wrong.

You could use Electrum. It is a very good wallet and you can import your private keys there, although I recommend that you actually create a wallet with Electrum and then sweep your exported private keys. That way you can have your Bitcoin in the safety of a HD wallet.


Title: Re: Got a pywallet dump, now what? Please!
Post by: johncabat on January 03, 2016, 09:12:54 PM
This might be of help to you if you plan on using Electrum then: https://en.bitcoin.it/wiki/Transferring_coins_from_Bitcoin-Qt_to_Electrum

Thanks, I think I've seen that already and it left me with more questions than answers!
e.g. "Click Help -> Debug. Click the Console tab. Use the dumpprivkey command to get the private key. Repeat for as many bitcoin addresses as have money in them. "
That might make sense to a seasoned pro, but not me! My first question was where do I get this mythical list of addresses from (accounting for change etc?)
I tried using listaddressgroups but I was convinced BTC was missing, presumably that only produces reliable output after a full sync?
This is exactly why I kept going round in circles on the how-to's, as I was unsure of being able to do that stuff with only a 70% synced bitcoin core, so started playing with pywallet.

However now I understand the pywallet dump a bit more (see below) I think I'm close to that giving me the same info.

The private keys you want to import cannot be the encrypted_privkey output. You must use dumpwallet with the passphrase to get the unencrypted private keys. Those keys should start with '5', 'K', or 'L'. If they don't, then something is wrong.

Wow, thank you for pointing that out! This is I think the EXACT void in my understanding, I didn't know it's content or format so I was hoping for a software solution that did, to make it real simple.
OK so if I compare pywallet dump with/without passphrase.

The wallet is encrypted but no passphrase is used
{
    "bestblock": <redacted>
    "ckey": [],
    "defaultkey": <an address I recognize>
    "keys": [
        {
            "addr": <an address I don't recognize>
            "compressed": true,
            "encrypted_privkey": <redacted>
            "pubkey": <redacted>
            "reserve": 1
--

With passphrase applied there are extra fields:
The wallet is encrypted and the passphrase is correct
{
    "bestblock": <redacted>
    "ckey": [],
    "defaultkey": <an address I recognize>
    "keys": [
        {
            "addr": <an address I don't recognize>,
            "compressed": true,
            "encrypted_privkey": <redacted>,
            "hexsec": <redacted>,
            "pubkey": <redacted>",
            "reserve": 1,
            "sec": "K---something <redacted>"
            "secret": <redacted>

---

Looking at the "sec" field of the various addresses, every single one starts with a K or an L.   Are these my mysterious (to me) private keys!?
I would never have known without your tip  ;)

It is a very good wallet and you can import your private keys there, although I recommend that you actually create a wallet with Electrum and then sweep your exported private keys.

Ok groovy.  Having done some manipulation on the pywallet dump (with password) to extract all references to the "sec": field I have what I think are 212 private keys.
Is there nothing else I need from the dump output?
So I install Electum, set a new wallet, tell it to Sweep those keys and I'm good to go?


Title: Re: Got a pywallet dump, now what? Please!
Post by: saturn643 on January 03, 2016, 09:20:42 PM
Looking at the "sec" field of the various addresses, every single one starts with a K or an L.   Are these my mysterious (to me) private keys!?
I would never have known without your tip  ;)
Indeed those are your private keys.

Ok groovy.  Having done some manipulation on the pywallet dump (with password) to extract all references to the "sec": field I have what I think are 212 private keys.
Is there nothing else I need from the dump output?
So I install Electum, set a new wallet, tell it to Sweep those keys and I'm good to go?
That is all you need to do.


Title: Re: Got a pywallet dump, now what? Please!
Post by: johncabat on January 03, 2016, 09:49:04 PM
THANKS ALL!

I seem to have successfully sweeped over to electum, just waiting for tx confirm now.