bitcoindevkit / bitcoindevkit/bdk-cli

Add Payjoin support

Abierto
#149 19 comentarios 2 reacciones 1 asignado Reclamado por @notmandatory Ver en GitHub
enhancement
Lenguaje dominante
Rust
Estrellas
141
Forks
99
Merge medio
6 d 14 min
PR fusionados (30 d)
1

Descripción

**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**

* [bdk](https://github.com/bitcoindevkit/bdk) and [bdk-cli] projects
* [rust-payjoin] project and [PayJoin]
* [The Rust Book](https://doc.rust-lang.org/stable/book/)
* [PayJoin adoption](https://en.bitcoin.it/wiki/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-cli` and other wallets
* Basic understanding bitcoin transaction building

**Mentor(s)**
@notmandatory

**Difficulty**
Hard

**Competency Test**

* [Install rust](https://www.rust-lang.org/tools/install)
* 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

[PayJoin]: https://payjoin.org/
[rust-payjoin]: https://github.com/payjoin/rust-payjoin
[rust bip78]: https://crates.io/crates/bip78
[BIP-0078]: https://github.com/bitcoin/bips/blob/master/bip-0078.mediawiki
[common input ownership heuristic]: https://en.bitcoin.it/wiki/Common-input-ownership_heuristic
[bdk-cli]: https://github.com/bitcoindevkit/bdk-cli
[rustlings]: https://github.com/rust-lang/rustlings

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.