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

Add Taproot descriptors #20

Open
wants to merge 7 commits into
base: taproot-rebase-52b9797
Choose a base branch
from

Conversation

elichai
Copy link
Member

@elichai elichai commented Aug 16, 2019

Hi,
This is part of the code i've been working on as part of the residency,
Adding output descriptors to sipa's taproot branch.

Still missing some more unit tests and a bunch of functional tests (thinking of writing some descriptor generator for the tests)

Any kind of review is more than welcome as this PR can't be opened directly to core anytime soon (at the very least taproot should be merged if not even activated)

In general the descriptors look something like this:
tap(INTERNAL_KEY, {pk(KEY1),{{pk(KEY3),pk(KEY3)},pkh(KEY2)}})

Concrete example:

tap(KwXyp3nhG2ezACSj4fj1fSPVXeArbcGhbj7QSJ3Ka9tkQrE18gPH,{pk(L47CwsA9469CtukSyzC3QM3X4Gdqa5VE116C8WYzdx4BwW13bXZ8),pkh(L2tcd8jiG6j66M2GLCXDmwqsJTJW9NhGopovksyaFwQxz3gkFjxk)})

tap(031e34802508ce0bbabb71935832c92129c6df82143a924d731c43362495111319,{pk(023e93f827793706dffdca946b64842f69c336c8dd78f32d716ee7e77dfe119418),pkh(02e72a44840fccb573427d9a65d7ff137a1d83df576cfdfaad2f6ebdf56c3c24d5)})

P.S. Currently this does not support signing as adding signing support now will require a lot of changes to wallet format(saving merkle paths etc.) which will be way way easier with bitcoin#16528 (native descriptors) so i'll wait for that to get merged.

@elichai elichai changed the base branch from taproot-merge-8f60436 to taproot-rebase-52b9797 August 27, 2019 19:08
@jnewbery
Copy link

Sipa has updated the taproot branch based on your rebase. Do you want to rebase this PR on the taproot branch here: https://github.com/ChaincodeResidency/bitcoin/tree/taproot ?

@jnewbery jnewbery changed the title Adding Taproot descriptors to core Add Taproot descriptors Nov 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants