#index #bitcoin #electrum #server #database

bin+lib electrs

Electrum Server 在 Rust 中的高效重新实现

49 个版本

0.10.5 2024 年 5 月 18 日
0.10.4 2024 年 3 月 15 日
0.10.3 2024 年 2 月 10 日
0.10.2 2023 年 12 月 30 日
0.1.0 2018 年 7 月 2 日

#2#electrum

Download history 128/week @ 2024-05-12 49/week @ 2024-05-19 33/week @ 2024-06-30 261/week @ 2024-07-28

261 每月下载量

MIT 许可证

1.5MB
5K SLoC

Logo

Rust 中的 Electrum Server

CI PRs Welcome crates.io gitter.im

Electrum Server 的高效重新实现,灵感来自 ElectrumXElectrum Personal Serverbitcoincore-indexd

此项目的动机是让用户能够自托管一个 Electrum 服务器,所需硬件资源不超过一个 全节点。服务器索引整个比特币区块链,生成的索引使可以对任何特定用户的钱包进行快速查询,使用 Electrum 钱包 允许用户实时跟踪余额和交易历史。由于它在用户的机器上运行,因此钱包无需与外部 Electrum 服务器通信,从而保护用户地址和余额的隐私。

用法

请优先使用我们的使用指南!

外部指南可能过时,并存在各种问题。至少请确保您使用的指南正在积极维护。如果您不能使用我们的指南,请询问您不理解的问题或考虑使用自动化部署。

请注意,此 Electrum 服务器实现针对 个人/小规模(家庭/朋友)使用 进行优化。公开运行它是不明智的,因为它会使您容易受到 DoS 攻击,也许还会受到其他攻击。如果您想运行公共服务器,您可能会对 Blockstream 对 electrs 的分支 感兴趣,它在公共使用方面进行了更好的优化,但代价是消耗了 显著 更多的资源。

功能

  • 支持 Electrum 协议 v1.4
  • 维护交易输入和输出的索引,允许快速查询余额
  • 使用硬盘存储实现比特币区块链的快速同步(截至2023年8月,约6.5小时同步约504GB)。
  • 索引存储开销低(约10%),依赖于本地全节点进行交易检索
  • 高效的内存池跟踪器(允许更好的费用估算
  • 低CPU和内存使用(初始索引后)
  • txindex 对比特币节点不是必需的
  • 使用单个RocksDB数据库,以实现更好的一致性和崩溃恢复

其他代币

不支持其他代币!比特币代码库的分支(放松共识规则的硬分叉)也不支持。

您可能能够找到支持它们的electrs分支,四处寻找或自己创建,但请不要在此处提交问题/PR。

索引数据库

数据库模式在此描述

贡献

欢迎对此项目的所有贡献。请参阅贡献指南以获取更多详细信息。

我们的标志Dominik Průša慷慨提供,MIT许可。基于Electrum标志Rust语言标志

依赖关系

~39–53MB
~900K SLoC