LBRY

用于分发数据的完全分散的网络。(A fully decentralized network for distributing data.)

Github stars Tracking Chart

LBRY SDK

LBRY是一个分散的点对点网络,提供数字内容(数据)的分发,发现和购买。它利用LBRY区块链作为全局命名空间和数字内容数据库。区块链条目包含可搜索的内容元数据,身份,权限和访问规则。 LBRY还提供一个数据网络,包括从其他对等体上载和下载数据的对等体(播种者),可能用于交换支付,以及由对等体用于发现其他对等体的分布式哈希表。

LBRY SDK for Python目前是LBRY网络协议中功能最全面的实现,包括许多用于构建分散应用程序的有用组件和工具。主要功能和组件:

  • 基于Python 3.7+和asyncio构建。
  • 用于查找对等体的DHT(分布式哈希表)实现(lbrynet.dht)。
  • 用于下载内容和协商付款的Blob交换协议(lbrynet.blob_exchange)。
  • 用于编码和解码存储在区块链(lbrynet.schema)上的元数据的Protobuf模式。
  • LBRY区块链的钱包实现(lbrynet.extras.wallet)。
  • 带有JSON-RPC API的守护程序,可以轻松构建任何语言的最终用户应用程序,并自动执行各种任务(lbrynet.extras.daemon)。

安装

我们的发布页面包含针对macOS的最新版本,基于Debian的Linux和Windows的最新发行版,预发行版和过去发行版的预构建二进制文件。 自动travis构建也可用于测试。

使用

运行 lbrynet start 以启动API服务器。

默认情况下,lbrynet 将在 http://localhost:5279 处提供JSON-RPC服务器。通过cURL或相关编程语言进行交互很容易。

我们的快速入门指南提供了一个简单的演练和学习示例。

在守护程序运行时,lbrynet commands 将显示命令列表。

完整的API记录在此处

贡献

要贡献,请加入我们的分歧或联系jeremy@lbry.io。拉请求也是受欢迎的。

支持

请打开一个问题并详细描述您的情况。我们会尽快回复。

对于私人问题,请联系jeremy@lbry.io。

许可证

请参阅许可

Overview

Name With Ownerlbryio/lbry-sdk
Primary LanguagePython
Program languagePython (Language Count: 4)
PlatformLinux, Mac, Windows
License:MIT License
Release Count641
Last Release Namev0.113.0 (Posted on 2023-01-23 15:43:02)
First Release Namealpha (Posted on )
Created At2015-08-20 15:24:10
Pushed At2023-06-28 16:36:18
Last Commit At2023-02-07 13:50:25
Stargazers Count7.2k
Watchers Count172
Fork Count476
Commits Count9.2k
Has Issues Enabled
Issues Count1806
Issue Open Count380
Pull Requests Count1535
Pull Requests Open Count14
Pull Requests Close Count355
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

LBRY SDK Gitlab CI Badge

LBRY is a decentralized peer-to-peer protocol for publishing and accessing digital content. 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 fully featured implementation of the LBRY Network protocols and includes many useful components and tools for building decentralized applications. Primary features and components include:

  • Built on Python 3.7+ and asyncio.
  • Kademlia DHT (Distributed Hash Table) implementation for finding peers to download from and announcing to peers what we have to host (lbry.dht).
  • Blob exchange protocol for transferring encrypted blobs of content and negotiating payments (lbry.blob_exchange).
  • Protobuf schema for encoding and decoding metadata stored on the blockchain (lbry.schema).
  • Wallet implementation for the LBRY blockchain (lbry.wallet).
  • Daemon with a JSON-RPC API to ease building end user applications in any language and for automating various tasks (lbry.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.com 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.

To the top