The LBRY SDK for building decentralized, censorship resistant, monetized, digital content apps.
Find a file
2019-01-11 16:36:55 -05:00
.github Update PULL_REQUEST_TEMPLATE.md 2018-11-27 15:38:06 -05:00
docs update docs 2018-12-12 12:19:26 -05:00
icons icons! 2018-11-29 17:15:18 -05:00
lbrynet Profile downloading of sd blobs 2019-01-11 16:36:55 -05:00
scripts Profile get using rpc calls 2019-01-11 16:36:55 -05:00
tests added additional fields to uri parser 2019-01-11 15:10:22 -05:00
.gitattributes use union merge on CHANGELOG.md 2017-02-20 21:37:50 -06:00
.gitignore renamed build binary to lbrynet and other cleanup 2018-08-24 11:40:41 -04:00
.pylintrc removed lbryschema references from scripts and copied lbryschema requirements into local setup.py 2018-11-04 10:50:15 -05:00
.travis.yml run brew upgrade twice and ignore result 2019-01-10 22:38:27 -05:00
CHANGELOG.md 0.30.1 changelog updates 2018-12-09 23:30:09 -05:00
CONTRIBUTING.md contributing 2017-09-28 08:14:36 -04:00
Dangerfile fix because the danger.systems code example was wrong 2017-02-07 23:08:35 -06:00
example_daemon_settings.yml add example daemon_settings.yml 2018-11-19 09:42:13 -05:00
INSTALL.md Removes Faker from Dependencies (#1687) 2018-12-11 20:19:58 -05:00
lbry.png Remove icons directory (#1389) 2018-08-24 17:36:52 -04:00
LICENSE Update to reflect year 2018 2018-02-05 12:40:49 -08:00
mkdocs.yml added more social links 2018-11-18 10:29:47 -05:00
README.md Update README.md 2018-12-12 11:47:28 -05:00
setup.py Removes Faker from Dependencies (#1687) 2018-12-11 20:19:58 -05:00
tox.ini all integration tests run with plain unittest now 2019-01-07 21:56:05 -05:00

LBRY LBRY SDK Build Status Test Coverage

LBRY is a decentralized peer-to-peer network providing distribution, discovery, and purchase of digital content (data). It utilizes the LBRY blockchain as a global namespace and database of digital content. Blockchain entries contain searchable content metadata, identities, rights and access rules. LBRY also provides a data network that consists of peers (seeders) uploading and downloading data from other peers, possibly in exchange for payments, as well as a distributed hash table used by peers to discover other peers.

LBRY SDK for Python is currently the most full featured implementation of the LBRY Network protocols and includes many useful components and tools for building decentralized applications. Primary features and components:

  • Built on Python 3.7+ and asyncio.
  • DHT (Distributed Hash Table) implementation for finding peers (lbrynet.dht).
  • Blob exchange protocol for downloading content and negotiating payments (lbrynet.blob_exchange).
  • Protobuf schema for encoding and decoding metadata stored on the blockchain (lbrynet.schema).
  • Wallet implementation for the LBRY blockchain (lbrynet.extras.wallet).
  • Daemon with a JSON-RPC API to ease building end user applications in any language and for automating various tasks (lbrynet.extras.daemon).

Installation

Our releases page contains pre-built binaries of the latest release, pre-releases, and past releases for macOS, Debian-based Linux, and Windows. Automated travis builds are also available for testing.

Usage

Run lbrynet start to launch the API server.

By default, lbrynet will provide a JSON-RPC server at http://localhost:5279. It is easy to interact with via cURL or sane programming languages.

Our quickstart guide provides a simple walkthrough and examples for learning.

With the daemon running, lbrynet commands will show you a list of commands.

The full API is documented here.

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.io regarding any security issues. Our GPG key is here if you need it.

Contact

The primary contact for this project is @eukreign.

The documentation for the API can be found here.

Daemon defaults, ports, and other settings are documented here.

Settings can be configured using a daemon-settings.yml file. An example can be found here.