5 个稳定版本
3.1.0 | 2022 年 3 月 9 日 |
---|---|
3.0.0 | 2021 年 2 月 16 日 |
2.0.0 | 2020 年 9 月 7 日 |
1.1.1 | 2020 年 7 月 31 日 |
1.0.0 | 2019 年 10 月 25 日 |
#6 在 #cash
315KB
8K SLoC
ElectrsCash - 使用 Rust 实现的 Electrum Server
Electrum Server 的有效实现。
ElectrsCash 是 Electrum Server 的有效实现,可以用作 ElectrumX 的直接替代品。除了 TCP RPC 接口外,它还提供 WebSocket 支持。
ElectrsCash 完全实现了v1.4.3 Electrum Cash 协议,并提供了包括 CashAccounts 在内的实用扩展。
服务器索引整个比特币现金区块链,生成的索引使区块链应用程序和任何给定用户的钱包能够快速查询,使用户能够实时跟踪其余额和交易历史。
当在用户的个人机器上运行时,钱包无需与外部 Electrum 服务器通信,从而保护了用户的地址和余额的隐私。
特性
- 支持 Electrum 协议 v1.4.3
- 维护交易输入和输出的索引,允许快速查询余额。
- 在适度硬件上快速同步比特币现金区块链
- 索引存储开销低(约 20%),依赖于本地完整节点进行交易检索。
txindex
对于比特币节点不是必需的,但它确实提高了性能。- 使用单个 RocksDB 数据库以获得更好的一致性和崩溃恢复。
ElectrsCash 独有的显著特性
- 与Bitcoin Unlimited有很好的集成。
- 支持所有具有基本
bitcoind
RPC 支持的比特币现金完整节点。 - 所有 Electrum 服务器实现中最佳的集成测试覆盖率。(请参阅测试部分)
- 支持 CashAccount
使用方法
有关安装、构建和使用说明,请参阅此处。
索引数据库
数据库模式在此描述。
测试
使用 cargo test
运行单元测试。
集成测试包含在 Bitcoin Unlimited 测试集中。查找以 electrum_
前缀的测试。
要运行测试,您需要
- 克隆并构建 Bitcoin Unlimited.
- 运行
./contrib/run_functional_tests.sh
。
Bitcoin Unlimited 构建ElectrsCash,并将上述测试作为其持续集成的一部分运行。
代码检查工具
代码检查和格式化在项目的持续集成中强制执行。在贡献时,请运行 cargo clippy
以捕获常见错误并改进您的代码,以及运行 cargo fmt
以格式化代码。
依赖关系
~68MB
~1M SLoC