Author

Topic: Unconfirmed amount unable to move to new wallet (Read 1470 times)

member
Activity: 112
Merit: 10
hi, i'm trying to follow these steps, but there something that i don't understand.
It seems that the "Derived Addresses" are...too much!!
I keep click on "Show more rows" but it seems that there is no end.
For example now i have more than 700 private keys, and if i wrote "1000" in "show more row" box, i will have 1700 private keys! How is it possible?
My wallet is a wallet with only 2 receive transaction e 0 send transaction!!!
Did i do something wrong?
Hahahah... no...  Grin Cheesy

You haven't done anything wrong, that is just how Hierarchical Deterministic (HD) wallets work... they can, for all intents and purposes, generate an "unlimited" number of addresses from the seed...

The only thing you did "wrong" was to keep going! Wink You really only need to get the private keys for the addresses that you have actually used and still contain coins... there is no point trying to import or sweep the other private keys if they control no coins Wink

If you have only 2 receive transactions, you'll need to know the address(es) used to receive those 2 transactions... and then get the private key(s) for just those address(es). Smiley



wooowwwww!!

it works!!!!!

thanks a lot man!!!
HCP
legendary
Activity: 2086
Merit: 4361
hi, i'm trying to follow these steps, but there something that i don't understand.
It seems that the "Derived Addresses" are...too much!!
I keep click on "Show more rows" but it seems that there is no end.
For example now i have more than 700 private keys, and if i wrote "1000" in "show more row" box, i will have 1700 private keys! How is it possible?
My wallet is a wallet with only 2 receive transaction e 0 send transaction!!!
Did i do something wrong?
Hahahah... no...  Grin Cheesy

You haven't done anything wrong, that is just how Hierarchical Deterministic (HD) wallets work... they can, for all intents and purposes, generate an "unlimited" number of addresses from the seed...

The only thing you did "wrong" was to keep going! Wink You really only need to get the private keys for the addresses that you have actually used and still contain coins... there is no point trying to import or sweep the other private keys if they control no coins Wink

If you have only 2 receive transactions, you'll need to know the address(es) used to receive those 2 transactions... and then get the private key(s) for just those address(es). Smiley

member
Activity: 112
Merit: 10
3. You can achieve the same thing as Option 2, by following the manual process below:

  • Step 1. Create an offline copy of the BIP39 Mnemonic Code Converter: https://iancoleman.github.io/bip39/ (instructions at bottom of the page)
  • Step 2. Put your MBHD seed phrase in as "BIP39 Mnemonic"
  • Step 3. Click "BIP32" under "Derivation Path" section
  • Step 4. Set "Client" dropdown to "Custom Derivation Path"
  • Step 5. Set the "BIP32 Derivation Path" to: m/0'/0
  • Step 6. All your addresses/private keys for "Receive" addresses will show at bottom of the page (you may need to click "show more" if you have a lot of used addresses)
  • Step 7. Set the "BIP32 Derivation Path" to: m/0'/1
  • Step 8. All your addresses/private keys for "Change" addresses will show at the bottom of the page (you may need to click "show more" if you have a lot of transactions)
  • Step 9. Sweep (or import) the private keys you have generated from Steps 6 and 8 into another wallet (I'd recommend Electrum)
  • Step 10. Be Happy! Wink

hi, i'm trying to follow these steps, but there something that i don't understand.

It seems that the "Derived Addresses" are...too much!!

I keep click on "Show more rows" but it seems that there is no end.

For example now i have more than 700 private keys, and if i wrote "1000" in "show more row" box, i will have 1700 private keys! How is it possible?

My wallet is a wallet with only 2 receive transaction e 0 send transaction!!!

Did i do something wrong?
newbie
Activity: 12
Merit: 0
 Cheesy

CheerS!
HCP
legendary
Activity: 2086
Merit: 4361
Hey, thanks for the beer! Wink Now... if only there was a bar around here that accepted bitcoin! Tongue
newbie
Activity: 12
Merit: 0
Done, its not much, but your efforts really appreciated !
HCP
legendary
Activity: 2086
Merit: 4361
Thanks... and yes, the address in my profile (16qkTAUmtCdBYfXXKKGKqD8pAYtL1T5pqV) is fine... Smiley
newbie
Activity: 12
Merit: 0
@HCP I would like to send some bitcoin in appreciation for your efforts.. use your address in your profile?
HCP
legendary
Activity: 2086
Merit: 4361
Awesome, glad you managed to get it all sorted. I like happy endings Smiley

Hopefully the functionality that ThomasV has included in Electrum to be able to specify the Derivation Path when importing seeds will make this sort of thing a lot easier in the future!
newbie
Activity: 12
Merit: 0
okay, so the funds are "recovered".

#1 I had the wrong seed therefore when I restored the wallet, I had restored an empty wallet. I noticed this immediately with the new electrum wallet where there was an option to show addresses.

#2 Thanks to HCP's awesome script, I was able to sweep the keys and move the funds to my brand spanking new electrum wallet. Prior to the last post I had a suspicion that I had the wrong seeds. As I couldn't find any of my addresses in the output. *doh!

Thank you HCP for your patience and your help!
HCP
legendary
Activity: 2086
Merit: 4361
Grin no worries for the late reply. I was away from my office also.

Ran the new script
http://imgur.com/a/3ZBo1

added a # to line 222, ran the script and it competed with out errors.

 Smiley Smiley Smiley
Doh... had an empty "else:" clause... that would explain the indentation error Tongue Glad you managed to figure it out tho.


Quote
So I use the info in the parsed_wallet.txt then ?
No the parsed_wallet.txt is just a plaintext dump of your wallet file... the private keys and seeds and stuff will still be encrypted in that txt file... or they should be Tongue

You should have had some addresses/private keys displayed on screen when you ran the script... It purposely doesn't write anything to a file to try and prevent data leakage... it only displays on screen (and will be in memory)...

If you run with:
Code:
python find_unspent_multibitHD_txes.py mbhd.wallet.aes > output.txt
It will save all the output into a text file... I don't recommend this unless you're get hundreds of output lines and it is exceeding the scrollbuffer of the terminal window and you can't just scroll back up to see the addresses/private keys...
newbie
Activity: 12
Merit: 0
 Grin no worries for the late reply. I was away from my office also.

Ran the new script
http://imgur.com/a/3ZBo1

added a # to line 222, ran the script and it competed with out errors.

 Smiley Smiley Smiley

So I use the info in the parsed_wallet.txt then ?
HCP
legendary
Activity: 2086
Merit: 4361
Ahhhh... looks like that transaction has "Pay To Many"... like MANY addresses... hahah. So the ACTUAL output of your address got drowned out in the noise...

Updated the script (same URL as before): https://pastebin.com/bB6qS4Vi

This oneshould not dump out all the "not found" messages and only so addresses that match...

Also, just FYI, ThomasV released 2.9.0 of Electrum, that should now import MultiBit HD seeds. During wallet creation, select "Standard Wallet -> I have a seed -> Click options and select BIP39 seed -> Input seed -> Next -> and use m/0' as derivation path.

All your addresses should be generated and transaction history loaded! Cheesy


ps. sorry about the delay in responding...
newbie
Activity: 12
Merit: 0
Awesome... thanks for the debug!

It was indeed choking on a multisig address... I think I have it figured out, I should have been using a different library to extract the addresses Smiley

Try this version: https://pastebin.com/bB6qS4Vi

It should hopefully no longer break on multisig script outputs... so theoretically it should run without error and find your UTXOs now... fingers crossed. Let me know how you get on.

seemed to be doing fine... http://imgur.com/a/OHMWB

..till.. http://imgur.com/a/v0YGD  Huh
HCP
legendary
Activity: 2086
Merit: 4361
Awesome... thanks for the debug!

It was indeed choking on a multisig address... I think I have it figured out, I should have been using a different library to extract the addresses Smiley

Try this version: https://pastebin.com/bB6qS4Vi

It should hopefully no longer break on multisig script outputs... so theoretically it should run without error and find your UTXOs now... fingers crossed. Let me know how you get on.
newbie
Activity: 12
Merit: 0
No worries... Happy to help Smiley

MultiBit HD records all the transactions for your addresses in the wallet file... and groups them in various pools (SPENT, UNSPENT etc)... Basically, my script hunts through your wallet file, looking for "Unspent Transactions" and then attempts to match an output address in the transaction with one from your wallet and then outputs the matching private key.

I had another user with that same error report it on the github, but they never responded after I requested more info to try and replicate and debug.

The error is being generated in another Python library when it attempts to write out the script bytes from a transaction... I believe that this is being caused by there being a multisig (aka "3") address involved in that transaction and the library isn't able to deal with the output script for that address...

Can you look at the Transaction ("f82....") and see how many output addresses there are... I suspect there are more than just the 4 that you see, but obviously can't confirm it Wink

checked f82... at blockchain http://imgur.com/a/9kW2Z yes there are more transactions.

Quote
As per the github issue posting, I created a slightly modified version of the script that will output some additional info: https://pastebin.com/1EUMusyR

Can you please run that and sending me the "script_bytes" data that it outputs (It isn't sensitive data, it is info that is already publicly recorded in the blockchain Wink)... and also the TransactionID... Feel free to PM me if you want to keep the info private.

Hopefully, that will enable me to figure out what is causing the issue and fix it so the script will complete properly and you can get your keys/coins Smiley

ran the new codes... http://imgur.com/a/aHxh3

And screenshots from my phone https://imgur.com/a/7Ze1G
HCP
legendary
Activity: 2086
Merit: 4361
No worries... Happy to help Smiley

MultiBit HD records all the transactions for your addresses in the wallet file... and groups them in various pools (SPENT, UNSPENT etc)... Basically, my script hunts through your wallet file, looking for "Unspent Transactions" and then attempts to match an output address in the transaction with one from your wallet and then outputs the matching private key.

I had another user with that same error report it on the github, but they never responded after I requested more info to try and replicate and debug.

The error is being generated in another Python library when it attempts to write out the script bytes from a transaction... I believe that this is being caused by there being a multisig (aka "3") address involved in that transaction and the library isn't able to deal with the output script for that address...

Can you look at the Transaction ("f82....") and see how many output addresses there are... I suspect there are more than just the 4 that you see, but obviously can't confirm it Wink

As per the github issue posting, I created a slightly modified version of the script that will output some additional info: https://pastebin.com/1EUMusyR

Can you please run that and sending me the "script_bytes" data that it outputs (It isn't sensitive data, it is info that is already publicly recorded in the blockchain Wink)... and also the TransactionID... Feel free to PM me if you want to keep the info private.

Hopefully, that will enable me to figure out what is causing the issue and fix it so the script will complete properly and you can get your keys/coins Smiley
newbie
Activity: 12
Merit: 0
MB Classic and MB HD are two very different wallets... you need to use the "find_unspent_multibitHD_txes.py" script... it should hunt through your wallet and find the unspent UTXOs...

Although it may struggle if it thinks you have unconfirmed transactions... Undecided

What does this do actually? It returns 4 addresses

screenshot http://imgur.com/a/TX5P3

Quote
Also, if "Breadwallet" or "Simple Bitcoin Wallet" came up with a zero balance then that isn't normal. Have you checked your addresses from MBHD on a blockchain explorer like blockchain.info to see if there ARE actually unspent coins on your addresses?

yes I did check the addresses on blockchain.info, past transactions all there.
1DRzm3VwkFt4M5eSw7EFhydcpYAWfM7BL just sent yesterday


When all this unconfirmed situation started, i had 0.0025 btc confirmed and 0.019 btc unconfirmed. Eventho everything was legit for at least a year plus. I did a few repairs only once it worked. I know I should have sent the BTC's to another wallet, but I was quite busy with work, so did not had time to research the better wallets out there. After more repairs, I tried renaming the folder under \Roaming\Multibit and re-sync everything, and then it showed zero btc. After much reinstalls, i renamed back my previous folder and everything was back. the confirmed and unconfirmed btc. So as a test, I sent 0.0025 btc to my new wallet, and it arrived almost instantly.

Out of ideas, I had to signup for help...

Thanks again for your assistance!
HCP
legendary
Activity: 2086
Merit: 4361
MB Classic and MB HD are two very different wallets... you need to use the "find_unspent_multibitHD_txes.py" script... it should hunt through your wallet and find the unspent UTXOs...

Although it may struggle if it thinks you have unconfirmed transactions... Undecided

Also, if "Breadwallet" or "Simple Bitcoin Wallet" came up with a zero balance then that isn't normal. Have you checked your addresses from MBHD on a blockchain explorer like blockchain.info to see if there ARE actually unspent coins on your addresses?
newbie
Activity: 12
Merit: 0
Thanks for the prompt and detailed reply.

I already tried #1. it shows zero.

trying #2 but stuck at decrypt_multibit_classic_keys.py I couldnt locate *.key .

So I am trying decrypt_multibit_classic_walletkeys.py, when you say multibit.wallet. its it the exact file name or should I change it to what i have mbhd-20170628235705.wallet?


Best Regards
HCP
legendary
Activity: 2086
Merit: 4361
You can't... you're using MultiBit HD... it isn't at all compatible with MB Classic... and it doesn't support exporting your private keys directly. Unfortunately, as you have discovered, MBHD has some real issues at the moment, and the devs seem to be MIA... there hasn't been any updates in months! Undecided

You have a few options:

1. 'Restore' your seed into "Breadwallet" (iOS or Android)... or "Simple Bitcoin Wallet" (Android only).  These wallets use the same "Derivation Path" as MBHD, so will restore your wallet/addresses/transactions correctly.

2. If you're at all familiar with Python and running scripts, you can use my extractor scripts to get the addresses/private keys containing coins out of your MBHD wallet file

3. You can achieve the same thing as Option 2, by following the manual process below:

  • Step 1. Create an offline copy of the BIP39 Mnemonic Code Converter: https://iancoleman.github.io/bip39/ (instructions at bottom of the page)
  • Step 2. Put your MBHD seed phrase in as "BIP39 Mnemonic"
  • Step 3. Click "BIP32" under "Derivation Path" section
  • Step 4. Set "Client" dropdown to "Custom Derivation Path"
  • Step 5. Set the "BIP32 Derivation Path" to: m/0'/0
  • Step 6. All your addresses/private keys for "Receive" addresses will show at bottom of the page (you may need to click "show more" if you have a lot of used addresses)
  • Step 7. Set the "BIP32 Derivation Path" to: m/0'/1
  • Step 8. All your addresses/private keys for "Change" addresses will show at the bottom of the page (you may need to click "show more" if you have a lot of transactions)
  • Step 9. Sweep (or import) the private keys you have generated from Steps 6 and 8 into another wallet (I'd recommend Electrum)
  • Step 10. Be Happy! Wink
newbie
Activity: 12
Merit: 0
So i had been reading and testing solutions posted in here for the issues as per the topic a while now and its really getting frustrating.

First time it happened, I just let it be and sync for a few days but it did not resolved itself. Went thru the forums and then tried to repair the wallet, Got my btcs back next day.

Then it happens again. I decided to try renaming the \Roaming\MultiBitHD\ folder and after "reinstall" and sync my wallet, I had zero btc. After much trying and waiting, I renamed back the original folder and once loaded I was back to yesterday, unconfrimed btc.

Now I have decided to move to a new wallet. But I cant export keys. I tried EMPTY WALLET, only the confirmed btc went thru, all the unconfirmed ones still there.

http://imgur.com/a/SZI8N

How / Where do I find the MultiBit classic w/ export functions ?

Thank you in advance!
Jump to: