This is awesome, nice work! On Mon, Jul 2, 2018 at 4:16 PM Roman Zeyde via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > Hello all, > > I was working on this project for the last few months, so a user could run > his own Electrum server, with required hardware resources not much beyond > those of a full node (using ideas from ElectrumX [1], Electrum Personal > Server [2] and bitcoincore-indexd [3]). > > The code and usage instructions can be found here: > https://github.com/romanz/electrs > > The server indexes the entire Bitcoin blockchain, and the resulting index > [4] enables fast queries for any given user wallet, allowing the user to > keep real-time track of his balances and his transaction history using the > Electrum wallet [5]. > Since it runs on the user's own machine, there is no need for the wallet > to communicate with external Electrum servers, thus preserving the privacy > of the user's addresses and balances. > > Features: > * Supports latest Electrum protocol [6]. > * Maintains an index of transaction inputs and outputs, allowing fast > balance queries > * Fast synchronization of the Bitcoin blockchain (~2.5 hours for ~185GB @ > June 2018) on modest hardware [7] > * Low CPU & memory usage (after initial indexing) > * Low index storage overhead (~20%), relying on a local full node for > transaction retrieval > * Efficient mempool tracker allowing better fee estimation [8]. > * `-txindex` is not required for the Bitcoin node > * Uses `rust-bitcoin` library [9] for efficient > serialization/deserialization of Bitcoin transactions > * Uses a single RocksDB [10] database, for better consistency and crash > recovery > > Hope you'll find it useful :) > Questions, suggestions and pull requests are welcome! > > [1] https://github.com/kyuupichan/electrumx > [2] https://github.com/chris-belcher/electrum-personal-server > [3] https://github.com/jonasschnelli/bitcoincore-indexd > [4] https://github.com/romanz/electrs/blob/master/doc/schema.md > [5] https://electrum.org > [6] https://electrumx.readthedocs.io/en/latest/protocol.html > [7] https://gist.github.com/romanz/cd9324474de0c2f121198afe3d063548 > [8] > https://github.com/spesmilo/electrum/blob/59c1d03f018026ac301c4e74facfc64da8ae4708/RELEASE-NOTES#L34-L46 > ) > [9] https://github.com/rust-bitcoin/rust-bitcoin > [10] https://github.com/spacejam/rust-rocksdb > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev >