No description
Find a file
Jack Robison 4cfc1b4765
precomputed address status upon new blocks and mempool
-adds HashXStatusPrefixRow and HashXMempoolStatusPrefixRow column families
2022-04-05 17:29:33 -04:00
.github/workflows add action to build docker image 2022-03-31 10:52:16 -04:00
docker fix dockerfile 2022-03-31 11:26:43 -04:00
scribe precomputed address status upon new blocks and mempool 2022-04-05 17:29:33 -04:00
scripts move deploy_scribe_dev.sh to scripts 2022-03-31 11:17:49 -04:00
tests initial 2022-03-08 12:41:51 -05:00
.gitignore initial 2022-03-08 12:41:51 -05:00
diagram.png initial 2022-03-08 12:41:51 -05:00
LICENSE Create LICENSE 2022-03-22 12:28:42 -04:00
README.md Update README.md 2022-03-24 13:57:42 -04:00
setup.py add cffi 2022-03-29 18:32:23 -04:00

Scribe

Scribe is a python library for building services that use the processed data from the LBRY blockchain in an ongoing manner. Scribe contains a set of three core executable services that are used together:

  • scribe (scribe.blockchain.service) - maintains a rocksdb database containing the LBRY blockchain.
  • scribe-hub (scribe.hub.service) - an electrum server for thin-wallet clients (such as lbry-sdk), provides an api for clients to use thin simple-payment-verification (spv) wallets and to resolve and search claims published to the LBRY blockchain.
  • scribe-elastic-sync (scribe.elasticsearch.service) - a utility to maintain an elasticsearch database of metadata for claims in the LBRY blockchain

Features and overview of scribe as a python library:

Installation

Scribe may be run from source, a binary, or a docker image. Our releases page contains pre-built binaries of the latest release, pre-releases, and past releases for macOS and Debian-based Linux. Prebuilt docker images are also available.

Prebuilt docker image

docker pull lbry/scribe:latest-release

Build your own docker image

git clone https://github.com/lbryio/scribe.git
cd scribe
docker build -f ./docker/Dockerfile.scribe -t lbry/scribe:development .

Install from source

Scribe has been tested with python 3.7-3.9. Higher versions probably work but have not yet been tested.

  1. clone the scribe scribe
git clone https://github.com/lbryio/scribe.git
cd scribe
  1. make a virtual env
python3.9 -m venv scribe-venv
  1. from the virtual env, install scribe
source scribe-venv/bin/activate
pip install -e .

Usage

Scribe needs either the lbrycrd or lbcd blockchain daemon to be running.

As of block 1124663 (3/10/22) the size of the rocksdb database is 87GB and the size of the elasticsearch volume is 49GB.

docker-compose

From source

To start scribe, run the following (providing your own args)

scribe --db_dir /your/db/path --daemon_url rpcuser:rpcpass@localhost:9245

Contributing

Contributions to this project are welcome, encouraged, and compensated. For more details, please check this link.

License

This project is MIT licensed. For the full license, see LICENSE.

Security

We take security seriously. Please contact security@lbry.com regarding any security issues. Our PGP key is here if you need it.

Contact

The primary contact for this project is @jackrobison.