#index #cash #bitcoin #electrum #server

bin+lib electrscash

Electrum Server的高效实现

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

MIT 许可证

315KB
8K SLoC

ElectrsCash - 使用 Rust 实现的 Electrum Server

license CI PRs Welcome

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 构建ElectrsCash,并将上述测试作为其持续集成的一部分运行。

代码检查工具

代码检查和格式化在项目的持续集成中强制执行。在贡献时,请运行 cargo clippy 以捕获常见错误并改进您的代码,以及运行 cargo fmt 以格式化代码。

依赖关系

~68MB
~1M SLoC