75a6ff269e
* add daemon Component and ComponentManager classes * convert directory and SQLiteStorage setup to be a Component * support callbacks to component setups * Fixed typo in ComponentManager * convert wallet to be Component * Use storage from session. * Remove create_session internal function and PEP8 * Starting to convert session to its own component. Removed ref to `self.storage` from Daemon.py * Making DHT component(broken) * Refactored classes to reduce redundancy in getting config setting * DHT is now it's own component * Fixed `test_streamify` test * Fixed regression caused by removing `peer_manager` from session * refactor ComponentManager and Component to use instance instead of class methods * Hash announcer, file manager, stream identifier components * Query Handler and server components * Reflector Component * Fixed test_streamify(well Jack did, but ¯\_(ツ)_/¯) * All tests now passing * Pylint fixes * Oops(That's all you're gonna get :-P) * Making decorators(WIP, commit so that I don't lose work) * Decorator made and decorating of functions done(some other changes) * import fixes and removed temporary test function * Fixed new broken tests from daemon refactor * Sanitization of modules * Reworded errors * wallet unlock condition checks, fixed breaking changes * Rebased on amster and other crazy stuff * Started writing tests * Tests for component manager * Fix Daemon Tests * Fixed passing mutable args in init * Using constants instead of strings. Added CHANGELOG.md * Now components can be skipped by setting relevant config in file. * P-Y-L-I-N-T #angry_emoji |
||
---|---|---|
.github | ||
build | ||
docs | ||
lbrynet | ||
scripts | ||
.appveyor.yml | ||
.gitattributes | ||
.gitignore | ||
.pylintrc | ||
.travis.yml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
Dangerfile | ||
INSTALL.md | ||
LICENSE | ||
mkdocs.yml | ||
README.md | ||
requirements.txt | ||
requirements_testing.txt | ||
setup.py |
LBRY
LBRY is an open-source protocol providing distribution, discovery, and purchase of digital content (data) via a decentralized network. It utilizes the LBRY blockchain as a global namespace and database of digital content. Blockchain entries contain searchable content metadata, identities, and rights and access rules. LBRY also provides a data network that consists of peers uploading and downloading data from other peers, possibly in exchange for payments, and a distributed hash table, used by peers to discover other peers.
This project aims to provide a daemon that can interact with the network via a json-rpc interface over HTTP.
The project is written in python2.7 and extensively uses Twisted framework.
Installation
Windows | macOS | Linux | |
---|---|---|---|
Latest Stable Release | Download | Download | Download |
Latest Pre-release | Download | Download | Download |
Our releases page contains pre-built binaries of the latest release, pre-releases, and past releases, for macOS, Debian-based Linux, and Windows.
Usage
Run lbrynet-daemon
to launch the daemon.
By default, lbrynet-daemon
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.
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 PGP key is here if you need it.
Contact
The primary contact for this project is @jackrobison(jack@lbry.io)
Additional information and links
The documentation for the api can be found here.