3 个版本 (重大变更)

0.20.0 2024 年 8 月 13 日
0.19.0 2024 年 7 月 18 日
0.18.0 2024 年 6 月 27 日
0.15.0 2024 年 3 月 19 日
0.5.0-alpha 2022 年 12 月 29 日

#438 in 魔法豆

Download history 176/week @ 2024-05-04 54/week @ 2024-05-11 1069/week @ 2024-05-18 840/week @ 2024-05-25 519/week @ 2024-06-01 770/week @ 2024-06-08 428/week @ 2024-06-15 300/week @ 2024-06-22 138/week @ 2024-06-29 467/week @ 2024-07-06 417/week @ 2024-07-13 337/week @ 2024-07-20 28/week @ 2024-07-27 1/week @ 2024-08-03 308/week @ 2024-08-10 60/week @ 2024-08-17

399 每月下载量
用于 4 个包 (3 直接)

MITNFA 许可证

210KB
4K SLoC

Rust-Payjoin

超级支付批处理以节省费用并保护您的隐私。

关于

payjoin

Payjoin 开发套件 payjoin 库实现了 BIP 78 Payjoin V1BIP 77 Payjoin V2

payjoin 包与许多钱包兼容,如 nolooking 中的 LND 和 Mutiny 钱包 中的 Bitcoin 开发套件,以及在 BitMask 中。

payjoin-cli

payjoin-cli 包以 Bitcoin Core 钱包作为参考实现,执行无装饰的 Payjoin。

payjoin-directory

payjoin-directory 包实现了 Payjoin V2 异步操作所需的 Payjoin 目录存储和转发服务器。

免责声明 ⚠️ WIP

自行承担风险。此包尚未经过独立 Rust 和 Bitcoin 安全专家的审查。

虽然我认为运行它没有很大风险,但现在请小心依赖其安全性!

寻求对验证无超额支付的代码进行审查。欢迎贡献!

开发状态

发送者 (V1 测试版,V2 预览版)

  • 基本逻辑
  • 实现了大多数检查
  • 文档
  • 使用官方测试向量的单元测试通过
  • 许多单元测试
  • 费用贡献支持
  • 使用 bitcoind 的示例客户端
  • 经过测试,与 BTCPayServer 兼容
  • 经过测试,与 JoinMarket 兼容
  • 最小费用率强制执行
  • 独立审查
  • 独立测试

接收者 (V1 测试版,V2 预览版)

  • 基本逻辑
  • 实现了大多数检查
  • 文档
  • 使用官方测试向量的单元测试通过
  • 许多单元测试
  • 费用贡献支持
  • 使用 bitcoind 的示例服务器
  • 经过测试,与 BTCPayServer 兼容
  • 经过测试,与 WasabiWallet 兼容
  • 与Blue Wallet兼容并测试通过
  • 与Sparrow兼容并测试通过
  • 经过测试,与 JoinMarket 兼容
  • 最小费用率强制执行
  • 折扣支持
  • 独立审查
  • 独立测试

代码质量

  • 惯用Rust代码
  • 新类型
  • 无panic错误处理
  • unsafe代码或经过良好测试/分析/证明的unsafe代码
  • 无警告
  • 持续集成(CI)
  • 集成测试
  • 模糊测试
  • 覆盖率测量

最小支持的Rust版本(MSRV)

payjoin库和payjoin-cli应始终能够在Rust 1.63.0上的任何功能组合下编译。

为了使用MSRV构建和测试,您需要锁定以下依赖项版本

payjoin

cargo update -p cc --precise 1.0.105
cargo update -p regex --precise 1.9.6
cargo update -p reqwest --precise 0.12.4
cargo update -p url --precise 2.5.0
cargo update -p tokio --precise 1.38.1
cargo update -p which --precise 4.4.0
cargo update -p zstd-sys --precise 2.0.8+zstd.1.5.5

payjoin-cli

cargo update -p cc --precise 1.0.105
cargo update -p clap_lex --precise 0.3.0
cargo update -p regex --precise 1.9.6
cargo update -p reqwest --precise 0.12.4
cargo update -p [email protected] --precise 0.3.20
cargo update -p tokio --precise 1.38.1
cargo update -p url --precise 2.5.0
cargo update -p which --precise 4.4.0
cargo update -p zstd-sys --precise 2.0.8+zstd.1.5.5

代码格式化

我们使用此项目的夜间Rust格式化工具。在提交任何更改之前,请使用夜间工具链运行rustfmt

许可协议

MIT

依赖项

~9–22MB
~294K SLoC