mirror of
https://github.com/LBRYFoundation/lbry.com.git
synced 2025-08-23 17:47:26 +00:00
1.8 KiB
1.8 KiB
category | title | award | status | date |
---|---|---|---|---|
daemon | Add Support for BitTorrent | 10000 | available | 2016-07-01 |
Add support for the BitTorrent protocol to lbrynet
and lbryschema
.
The LBRY blockchain supports storing metadata that can be resolved by a human friendly uri. This metadata is defined by a flexible protobuf based schema, lbryschema.
A simple example looks like:
{
"version": "_0_0_1",
"claimType": "streamType",
"stream": {
"source": {
"source": "d5169241150022f996fa7cd6a9a1c421937276a3275eb912790bd07ba7aec1fac5fd45431d226b8fb402691e79aeb24b",
"version": "_0_0_1",
"contentType": "video/mp4",
"sourceType": "lbry_sd_hash"
},
"version": "_0_0_1",
"metadata": {
"license": "LBRY inc",
"description": "What is LBRY? An introduction with Alex Tabarrok",
"language": "en",
"author": "Samuel Bryan",
"title": "What is LBRY?",
"version": "_0_1_0",
"nsfw": false,
"licenseUrl": "",
"preview": "",
"thumbnail": "https://s3.amazonaws.com/files.lbry.io/logo.png"
}
}
}
The source field is designed to be extended and support resolution to multiple protocols. To complete this, lbryschema and lbrynet must be modified to:
- Support the BitTorrent protocol via
python-libtorrent
or similar. - Support the
sourceType
ofbtih
in source.proto in lbryschema - Add a BitTorrent downloader and factory for use in
EncryptedFileManager
, to be used as an alternative toManagedEncryptedFileDownloader
- Use all of this to resolve a BTIH from a claim and download data via BitTorrent when requested
- Probably a lot more stuff!