GithubHelp home page GithubHelp logo

Add Taproot support about bwt HOT 10 OPEN

craigraw avatar craigraw commented on August 16, 2024 2
Add Taproot support

from bwt.

Comments (10)

benma avatar benma commented on August 16, 2024 2

Yes, looks like taproot descriptor support in rust-miniscript is still in progress: rust-bitcoin/rust-miniscript#267 I think I'll be able to help out when there's a new release for it.

Seems like the linked PR is merged.

from bwt.

craigraw avatar craigraw commented on August 16, 2024 2

It would be good to support descriptor-based wallets in BWT. I believe all ways of adding addresses (descriptors, xpubs and addresses) could be supported. There may need to be a way of resolving a conflict if an existing, non-descriptor-based wallet already exists with the same name, possibly by allowing a client to specify whether to update (by deleting and re-adding) an existing wallet if present, providing the version of Core supports it. I'd also be happy with dropping legacy wallet support altogether if necessary.

from bwt.

dunxen avatar dunxen commented on August 16, 2024 1

It also includes the type system bug fix, so it seems like a good idea to upgrade.

Yes, I think that was the last issue I ran into. Edit: Nope different issue with rust-bitcoin but I recall it's also sorted.

I'm going to tackle this from today again. I think everything upstream should be good now 🤞

from bwt.

dunxen avatar dunxen commented on August 16, 2024

Yes, looks like taproot descriptor support in rust-miniscript is still in progress: rust-bitcoin/rust-miniscript#267
I think I'll be able to help out when there's a new release for it.

from bwt.

dunxen avatar dunxen commented on August 16, 2024

Seems like the linked PR is merged.

Yeah, I've started working on it while waiting on a new release of rust-miniscript.

from bwt.

craigraw avatar craigraw commented on August 16, 2024

Any progress on this? rust-miniscript 7.0.0 was released on 20 April with support for tr descriptors. It also includes the type system bug fix, so it seems like a good idea to upgrade. It would be good to support Taproot wallets on Bitcoin Core in Sparrow :)

from bwt.

dunxen avatar dunxen commented on August 16, 2024

We're currently blocked by rust-bitcoin/rust-bitcoincore-rpc#216 when using Bitcoin Core 23.0+. I'm working with 22.0 for now but it would be great to have that merged so there's no confusion there for users.

from bwt.

dunxen avatar dunxen commented on August 16, 2024

So it looks like there's no way to import bech32m addresses at all in legacy wallets. Descriptor wallets must be used for all taproot transactions and they're the default in Core v23.0. rust-bitcoincore-rpc does not yet have any descriptor wallet RPCs (such as importdescriptors) so we'd need to wait for that and a few other loose ends or just add them to bitcoincore_ext.rs and do a bit of refactoring (which can be awkward if we want to keep supporting the legacy wallet type).

from bwt.

dunxen avatar dunxen commented on August 16, 2024

It would be good to support descriptor-based wallets in BWT. I believe all ways of adding addresses (descriptors, xpubs and addresses) could be supported. There may need to be a way of resolving a conflict if an existing, non-descriptor-based wallet already exists with the same name, possibly by allowing a client to specify whether to update (by deleting and re-adding) an existing wallet if present, providing the version of Core supports it. I'd also be happy with dropping legacy wallet support altogether if necessary.

Yes, I do agree. Descriptor wallets will support all of those. We're actually waiting on rust-bitcoin/rust-bitcoincore-rpc#199 (with requested changes) and then I think it's good to go. The easiest is to drop support for legacy wallets entirely. I like the idea of helping resolve conflicts in that case.

Edit: I'll base off the above with changes and start working with that branch on something useable and see how we like/dislike the handling of legacy wallets.

from bwt.

craigraw avatar craigraw commented on August 16, 2024

It appears that bitcoin/bitcoin#25504 (and thus Bitcoin Core 24.0 or higher) will be necessary if using the descriptors passed to BWT and not just adding raw addresses to a descriptor wallet. Without the include_change parameter that has been added, listsinceblock does not return self-transfers within a wallet.

from bwt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.