4 个版本 (2 个破坏性更新)

0.4.0 2022年5月19日
0.3.1 2021年12月24日
0.3.0 2021年12月21日
0.0.1 2020年11月30日

#79 in #保险库

自定义许可协议

675KB
12K SLoC

revaultd

关于 Revault

Revault 是一种适用于多方情况的多重比特币保险库架构。

加入 #revault 在 Libera 讨论 Revault 开发。

关于 revaultd

revaultdRevault 协议 中钱包部分的核心实现。它公开了 RPC 接口,旨在通过 GUI 包装器由参与者实际使用,同时允许程序访问功能。

比特币脚本和交易逻辑包含在 revault_tx 中,与服务器通信在 revault_net 中。

"利益相关者"(不积极参与日常资金管理但预先签署受限制的支出授权的参与者)逻辑、"管理者"(使用预先签署的授权进行支付的参与者)逻辑和"利益相关者-管理者"(同时扮演这两个角色的参与者)逻辑都是该守护进程的一部分。

revaultd 将通过其 RPC 接口(版本 22.0 最小)连接到 bitcoind,如果由管理者运行,则还可以连接到 协调器 和可选的一些 签名服务器(在具有签名服务器的部署中)。

                            -----------                          -----------
                           |revault-gui|                  ----- | cosignerd |
                            \         /                 /        -----------
 --------------             ----------                 /         -----------
| coordinatord |  <------  | revaultd |  ------------- -------> | cosignerd |
 --------------             ----------                 \         -----------
                            /        \                  \        -----------
                           | bitcoind |                   ----- | cosignerd |
                            ----------                           -----------

您可以在 doc/API.md 中找到可用的 RPC 命令的参考。

测试是通过直接集成到源代码中的单元测试(cargo test)和 Python 功能测试框架进行的,该框架允许测试更复杂的场景(仅针对 RPC 接口进行测试)。

最低支持的 Rust 版本

revaultd 应始终使用 Rust 1.43 编译并通过测试。

黑客技巧

查看 Aquarium 以获取一个通用的 Revault 部署解决方案。

revault-gui 还提供了一份教程,介绍如何在测试网上多个参与者之间“几乎真实”地部署 Revault。

贡献

欢迎贡献。有关一般指南,请参阅 CONTRIBUTING.md

许可证

在 BSD 3-Clause 许可证下发布。请参阅 LICENCE 文件。

依赖项

~65MB
~841K SLoC