22 个版本

0.3.0-alpha.52024年7月30日
0.3.0-alpha.32024年6月5日
0.2.2 2023年12月5日
0.2.1 2023年11月10日
0.1.3 2022年11月30日

#383 in 神奇豆

Download history 93/week @ 2024-04-22 1/week @ 2024-04-29 7/week @ 2024-05-20 20/week @ 2024-05-27 101/week @ 2024-06-03 8/week @ 2024-06-10 1/week @ 2024-06-17 171/week @ 2024-07-01 9/week @ 2024-07-08 65/week @ 2024-07-15 89/week @ 2024-07-22 235/week @ 2024-07-29 13/week @ 2024-08-05

404 次每月下载

MIT 许可证

1MB
21K SLoC

RGB Lib

rgb-lib 是一个 Rust 库,它提供了一些工具,可以简单快捷地构建跨平台的 RGB 兼容钱包,无需担心比特币和 RGB 内部结构。

它主要使用 bdk 提供比特币钱包功能,以及几个 RGB 库,如 rgb-core,提供 RGB 特定功能。

该库旨在提供离线使用(某些 API 不需要使用互联网)和仅查看的使用(该库可以不使用私钥工作,签名操作需要使用其他工具)。

注意:这个库仍在开发中,处于测试阶段。此外,只要版本号为 0.*,应该预料到 API 可能会发生破坏性更改。

重要说明

⚠️ 警告:不要在多个设备上使用相同的钱包!

在多个设备上使用相同的钱包(助记词)可能导致由于不当的 UTXO 管理而导致 RGB 资产损失。

此库旨在专门处理钱包的所有 UTXO。在包括此库在内的任何其他设备上使用相同的助记词都可能导致严重问题,并最终导致 RGB 资产损失。

每次钱包上线时,都会进行一致性检查以确保UTXO集合自上次同步以来没有变化,并在检测到差异时返回错误。

本地语言绑定

该库的本地语言绑定也可通过rgb-lib-ffi项目获得。

测试

为了运行可用的测试,请执行

cargo test --workspace --all-features

此命令将启动一个bitcoind节点,三个electrs节点,一个esplora节点和三个RGB代理实例,以在regtest环境中执行集成测试。

测试运行后,服务不会自动停止。要从项目根目录停止它们并删除所有容器,请执行

docker compose -f tests/docker-compose.yml down

图表

docs/目录包含一些文档和UML图表,以简化对rgb-lib操作的理解。

这包括发行/发送/接收资产的典型流程以及资产转移的状态转换。

路线图

  • 添加API以扩展BlindData的过期时间
  • 添加对更多数据库的支持
  • 改进UTXO管理
  • 提高库的性能

依赖项

~98MB
~1.5M SLoC