joinmarket-webui / jam

Your sats. Your privacy. Your profit.
https://jamapp.org
MIT License
260 stars 53 forks source link

Import wallet using seedphrase #137

Closed abhiShandy closed 1 year ago

abhiShandy commented 2 years ago

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

ghost commented 2 years ago

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.

jase100k commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

Link here for reference: https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/1082

theborakompanioni commented 1 year ago

This is not blocked anymore since https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1461 is merged :muscle: Anybody working on this already?

theborakompanioni commented 1 year ago

@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 commented 1 year ago

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

theborakompanioni commented 1 year ago

@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:

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

Feel free to design as you see fit. :orange_heart:

editwentyone commented 1 year ago

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:

theborakompanioni commented 1 year ago

@editwentyone

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

editwentyone commented 1 year ago

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

editwentyone commented 1 year ago

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

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

theborakompanioni commented 1 year ago

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

Looks awesome. :rocket:

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 commented 1 year ago

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 commented 1 year ago

updated with more differences between active and passive pages:

image

🎨 Figma

▶️ Play