Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import wallet using seedphrase #137

Closed
abhiShandy opened this issue Mar 2, 2022 · 15 comments · Fixed by #621
Closed

Import wallet using seedphrase #137

abhiShandy opened this issue Mar 2, 2022 · 15 comments · Fixed by #621
Assignees
Labels
concept Wild idea, or too many details unknown yet enhancement New feature or request UI/UX Issue related to cosmetics, design, or user experience

Comments

@abhiShandy
Copy link

Existing power users should be able to move their wallets to this UI

@theborakompanioni theborakompanioni added concept Wild idea, or too many details unknown yet enhancement New feature or request UI/UX Issue related to cosmetics, design, or user experience labels Mar 2, 2022
@ghost
Copy link

ghost commented Mar 15, 2022

Does that not work already for you? Wallets created via the CLI should show up in the UI. As the UI is just a frontend for the RPC API there shouldn't be any difference between wallets created via the CLI scripts and the UI.

@dergigi dergigi added this to JAM Mar 16, 2022
@jase100k
Copy link

jase100k commented Mar 18, 2022

After importing wallet file across it shows up in the GUI which you can unlock it, but the UTXO's are not showing up. It's a different wallet file in bitcoin core, if i change it to the wallet that I've been using for joinmarket previously in the joinmarket.cfg the balance shows in cli.

Tried using cli command of python wallet-tool.py -g 50 wallet.jmdat, and after that a bitcoin-cli rescanblockchain and then check balance and it still shows as 0 balance.

update - using the rpcwallet file as part of the rescan command, waiting for the scan to finish

/bitcoin-cli -rpcwallet=jam_default rescanblockchain

that worked transactions and wallet balance can be seen.

@nullcount
Copy link

Just went through the same process as jase100k. Would be great to have a "rescan" option in wallet settings. Interested if this is possible since rescanblockchain isn't a JM RPC method.

@theborakompanioni
Copy link
Collaborator

Link here for reference: JoinMarket-Org/joinmarket-clientserver#1082

@theborakompanioni
Copy link
Collaborator

theborakompanioni commented Apr 22, 2023

This is not blocked anymore since JoinMarket-Org/joinmarket-clientserver#1461 is merged 💪
Anybody working on this already?

@theborakompanioni theborakompanioni added this to the v0.1.6 - TBD milestone May 4, 2023
@theborakompanioni theborakompanioni changed the title Import wallet using either seedphrase or .jmdat file Import wallet using seedphrase May 9, 2023
@theborakompanioni
Copy link
Collaborator

theborakompanioni commented May 9, 2023

@editwentyone Would you be able to add an "Import Wallet" button and some views to Figma how you think the import process should look like? That'd be amazing.

@editwentyone
Copy link

@theborakompanioni sure, could you give me a rough overview of the needed steps? just with bulletpoints what is actually needed from your side

@theborakompanioni
Copy link
Collaborator

@theborakompanioni sure, could you give me a rough overview of the needed steps? just with bulletpoints what is actually needed from your side

This is what currently is done when creating a wallet:

  • "Create Wallet" button clicked
  • User provides a "wallet name" and a "password" (twice for verification)
  • User is shown a seed phrase
  • User must retype the seed phrase (verification)
  • Done

So, the above steps (and their corresponding copies) can be reused and basically become:

  • "Import Wallet" button clicked
  • User specifies "wallet name" and "password" (Same as when creating)
  • User must input the seed phrase (Instead of showing a seed phrase and let the user retype it)
  • Then, the wallet is unlocked, but a rescan is triggered -> show somewhere that the rescan is in progress (Wallet is not usable till the rescan is complete.)
    • e.g. show a "Rescan is in process" message on a banner element above the navbar (?)
  • Done

Feel free to design as you see fit. 🧡

@editwentyone
Copy link

editwentyone commented May 9, 2023

on it…

update: hot and greasy live from bitcoin Miami… @theborakompanioni: https://www.figma.com/file/kfejZJFlwBywvLEnPEmJo1/JoinMarket-UI?type=design&node-id=5959-66524&t=3wpjCPr8CTTzNAwh-11

questions:

  • can we show a rescan progress? i.e: 10% » no
  • can we calculate how long it will take? i.e: 5 minutes left, please be patient » no
  • does the rescan progress continues when the wallet is locked again, because the user wants to use another one in the meantime? » wallet must stay unlocked

@theborakompanioni
Copy link
Collaborator

@editwentyone

During the first steps of implementing this, some thoughts came up:

  • There needs to be a confirmation screen similar to the "create wallet" flow, as the user needs to see the provided password in plaintext at least once - however, there is no need to re-enter the mnemonic phrase. The same component as in "create wallet" can be used.
  • When rescanning the chain, a blockheight must be provided. This could theoretically be asked for via a datepicker element, but I'd thought I go with a plain number input for the first version. What do you think?
  • I need to confirm this, but I think a user should also be able to adapt the gaplimit, in order to find all funds in heavily used wallets.
  • Rescanning should not only be possible after importing a wallet - a user should be able to trigger a rescan anytime. I thought a button "Rescan chain" in section "Wallet" on the settings screen makes sense. It will open a separate page so that an explanation can be given as to what it is or what it is intended to do.
  • I am totally lost on the wording and will add some filler text in the initial PR. Hopefully, someone can provide good texts that describe the functionality well.

@editwentyone
Copy link

let me know when I can test a first draft to experience it and also think about it :)

@editwentyone
Copy link

editwentyone commented Jul 13, 2023

I modified the flow, based on what I could test and learn until now

image

https://www.figma.com/proto/kfejZJFlwBywvLEnPEmJo1/JoinMarket-UI?page-id=2850%3A67638&type=design&node-id=5959-66524&viewport=-14%2C-4147%2C0.29&t=z8QQU9wCauaNQ9kL-9&scaling=min-zoom&starting-point-node-id=5959%3A66524&show-proto-sidebar=1

there are some points to talk about, open to any feedback

  • added cancel
  • added back
  • check of filename already taken during first screen
  • added month, year and genesis option

no quite sure about rescaning from settings and what gap limit is. I need more clarification here please

@theborakompanioni
Copy link
Collaborator

theborakompanioni commented Jul 17, 2023

I modified the flow, based on what I could test and learn until now

Looks awesome. 🚀

there are some points to talk about, open to any feedback

* added cancel

* added back

* check of filename already taken during first screen

* added month, year and genesis option

no quite sure about rescaning from settings and what gap limit is. I need more clarification here please

Yes, I definitely need some more input as well and I am a little bit unsure of what the right approach is (e.g. currently I think, we have to "pre-generate" a bunch of addresses and then start the rescanning - which means, a user might has to rescan a couple of times.. which feels like bad UX). I'll let you know once I have the basic building blocks ready - currently it is all very rough, but I should be able to allocate some time soon.

Things like "check of filename already taken during first screen" can be a follow-up feature request. I would not want to make reviewing the PR more complex than it already is (the wallet will just fail to be imported if the filename is already taken - same as within the current "create wallet" flow).

@editwentyone
Copy link

editwentyone commented Jul 17, 2023

Then we should get a hint until then, to name it accordingly.

Also i thought about moving the date picker even a slide earlier, on the „active side“, where you actively insert your seed and choose a date. After that comes the „passive side“ to review only.

Still sick, so Update will come later on figma unfortunately

@editwentyone
Copy link

updated with more differences between active and passive pages:
image

🎨 Figma

▶️ Play

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
concept Wild idea, or too many details unknown yet enhancement New feature or request UI/UX Issue related to cosmetics, design, or user experience
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

6 participants
@theborakompanioni @abhiShandy @jase100k @nullcount @editwentyone and others