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

Any plans for non-deterministic watch-only wallet? #953

Open
ghost opened this issue Feb 16, 2021 · 13 comments
Open

Any plans for non-deterministic watch-only wallet? #953

ghost opened this issue Feb 16, 2021 · 13 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@ghost
Copy link

ghost commented Feb 16, 2021

Guys first, Specter is great piece of software, thank you a lot 👍 Do you have any plans for supporting non-deterministic watch-only wallet? There are still a lot of non-BIP32 paper wallets out there.

@ben-kaufman ben-kaufman added the enhancement New feature or request label Feb 17, 2021
@ben-kaufman
Copy link
Contributor

We've been thinking on adding that for a while, but didn't get the time yet... Can't promise anything, but I'll try in the coming weeks to find some time for that

@moneymanolis moneymanolis added UIUX good first issue Good for newcomers and removed UIUX labels Apr 27, 2022
@k9ert
Copy link
Collaborator

k9ert commented May 25, 2022

This would be a perfect usecase for our new extension-framework.
Here is roughly how to get started:

@Aditi-Singh16
Copy link
Contributor

Hi, I would like to work on this

@k9ert
Copy link
Collaborator

k9ert commented Feb 8, 2023

See also the extension-documentation which is probably not that important for this task but worth a mention:
https://docs.specter.solutions/desktop/extensions/intro/
Also, i'd suggest to use the bdk instead of dealing with the internal API of specter in order to do the Transaction generation stuff. bdk has nice python-bindings and it's as easy as pip3 install bdkpython. The documentation, especially for the python-bindings are not that great.

I looked through the examples and python ones are a bit rare. Here are some nuggest i found. Especially the Spotbit stuff might be interesting:

Let me know if you need any help. We'd be happy to join you in the Development chat: https://t.me/+yS4VO2JqBHkzYTI6

@Aditi-Singh16
Copy link
Contributor

Okay, thanks for the resources

@Aditi-Singh16
Copy link
Contributor

Hi @k9ert, I went through the videos and code samples.

I do have some silly doubts😅
I would like to know to which files or in what folder I should work.
also, In the frontend part, should there be an option in the wallets dropdown to create non-deterministic watch-only wallets or some other way?

@k9ert
Copy link
Collaborator

k9ert commented Feb 11, 2023

I'd suggest to create an extension which has a scope to simply sweep a paperwallet. You type or scan a secret key from something like e.g. https://www.bitaddress.org/ and the extension creates a transaction which sweeps the complete amount to one of your existing wallets.
If we have that, we can think about anything else but i think this extension would solve a lot of problems for a lot of people. We could improve that solution but having that, would already be a big deal.

@k9ert
Copy link
Collaborator

k9ert commented Feb 12, 2023

I would like to know to which files or in what folder I should work.
I propose those steps:

  • Create a new extension
  • Create a silly test within the extension which is using the bdk library. Start with a copy of what you can find in specterext-taxtheft.
  • Get familiar with that library. Figure out how to create a transaction with that library based on some secret key created with bitaddress.org
  • If you have that working in a test, you can try to incorporate that in a frontend. But having the test will probably need some time. Especially if you have some learning to dos on the bitcoin side.

@Aditi-Singh16
Copy link
Contributor

ooh okay

@Aditi-Singh16
Copy link
Contributor

Hi @k9ert ,
I think I found an issue with the extension_gen.py file
so when I was creating an extension I got this error
image

However, when I changed line 206 from
with open(fq_fname, "w") as file: to with open(fq_fname, "w", encoding='utf-8') as file:
it worked
So if this is a problem with everyone, should I create a PR for it?

@k9ert
Copy link
Collaborator

k9ert commented Feb 13, 2023

Oh, yes, please! I'm also happy if you would spend a bit more time on the extension generation, please have a look here:
#1957

@Aditi-Singh16
Copy link
Contributor

Okay sure! I will then work on that issue first

@k9ert
Copy link
Collaborator

k9ert commented Feb 13, 2023

Great! I had a discussion with @moneymanolis on how to cut this one in smaller pieces and i think we have some more concrete ideas on how to get this done with a bit more guidance. Stay tuned (or rather work on the ext-gen code for now).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

4 participants