bitcoindevkit / bitcoindevkit/bdk-cli

Add Payjoin support

未关闭
#149 19 条评论 2 个 reaction 已指派 1 人 已被 @notmandatory 认领 在 GitHub 查看
enhancement
主要语言
Rust
星标
141
派生
99
平均合并
6 天 14 分钟
30 天内合并 PR
1

描述

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

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。