4个版本 (2个破坏性更新)
0.3.0 | 2024年6月3日 |
---|---|
0.2.0 | 2024年5月15日 |
0.1.1 | 2024年3月17日 |
0.1.0 | 2024年3月15日 |
#4 in #silent
每月下载 32 次
50KB
870 行
无声支付
BIP352:无声支付的一种Rust实现。
关于
警告:这个crate和BIP352都还相当新。在使用主网资金之前,请仔细审查此库。
此库支持创建并发送到无声支付地址,基于 secp256k1
PublicKey
和 SecretKey
结构体进行接口。未来,此库可能会扩展到依赖于rust-bitcoin的结构体。
库分为两部分:发送和接收。
发送
要发送到无声支付地址,你可以调用 sender::generate_recipient_pubkeys
函数。此函数接受一个无声支付接收者列表,以及一个 partial_secret
。
partial_secret
代表所有输入私钥与输入哈希的乘积之和。要计算 partial_secret
,可以使用 utils::sending::compute_partial_secret
函数,尽管这需要向此库公开秘密数据。稍后还会添加其他计算 partial_secret
的方法。
接收者
对于接收无声支付,我们使用 receiving::Receiver
结构体。此 Receiver
结构体实现了一个 scan_transaction
函数,可以用来扫描传入的交易以查找新收到的支付。
此库还支持标签。更改标签(用于生成更改地址的标签)默认包含。您可以通过使用 add_label
函数在扫描之前添加额外的标签。
示例
请查看 examples
文件夹以获取一些简单的发送和接收示例。这些示例仍然非常基础,稍后将进行扩展。同时,您可以通过查看 tests/vector_tests.rs
来了解发送和接收的更详细工作方式。
我们还在开发一个客户端,该客户端实现了发送和接收功能。这个客户端可以作为构建静默支付钱包的基础。即使它对你直接没有用处,它仍然是一个很好的资源,展示了如何将这个库与钱包集成。
测试
tests/resources
文件夹包含截至2024年5月1日的测试向量副本。
您可以通过运行以下命令使用测试向量测试代码:cargo test
。
依赖项
约7.5MB
约98K SLoC