| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A block chain index engine and HTTP API written in Rust based on romanz/electrs.
Used as the backend for the Esplora block explorer powering blockstream.info.
API documentation is available here.
Documentation for the database schema and indexing process is available here.
Install Rust, Bitcoin Core (no txindex needed) and the clang and cmake packages, increase maximum number open files by ulimit -n 100000 and then:
$ git clone https://github.com/blockstream/electrs && cd electrs
$ git checkout new-index
$ cargo run --release --bin electrs -- -vvvv --daemon-dir ~/.bitcoin
# Or for liquid:
$ cargo run --features liquid --release --bin electrs -- -vvvv --network liquid --daemon-dir ~/.liquidSee electrs's original documentation for more detailed instructions. Note that our indexes are incompatible with electrs's and has to be created separately.
The indexes require 610GB of storage after running compaction (as of June 2020), but you'll need to have free space of about double that available during the index compaction process. Creating the indexes should take a few hours on a beefy machine with SSD.
To deploy with Docker, follow the instructions here.
For personal or low-volume use, you may set --lightmode to reduce disk storage requirements by roughly 50% at the cost of slower and more expensive lookups.
With this option set, raw transactions and metadata associated with blocks will not be kept in rocksdb (the T, X and M indexes), but instead queried from bitcoind on demand.
HTTP REST API in addition to the Electrum JSON-RPC protocol, with extended transaction information (previous outputs, spending transactions, script asm and more).
Extended indexes and database storage for improved performance under high load:
With these new indexes, bitcoind is no longer queried to serve user requests and is only polled periodically for new blocks and for syncing the mempool.
Support for Liquid and other Elements-based networks, including CT, peg-in/out and multi-asset. (requires enabling the liquid feature flag using --features liquid)
In addition to electrs's original configuration options, a few new options are also available:
Additional options with the liquid feature:
Additional options with the electrum-discovery feature:
See $ cargo run --release --bin electrs -- --help for the full list of options.
MIT
| Back | FazBrowse Home | New Git URL |