#index #bitcoin #electrum #database #server

bin+lib electrs2

基于Rust的高效Electrum Server重实现,适用于比特币II

1 个不稳定版本

0.9.9 2022年10月20日

#10 in #electrum

MIT 许可证

1.5MB
4.5K SLoC

Logo

Rust实现的Electrum Server

CI PRs Welcome crates.io gitter.im

Electrum Server的高效重实现,受ElectrumX、Electrum Personal Server和bitcoincore-indexd的启发。

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

使用说明

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

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

请注意,此Electrum服务器实现针对的是个人/小型(家庭/朋友)使用进行了优化。公开运行它是个坏主意,因为它会暴露您于DDoS攻击以及其他攻击。如果您想运行公开服务器,您可能对Blockstream对electrs的分支感兴趣,它在公开使用方面进行了更好的优化,但代价是消耗的资源显著增加。

功能

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

替代币

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

您可能能找到一个支持它们的electrs分支,四处寻找或自己制作,但不要在这里提交问题/PR。

索引数据库

数据库模式在此描述

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

依赖项

~35–49MB
~817K SLoC