1 个不稳定版本
0.9.9 | 2022年10月20日 |
---|
#10 in #electrum
1.5MB
4.5K SLoC
Rust实现的Electrum Server
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