electrum-personal-server icon indicating copy to clipboard operation
electrum-personal-server copied to clipboard

support Taproot

Open benma opened this issue 4 years ago • 8 comments

The BitBoxApp supports Taproot receive addresses since the last release. BitBoxApp users who use EPS now get warnings like Address not known to server.

It would be great if they could configure EPS to track Taproot addresses from an xpub/descriptor.

benma avatar Mar 18 '22 22:03 benma

Thanks for the issue.

Good idea. I wasn't aware of BitBox.

Do you know if they have any documentation for their taproot? For example what does the master public key format look like

chris-belcher avatar Mar 19 '22 15:03 chris-belcher

Currently it's just a plain xpub... string, but we could easily turn it into a descriptor if it helps, e.g. as proposed in https://github.com/spesmilo/electrum/issues/7544#issuecomment-971816165. I don't think anyone plans on continuing with the ypub... and zpub... versioning scheme.

benma avatar Mar 19 '22 16:03 benma

@chris-belcher Let me know as soon as you have a patch. I have exactly this problem and can test it.

micressor avatar Mar 24 '22 06:03 micressor

It seems internally, descriptors are used already:

https://github.com/chris-belcher/electrum-personal-server/blob/cc3085caf227fc8678e79f24a956fe44e8e6dbfd/electrumpersonalserver/server/deterministicwallet.py#L73

It looks like extending this to accept descriptors directly from the config is the way to go, and would make EPS more flexible and forwards-compatible. @chris-belcher do you plan to work on it?

benma avatar Mar 25 '22 13:03 benma

I don't plan to work on it for at least several months.

I'd prefer not to have the config file use descriptors instead of xpub ypub zpub, because Electrum's GUI doesn't use them. Right now the instructions to Electrum users are simple as they have to click Wallet -> Information and then copypaste the master public key into the config file.

chris-belcher avatar Mar 26 '22 20:03 chris-belcher

There is no need to remove support for xpub ypub zpub, but it would help to also parse descriptors additionally. Electrum will likely use descriptors as well, at least for their Taproot wallets.

Fyi, Electrum is not the only wallet using Electrum backends, many wallets do.

benma avatar Mar 26 '22 22:03 benma

@chris-belcher I use both wallets (electrum and BitBoxApp). If EPS is not patched, sooner or later I will be forced to use another implementation.

I do not use taproot addresses at the moment. But I can't work with the latest version of BitBoxApp because EPS brings this error and disconnects.

micressor avatar Mar 28 '22 07:03 micressor

Ah I see, yes adding additional ways to tell EPS about addresses to watch is fine. As long as it continues to work for Electrum users.

chris-belcher avatar Apr 06 '22 13:04 chris-belcher