Skip to content

Add Payjoin support #149

@notmandatory

Description

@notmandatory

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-cli using 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-cli and common services such as BTCPayServer

Resources

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-cli and 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 request

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions