Blockstream / green_qt

Blockstream Green App
GNU General Public License v3.0
188 stars 31 forks source link

Restore wallet confusing: make clear distinction between generating secret and actually creating the wallet #32

Closed Transisto closed 3 years ago

Transisto commented 4 years ago

Win10, Tried on two desktops

Tried to restore a wallet created by Green, Continue button lights up but clicking it doesn't do anything.

domegabri commented 4 years ago

hi, at which step are you stuck? there are several involved in restore ( select chain/network, type mnemonic,set & confirm pin, set wallet name)

Transisto commented 4 years ago

Once mnemonic is typed

On Mon., Jun. 1, 2020, 09:55 Domenico Gabriele, notifications@github.com wrote:

hi, at which step are you stuck? there are several involved in restore ( select chain/network, type mnemonic,set & confirm pin, set wallet name)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Blockstream/green_qt/issues/32#issuecomment-636874485, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAC643BEAGJHG3OEPD2AP33RUOXMJANCNFSM4NOQAK7Q .

SimpleAristocrats commented 4 years ago

First, thank you for working on the desktop version. I'm having trouble restoring test wallets from mnemonics on linux (on xubuntu, 5.3.0-51-generic; x86_64), with the x86_64 AppImage (downloaded today, sha256sum tested).

  1. Execute the AppImage from my download directory.
  2. Created a test wallet and wrote down the mnemonic.
  3. Exit green.
  4. rm -r the Blockstream folder in ~/.local/share/
  5. Execute the AppImage from the download directory.
  6. Tried to restore wallet from the mnemonic. Stuck at "continue". In the terminal, I see Load db, no file or bad file ..... .sqliteaesgcm authentication change Wallet::Authenticating -> Wallet::Unauthenticated I tested with different test wallets, same operations, it works for some mnemonics but not for others. I believe I was careful in taking down the mnemonic as I saw it. For example, the following TEST (empty) mnemonic doesn't seem to work : paper target equip two name fossil toast program gaze harvest walnut spider movie stomach pitch broken excess execute monster subject worth trip impact benefit Neither does this one : chest genuine basket horse flame swim involve whip wild chicken result wine buyer ginger glad report broken reduce eyebrow fitness coffee service flush embrace But some other mnemonics work.
domegabri commented 4 years ago

are these ones testnet wallets?

also are these wallets all generated from the blockstream green apps? I would add that to generate a wallet and be able to restore it, you need to go through the entire creation process, up to landing into the wallet dashboard where you see balances and transactions.

SimpleAristocrats commented 4 years ago

Thanks for the follow-up!

  1. Not testnet wallets, these are for mainnet.
  2. Yes, generated from within green_qt (desktop)
  3. I'll do more tests (making sure that I completed the steps up to landing into the wallet dashboard) and report back. Thank you!
SimpleAristocrats commented 4 years ago

Update : tested three times, now works flawlessly. That must have been it : for those later tests, I had stopped after getting the mnemonics and didn't proceed up to the dashboard. Mea culpa. I'm very glad to have a desktop version. Thank you!

Transisto commented 4 years ago

I don't understand if you did something to fix it or it just "fixed itself" after many tries.

On Thu., Jun. 4, 2020, 12:27 SimpleAristocrats, notifications@github.com wrote:

Update : tested three times, now works flawlessly. That must have been it : for those later tests, I had stopped after getting the mnemonics and didn't proceed up to the dashboard. Mea culpa. I'm very glad to have a desktop version. Thank you!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Blockstream/green_qt/issues/32#issuecomment-638965054, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAC643H6QAGOBHVXXU6SIU3RU7DP5ANCNFSM4NOQAK7Q .

SimpleAristocrats commented 4 years ago

My understanding at this point is that, since I didn't go all the way up to the dashboard when creating those wallets (I stopped after getting and validating the mnemonic words with the integrated test where it asks us for four words to make sure we wrote them down), the wallets weren't properly created and so couldn't be restored. My guess is that since these are 2 of 2 wallets, if one doesn't go up to the dashboard when creating the wallet but rather stops half-way, no corresponding key is created on blockstream's servers. When trying to restore the wallet with the mnemonic, it finds nothing on blockstream's servers corresponding to that mnemonic and doesn't proceed. In my case, after doing three new tests and going all the way to the dashboard where it shows the balance, it seems to work perfectly on my setup. From your description of the problem, it was the same symptom on my end. However, the problem you experienced may be different, I don't know.

Transisto commented 4 years ago

Thanks, I had no idea the wallet was compatible only with 2-of-2 wallets.

SimpleAristocrats commented 4 years ago

After creating a 2-of-2 wallet with the desktop app, it's possible to create a new "account" that will be 2-of-3 (third key held offline for recovery), but I don't think it's possible to create a single-sig wallet yet. I believe they're working on that though : it's listed as "coming soon" on their website (as announced on blockstream's website on 2020-05-21).

domegabri commented 3 years ago

We have added support for single sig wallets to the library (gdk) and we will integrate it in the apps.

Regarding this restore issue, I am adding some details to the title to address the possible confusion between creating the wallet secret and creating the blockstream green wallet itself.

Thanks for your testing.

domegabri commented 3 years ago

We recently improved the onboarding process and there's now an explicit step Creating wallet... making it easier to understand when the creation process in done.