-
Notifications
You must be signed in to change notification settings - Fork 83
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Description
Implement (optional) BIP-0078 PayJoin support in the bdk-cli wallet using the rust bip78 project. PayJoin transactions provides a way to collaboratively create a transaction with a receiver in a way that prevents on-chain surveillance from using the common input ownership heuristic. Adding this feature to the bdk-cli project will demonstrate to other wallet builders using bdk how to add PayJoin support.
Expected Outcomes
- Integrate BIP-0078 functionality as an optional feature in
bdk-cliusing the rust bip78 crate - Contribute upstream to the rust bip78 project if any bugs or other issues are found
- Document how to use new PayJoin functionality with
bdk-cliand common services such as BTCPayServer
Resources
- bdk and bdk-cli projects
- rust-payjoin project and PayJoin
- The Rust Book
- PayJoin adoption
Skills Required
- Rust language development, or similar language with willingness to learn rust
- Be able to send and receive bitcoin transactions on testnet with
bdk-cliand other wallets - Basic understanding bitcoin transaction building
Mentor(s)
@notmandatory
Difficulty
Hard
Competency Test
- Install rust
- Clone and run bdk-cli, create single signature descriptor wallet, receive and send testnet bitcoin
- Demonstrate rust coding skill:
- via simple rust program
- OR by completing rustlings exercises: variables, functions, if, primitive types
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
In Progress