Here's the thing about Esplora. If someone's going to make a self-hosted explorer, it will require a DB or some kind of persistent storage to be set up alongside it so that things like get-all-transactions-from-address which aren't natively supposed by full nodes can be done.
Of course!
Of course!
The README links to the following, which in turn links back to the documentation for setting up the Esplora stack with Docker. N.b. that if you are only running automated processes, this is really the piece that you want:
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.
Installing & indexing
Install Rust, Bitcoin Core (no txindex needed) and the clang and cmake packages, then:
$ 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 ~/.liquid
See 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.
Light mode
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.
[...more useful information...]