No description
Find a file
2022-03-08 20:02:42 -05:00
scribe prometheus 2022-03-08 14:23:44 -05: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
README.md fix readme 2022-03-08 13:01:55 -05:00
setup.py remove pyyaml requirement 2022-03-08 20:02:42 -05:00

Scribe maintains a rocksdb database containing the LBRY blockchain and provides an interface for python based services that utilize the blockchain data in an ongoing manner. Scribe includes implementations of this interface to provide an electrum server for thin-wallet clients such as lbry-sdk and to maintain an elasticsearch database of claims in the LBRY blockchain.

  • Uses Python 3.7-3.8
  • Protobuf schema for encoding and decoding metadata stored on the blockchain (scribe.schema).
  • Blockchain processor that maintains an up to date rocksdb database (scribe.blockchain)
  • Rocksdb based database containing the blockchain data (scribe.db)
  • Interface for python services to implement in order for them maintain a read only view of the blockchain data (scribe.readers.interface)
  • Electrum based server for thin-wallet clients like lbry-sdk (scribe.readers.hub_server)
  • Elasticsearch sync utility to index all the claim metadata in the blockchain into an easily searchable form (scribe.readers.elastic_sync)

Installation

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.

Usage

Running from source

Installing from source is also relatively painless. Full instructions are in INSTALL.md

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.