README.md 1.25 KB
Newer Older
kenshin-samourai's avatar
kenshin-samourai committed
1
# Bitcoin Address Indexer in Rust
2

kenshin-samourai's avatar
kenshin-samourai committed
3
An efficient addresses indexer based on [Electrs](https://github.com/romanz/electrs) by [Roman Zeyde](https://github.com/romanz).
Roman Zeyde's avatar
Roman Zeyde committed
4

kenshin-samourai's avatar
kenshin-samourai committed
5
The server indexes the entire Bitcoin blockchain, and the resulting index enables fast queries allowing to keep real-time track of the transaction history of Bitcoin addresses. Since it runs on the user's own machine, there is no need for the wallet to communicate with external servers, thus preserving the privacy of the user's addresses and balances.
Roman Zeyde's avatar
Roman Zeyde committed
6

Roman Zeyde's avatar
Roman Zeyde committed
7 8
## Features

kenshin-samourai's avatar
kenshin-samourai committed
9
 * Maintains an index over transaction inputs and outputs, allowing fast queries of the history of a Bitcoin address
10
 * Fast synchronization of the Bitcoin blockchain (~2 hours for ~187GB @ July 2018) on [modest hardware](https://gist.github.com/romanz/cd9324474de0c2f121198afe3d063548)
Roman Zeyde's avatar
Roman Zeyde committed
11
 * Low index storage overhead (~20%), relying on a local full node for transaction retrieval
kenshin-samourai's avatar
kenshin-samourai committed
12
 * Efficient mempool tracker 
Roman Zeyde's avatar
Roman Zeyde committed
13 14
 * Low CPU & memory usage (after initial indexing)
 * Uses a single [RocksDB](https://github.com/spacejam/rust-rocksdb) database, for better consistency and crash recovery
15 16 17

## Usage

18
See [here](doc/usage.md) for installation, build and usage instructions.
Roman Zeyde's avatar
Roman Zeyde committed
19 20 21 22

## Index database

The database schema is described [here](doc/schema.md).