-
Notifications
You must be signed in to change notification settings - Fork 481
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 7240ff6
Showing
141 changed files
with
19,402 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
*.pyc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
Prerequisites | ||
------------- | ||
|
||
To use the LBRYWallet, which enables spending and accepting LBRYcrds in exchange for data, the | ||
LBRYcrd application (insert link to LBRYcrd website here) must be installed and running. If | ||
this is not desired, the testing client can be used to simulate trading points, which is | ||
built into LBRYnet. | ||
|
||
on Ubuntu: | ||
|
||
sudo apt-get install libgmp3-dev build-essential python-dev python-pip | ||
|
||
Getting the source | ||
------------------ | ||
|
||
Don't you already have it? | ||
|
||
Setting up the environment | ||
-------------------------- | ||
|
||
It's recommended that you use a virtualenv | ||
|
||
sudo apt-get install python-virtualenv | ||
cd <source base directory> | ||
virtualenv . | ||
source bin/activate | ||
|
||
(to deactivate the virtualenv, enter 'deactivate') | ||
|
||
python setup.py install | ||
|
||
this will install all of the libraries and a few applications | ||
|
||
For running the file sharing application, see RUNNING |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
Copyright (c) 2015, LBRY, Inc. | ||
All rights reserved. | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions are met: | ||
|
||
1. Redistributions of source code must retain the above copyright notice, this | ||
list of conditions and the following disclaimer. | ||
2. Redistributions in binary form must reproduce the above copyright notice, | ||
this list of conditions and the following disclaimer in the documentation | ||
and/or other materials provided with the distribution. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | ||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR | ||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
LBRYnet | ||
======= | ||
|
||
LBRYnet is a fully decentralized network for distributing data. It 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. | ||
|
||
Overview | ||
-------- | ||
|
||
On LBRYnet, data is broken into chunks, and each chunk is specified by its sha384 hash sum. This | ||
guarantees that peers can verify the correctness of each chunk without having to know anything | ||
about its contents, and can confidently re-transmit the chunk to other peers. Peers wishing to | ||
transmit chunks to other peers announce to the distributed hash table that they are associated | ||
with the sha384 hash sum in question. When a peer wants to download that chunk from the network, | ||
it asks the distributed hash table which peers are associated with that sha384 hash sum. The | ||
distributed hash table can also be used more generally. It simply stores IP addresses and | ||
ports which are associated with 384-bit numbers, and can be used by any type of application to | ||
help peers find each other. For example, an application for which clients don't know all of the | ||
necessary chunks may use some identifier, chosen by the application, to find clients which do | ||
know all of the necessary chunks. | ||
|
||
Running | ||
------- | ||
|
||
LBRYnet comes with an file sharing application, called 'lbrynet-console', which breaks | ||
files into chunks, encrypts them with a symmetric key, computes their sha384 hash sum, generates | ||
a special file called a 'stream descriptor' containing the hash sums and some other file metadata, | ||
and makes the chunks available for download by other peers. A peer wishing to download the file | ||
must first obtain the 'stream descriptor' and then may open it with his 'lbrynet-console' client, | ||
download all of the chunks by locating peers with the chunks via the DHT, and then combine the | ||
chunks into the original file, according to the metadata included in the 'stream descriptor'. | ||
|
||
To install and use this client, see INSTALL and RUNNING | ||
|
||
Installation | ||
------------ | ||
|
||
See INSTALL | ||
|
||
Developers | ||
---------- | ||
|
||
Documentation: doc.lbry.io | ||
Source code: trac.lbry.io/browser | ||
|
||
To contribute to the development of LBRYnet or lbrynet-console, contact [email protected] | ||
|
||
Support | ||
------- | ||
|
||
Send all support requests to [email protected] | ||
|
||
License | ||
------- | ||
|
||
See LICENSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
To install LBRYnet and lbrynet-console, see INSTALL | ||
|
||
lbrynet-console is a console application which makes use of the LBRYnet to share files. | ||
|
||
In particular, lbrynet-console splits files into encrypted chunks of data compatible with | ||
LBRYnet, groups all metadata into a 'stream descriptor file' which can be sent directly to | ||
others wishing to obtain the file, or can be itself turned into a chunk compatible with | ||
LBRYnet and downloaded via LBRYnet by anyone knowing its sha384 hashsum. lbrynet-console | ||
also acts as a client whichreads a stream descriptor file, downloads the chunks of data | ||
specified by the hash sums found in the stream descriptor file, decrypts them according to | ||
metadata found in the stream, and reconstructs the original file. lbrynet-console features | ||
a server so that clients can connect to it and download the chunks and other data gotten | ||
from files created locally and files that have been downloaded from LBRYnet. | ||
|
||
lbrynet-console also has a plugin system. There are two plugins: a live stream proof of | ||
concept which is currently far behind the development of the rest of the application and | ||
therefore will not run, and a plugin which attempts to determine which chunks on the | ||
network should be downloaded in order for the application to turn a profit. It will run, | ||
but its usefulness is extremely limited. | ||
|
||
Passing '--help' to lbrynet-console will cause it to print out a quick help message | ||
describing other command line options to the application. | ||
|
||
Once the application has been started, the user is presented with a numbered list of | ||
actions which looks something like this: | ||
|
||
... | ||
[2] Toggle whether an LBRY File is running | ||
[3] Create an LBRY File from file | ||
[4] Publish a stream descriptor file to the DHT for an LBRY File | ||
... | ||
|
||
To perform an action, type the desired number and then hit enter. For example, if you wish | ||
to create an LBRY file from a file as described in the beginning of this document, type 3 and | ||
hit enter. | ||
|
||
If the application needs more input in order to for the action to be taken, the application | ||
will continue to print prompts for input until it has received what it needs. | ||
|
||
For example, when creating an LBRY file from a file, the application needs to know which file | ||
it's supposed to use to create the LBRY file, so the user will be prompted for it: | ||
|
||
File name: | ||
|
||
The user should input the desired file name and hit enter, at which point the application | ||
will go about splitting the file and making it available on the network. | ||
|
||
Some actions will produce sub-menus of actions, which work the same way. | ||
|
||
A more detailed user guide is available at doc.lbry.io | ||
|
||
Any issues may be reported to [email protected] |
Oops, something went wrong.