From 844bdbdf60eb7575c0057de782945faebdb47b65 Mon Sep 17 00:00:00 2001 From: Jack Robison Date: Wed, 18 May 2022 16:49:42 -0400 Subject: [PATCH] update readme --- README.md | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 159f2f8..9eb0652 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,33 @@ ## LBRY Hub This repo provides a python library, `hub`, for building services that use the processed data from the [LBRY blockchain](https://github.com/lbryio/lbrycrd) in an ongoing manner. Hub contains a set of three core executable services that are used together: - * `scribe` ([hub.scribe.service](https://github.com/lbryio/lbry-hub/tree/master/hub/service.py)) - maintains a [rocksdb](https://github.com/lbryio/lbry-rocksdb) database containing the LBRY blockchain. - * `herald` ([hub.herald.service](https://github.com/lbryio/lbry-hub/tree/master/hub/herald/service.py)) - an electrum server for thin-wallet clients (such as [lbry-sdk](https://github.com/lbryio/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` ([hub.elastic_sync.service](https://github.com/lbryio/lbry-hub/tree/master/hub/elastic_sync/service.py)) - a utility to maintain an elasticsearch database of metadata for claims in the LBRY blockchain + * `scribe` ([hub.scribe.service](https://github.com/lbryio/hub/tree/master/hub/service.py)) - maintains a [rocksdb](https://github.com/lbryio/lbry-rocksdb) database containing the LBRY blockchain. + * `herald` ([hub.herald.service](https://github.com/lbryio/hub/tree/master/hub/herald/service.py)) - an electrum server for thin-wallet clients (such as [lbry-sdk](https://github.com/lbryio/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` ([hub.elastic_sync.service](https://github.com/lbryio/hub/tree/master/hub/elastic_sync/service.py)) - a utility to maintain an elasticsearch database of metadata for claims in the LBRY blockchain Features and overview of `hub` as a python library: * Uses Python 3.7-3.9 (3.10 probably works but hasn't yet been tested) - * An interface developers may implement in order to build their own applications able to receive up-to-date blockchain data in an ongoing manner ([hub.service.BlockchainReaderService](https://github.com/lbryio/lbry-hub/tree/master/hub/service.py)) - * Protobuf schema for encoding and decoding metadata stored on the blockchain ([hub.schema](https://github.com/lbryio/lbry-hub/tree/master/hub/schema)) - * [Rocksdb 6.25.3](https://github.com/lbryio/lbry-rocksdb/) based database containing the blockchain data ([hub.db](https://github.com/lbryio/lbry-hub/tree/master/hub/db)) - * [A community driven performant trending algorithm](https://raw.githubusercontent.com/lbryio/lbry-hub/master/docs/trending%20algorithm.pdf) for searching claims ([code](https://github.com/lbryio/lbry-hub/blob/master/hub/elastic_sync/fast_ar_trending.py)) + * An interface developers may implement in order to build their own applications able to receive up-to-date blockchain data in an ongoing manner ([hub.service.BlockchainReaderService](https://github.com/lbryio/hub/tree/master/hub/service.py)) + * Protobuf schema for encoding and decoding metadata stored on the blockchain ([hub.schema](https://github.com/lbryio/hub/tree/master/hub/schema)) + * [Rocksdb 6.25.3](https://github.com/lbryio/lbry-rocksdb/) based database containing the blockchain data ([hub.db](https://github.com/lbryio/hub/tree/master/hub/db)) + * [A community driven performant trending algorithm](https://raw.githubusercontent.com/lbryio/hub/master/docs/trending%20algorithm.pdf) for searching claims ([code](https://github.com/lbryio/hub/blob/master/hub/elastic_sync/fast_ar_trending.py)) ## Installation Scribe may be run from source, a binary, or a docker image. -Our [releases page](https://github.com/lbryio/lbry-hub/releases) contains pre-built binaries of the latest release, pre-releases, and past releases for macOS and Debian-based Linux. -Prebuilt [docker images](https://hub.docker.com/r/lbry/lbry-hub/latest-release) are also available. +Our [releases page](https://github.com/lbryio/hub/releases) contains pre-built binaries of the latest release, pre-releases, and past releases for macOS and Debian-based Linux. +Prebuilt [docker images](https://hub.docker.com/r/lbry/hub/latest-release) are also available. ### Prebuilt docker image -`docker pull lbry/lbry-hub:latest-release` +`docker pull lbry/hub:latest-release` ### Build your own docker image ``` -git clone https://github.com/lbryio/lbry-hub.git -cd lbry-hub -docker build -t lbry/lbry-hub:development . +git clone https://github.com/lbryio/hub.git +cd hub +docker build -t lbry/hub:development . ``` ### Install from source @@ -36,16 +36,16 @@ Scribe has been tested with python 3.7-3.9. Higher versions probably work but ha 1. clone the scribe repo ``` -git clone https://github.com/lbryio/lbry-hub.git -cd lbry-hub +git clone https://github.com/lbryio/hub.git +cd hub ``` 2. make a virtual env ``` -python3.9 -m venv lbry-hub-venv +python3.9 -m venv hub-venv ``` 3. from the virtual env, install scribe ``` -source lbry-hub-venv/bin/activate +source hub-venv/bin/activate pip install -e . ``` @@ -64,9 +64,9 @@ With options for high performance, if you have 64gb of memory and 12 cores, ever As of block 1147423 (4/21/22) the size of the scribe rocksdb database is 120GB and the size of the elasticsearch volume is 63GB. ### docker-compose -The recommended way to run a scribe hub is with docker. See [this guide](https://github.com/lbryio/lbry-hub/blob/master/docs/cluster_guide.md) for instructions. +The recommended way to run a scribe hub is with docker. See [this guide](https://github.com/lbryio/hub/blob/master/docs/cluster_guide.md) for instructions. -If you have the resources to run all of the services on one machine (at least 300gb of fast storage, preferably nvme, 64gb of RAM, 12 fast cores), see [this](https://github.com/lbryio/lbry-hub/blob/master/docs/docker_examples/docker-compose.yml) docker-compose example. +If you have the resources to run all of the services on one machine (at least 300gb of fast storage, preferably nvme, 64gb of RAM, 12 fast cores), see [this](https://github.com/lbryio/hub/blob/master/docs/docker_examples/docker-compose.yml) docker-compose example. ### From source @@ -74,7 +74,7 @@ If you have the resources to run all of the services on one machine (at least 30 #### Content blocking and filtering -For various reasons it may be desirable to block or filtering content from claim search and resolve results, [here](https://github.com/lbryio/lbry-hub/blob/master/docs/blocking.md) are instructions for how to configure and use this feature as well as information about the recommended defaults. +For various reasons it may be desirable to block or filtering content from claim search and resolve results, [here](https://github.com/lbryio/hub/blob/master/docs/blocking.md) are instructions for how to configure and use this feature as well as information about the recommended defaults. #### Common options across `scribe`, `herald`, and `scribe-elastic-sync`: - `--db_dir` (required) Path of the directory containing lbry-rocksdb, set from the environment with `DB_DIRECTORY`