mirror of
https://github.com/LBRYFoundation/lbry.com.git
synced 2025-08-23 17:47:26 +00:00
Merge branch 'master' into patch-4
This commit is contained in:
commit
58d21e9250
120 changed files with 943 additions and 817 deletions
|
@ -15,7 +15,7 @@ You can also run the development server using docker:
|
|||
|
||||
- Install Docker
|
||||
- Checkout the project
|
||||
- Run `./dev-docker.sh` from the project root
|
||||
- Run `./docker.sh` from the project root
|
||||
- Access [localhost:8000](http://localhost:8000) in your browser
|
||||
|
||||
Both the `dev.sh` and `dev-docker.sh` scripts will initialise a configuration based on `data/config.php.example` if `data/config.php` does not exist.
|
||||
|
|
|
@ -4,4 +4,4 @@ role: Legal Advisor
|
|||
---
|
||||
Stephan Kinsella is a registered patent attorney and has over twenty years’ experience in patent, intellectual property, and general commercial and corporate law. He is the founder and director of the [Center for the Study of Innovative Freedom](http://c4sif.org/). Kinsella has published numerous articles and books on intellectual property law and legal topics including [_International Investment, Political Risk, and Dispute Resolution: A Practitioner’s Guide_](http://www.amazon.com/International-Investment-Political-Dispute-Resolution/dp/0379215225) and [_Against Intellectual Property_](https://mises.org/library/against-intellectual-property-0) .
|
||||
|
||||
He received an LL.M. in international business law from [King’s College London](http://www.kcl.ac.uk/), a JD from the Paul M. Hebert Law Center at [Lousiana State University](//lsu.edu), as well as BSEE and MSEE degrees. His websites are [stephankinsella.com](http://stephankinsella.com) and [kinsellalaw.com](http://kinsellalaw.com)
|
||||
He received an LL.M. in international business law from [King’s College London](http://www.kcl.ac.uk/), a JD from the Paul M. Hebert Law Center at [Louisiana State University](//lsu.edu), as well as BSEE and MSEE degrees. His websites are [stephankinsella.com](http://stephankinsella.com) and [kinsellalaw.com](http://kinsellalaw.com)
|
||||
|
|
|
@ -15,4 +15,4 @@ To complete this bounty, [lbry-app](https://github.com/lbryio/lbry-app) must be
|
|||
- When an update begins store an update-history tracking file detailing what the version being updated is, what version it is being updated to, and when the update happened.
|
||||
- Upon starting the app after an update, alert the user that the update was successful (and note if it contained security updates), and update the history file to indicate that the update was successful.
|
||||
|
||||
It is probably a good idea to consult with our development team on [Slack](https://slack.lbry.io) or via email before completing this bounty in it's entirety.
|
||||
It is probably a good idea to consult with our development team on [Slack](https://slack.lbry.io) or via email before completing this bounty in its entirety.
|
||||
|
|
|
@ -6,7 +6,7 @@ status: complete
|
|||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
Create a script or Slackbot that will:
|
||||
Create a script for Slackbot that will:
|
||||
|
||||
- Use the Slack API to monitor all messages in all channels
|
||||
- Detect messages sent with LBRY URLs, e.g. `lbry://oprahbees`
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
title: "Quarterly Credit Report: Second Quarter 2016"
|
||||
sheet: https://docs.google.com/spreadsheets/d/1r7puheE4Ut4c08R47uCDZbDdMHAoQa0WDqw470gjMIw/edit#gid=0
|
||||
category: policy
|
||||
---
|
||||
|
||||
|
@ -7,10 +8,6 @@ category: policy
|
|||
|
||||
This is LBRY's first quarterly report. We enter with zero credits expended. We anticipate zero institutional expenditures, zero or limited organizational expenditures, and light community expenditures.
|
||||
|
||||
## Current Balance Sheet
|
||||
|
||||
[Available here](https://docs.google.com/spreadsheets/d/1r7puheE4Ut4c08R47uCDZbDdMHAoQa0WDqw470gjMIw/edit#gid=0)
|
||||
|
||||
## Overview By Fund
|
||||
|
||||
### Community Fund
|
|
@ -1,15 +1,12 @@
|
|||
---
|
||||
title: "Quarterly Credit Report: Third Quarter 2016"
|
||||
sheet: https://docs.google.com/spreadsheets/d/1zPG58YuLPqpB3yzypntRWouoEVc4saDOifpnvnwS8Rc/edit?ts=57f28d0e#gid=799352054
|
||||
category: policy
|
||||
---
|
||||
## Summary
|
||||
|
||||
This is LBRY's second quarterly report. This quarter we outlaid only 267,778 of the 2,000,000 allocated Community credits. 100,000 operational credits were exchanged with Shapeshift to provide liquidity. No institutional credits were moved or spent.
|
||||
|
||||
## Current Balance Sheet
|
||||
|
||||
[Available here](https://docs.google.com/spreadsheets/d/1zPG58YuLPqpB3yzypntRWouoEVc4saDOifpnvnwS8Rc/edit?ts=57f28d0e#gid=799352054)
|
||||
|
||||
## Overview By Fund
|
||||
|
||||
### Community Fund
|
|
@ -1,6 +1,7 @@
|
|||
|
||||
---
|
||||
title: "Quarterly Credit Report: Fourth Quarter 2016"
|
||||
sheet: https://docs.google.com/spreadsheets/d/11nKwFXN3gIQHnE7jYjEK5AFClyAde9aFs6UlnGX3Uzg/edit#gid=799352054
|
||||
category: policy
|
||||
---
|
||||
## Summary
|
||||
|
@ -8,10 +9,6 @@ category: policy
|
|||
This quarter we did not move any community credits from cold storage. We spent 293,604 already moved community credits on line items detailed below. No operational credits were moved or spent. No institutional credits were moved or spent.
|
||||
As the LBRY protocol performance and reliability has increased, we anticipate increased outlays in Q1 2017. We will be redeeming many if not all beta invites, as well as launching a new program offering credits to developers. We also may begin the first institutional outlays, but any outlays here will be pilot programs and come with spending restrictions.
|
||||
|
||||
## Current Balance Sheet
|
||||
|
||||
[Available here](https://docs.google.com/spreadsheets/d/11nKwFXN3gIQHnE7jYjEK5AFClyAde9aFs6UlnGX3Uzg/edit#gid=799352054)
|
||||
|
||||
## Overview By Fund
|
||||
|
||||
### Community Fund
|
||||
|
@ -24,7 +21,7 @@ As the LBRY protocol performance and reliability has increased, we anticipate in
|
|||
|
||||
-4,345 credits were used for “other” purposes, mostly given to developers
|
||||
|
||||
This quarter was a down quarter in credit outlays because we declined to send beta invites to users while the protocol was showing poor reliability.
|
||||
This quarter was a down quarter in credit outlays because we declined to send beta invites to users while the protocol was showing poor reliability.
|
||||
As reliability has been increasing, we anticipate inviting many if not all users on the beta waitlist. This will represent a significant uptick in credit outlays, possibly as much as 1-2 million LBC. We will also be launching a new program offering credits to developers.
|
||||
|
||||
### Operational Fund
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
title: "Quarterly Credit Report: First Quarter 2017"
|
||||
sheet: https://docs.google.com/spreadsheets/d/1c-8CR1ro7lKOANHhWhivF7bZ19_ppgCq-d-HD_u43vM/edit#gid=799352054
|
||||
category: policy
|
||||
---
|
||||
## Summary
|
||||
|
@ -7,10 +8,6 @@ category: policy
|
|||
This quarter we moved 3 million community credits from cold storage. We spent 1,186,244 total community credits on line items detailed below. No operational credits were moved or spent. No institutional credits were moved or spent.
|
||||
As the LBRY protocol performance and reliability has again increased, we anticipate increased outlays in Q2 2017. This will primarily be driven by the redemption of beta invites. We also may begin the first institutional outlays, but any outlays here will be pilot programs and come with spending restrictions.
|
||||
|
||||
## Current Balance Sheet
|
||||
|
||||
[Available here](https://docs.google.com/spreadsheets/d/1c-8CR1ro7lKOANHhWhivF7bZ19_ppgCq-d-HD_u43vM/edit#gid=799352054)
|
||||
|
||||
## Overview By Fund
|
||||
|
||||
### Community Fund
|
42
content/credit-reports/2017-Q2.md
Normal file
42
content/credit-reports/2017-Q2.md
Normal file
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
title: "Quarterly Credit Report: Second Quarter 2017"
|
||||
sheet: https://docs.google.com/spreadsheets/d/1APKXW-JIH6Wq-pWqiDaUfj0MTRKz01QL9yIDVZU7LZI/
|
||||
category: policy
|
||||
---
|
||||
## Summary
|
||||
|
||||
This quarter we did not move any credits from cold storage. We spent 704,306 total community credits on line items detailed below. No operational credits were moved or spent. No institutional credits were moved or spent.
|
||||
As the LBRY protocol performance and reliability has again increased, we anticipate increased outlays in Q3 2017. We will continue to redeem many if not all beta invites, which could total several million LBC. Additionally, LBRY will begin move several hundred thousand LBC to market from operational funds. No institutional outlays are expected, but a pilot program could happen.
|
||||
|
||||
## Overview By Fund
|
||||
|
||||
### Community Fund
|
||||
|
||||
|
||||
Bounty 126,592
|
||||
|
||||
Testing 62,471
|
||||
|
||||
Invite / API 255,805
|
||||
|
||||
Quickstart 45,000
|
||||
|
||||
Modpay 99,800
|
||||
|
||||
Dev Eval / Salary 62,965
|
||||
|
||||
Other 51,673
|
||||
|
||||
As reliability has been increasing, we anticipate inviting many if not all users on the beta waitlist. This will represent a significant uptick in credit outlays, possibly as much as 1-2 million LBC.
|
||||
|
||||
### Operational Fund
|
||||
|
||||
No activity this quarter.
|
||||
|
||||
LBRY will move a small amount of LBC (< 0.5% of operational funds / 500,000 LBC) to market to improve financial positioning for upcoming negotiations.
|
||||
|
||||
### Institutional Fund
|
||||
|
||||
No activity this quarter.
|
||||
|
||||
We may run our first institutional pilot programs this quarter. Any outlays from this fund this quarter will be minimal and are likely to come with restrictions that prevent them from going to market.
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: How does the Bounty Program work?
|
||||
category: policy
|
||||
category: other
|
||||
---
|
||||
|
||||
You can earn LBRY Credits for completing tasks as part of the LBRY Bounty Program.
|
||||
|
|
|
@ -14,7 +14,7 @@ Bids to claim a name must win out against other claims for the same name, before
|
|||
3. *Quantity* : The quantity is the number of LBRY credits assigned to the bid.
|
||||
4. *Claim Id* : A unique ID used to identify the bid.
|
||||
|
||||
There are also three different bid types : claim, update, and support.
|
||||
There are also three different bid types: claim, update, and support.
|
||||
|
||||
1. *Claim*: A claim represent new bids for a name. If a user want to make a claim to a brand new name, or submit a competing claim to an existing name, this bid type is used.
|
||||
2. *Support*: A support adds to the total quantity of credits assigned to any bid by referring to a bid's Claim Id. A support bid can be made by anyone on any bid. It does not have its own Value or its own Claim Id, but it does contain the Claim Id of the bid that it is supporting.
|
||||
|
@ -26,23 +26,23 @@ There are also three different bid types : claim, update, and support.
|
|||
This section describes how bids are processed by the ClaimTrie in order to determine which bids have won the rights to claim a particular name. There are 6 states a bid can be in, and they are explained below.
|
||||
|
||||
1. *Not accepted*: This bid is in a transaction which has not yet been included in a block which has been included in the blockchain.
|
||||
2. *Accepted*: This bid has been accepted into the blockchain. this happens when the transaction containing the txout which contains the bid is included in a block which is included in the blockchain.
|
||||
2. *Accepted*: This bid has been accepted into the blockchain. This happens when the transaction containing the TXout which contains the bid is included in a block which is included in the blockchain.
|
||||
3. *Active*: This bid is capable of controlling a name. Active bids must be in the “accepted” state and not “expired” or “spent”. Bids are “active” when either of the two conditions below are met:
|
||||
* The current block height exceeds the height of the block at which the bid became accepted plus the activation delay for the name as calculated at either the block at which the bid was accepted or any block after the bid was accepted. The activation delay is calculated as follows:
|
||||
* If, immediately before this block was included in the blockchain, there were no ‘active’ bids for the name and therefore no ‘controlling’ bids, the delay is 0.
|
||||
* If there is a “controlling” bid for the name: Delay = (HeightB - HeightA) / 32
|
||||
* HeightA = the most recent height at which the bid controlling the name changed
|
||||
* HeightB = the current height
|
||||
* Maximum delay is 7 days of blocks at 2.5 min/block (or 4032 blocks) . Thus maximum delay can be reached in 224 (7x32) days.
|
||||
* The bid’s Claim Id matches the Claim Id of the bid which was the controlling bid immediately before the block containing this bid was included in the blockchain. In other words, it is either an update to the previous controlling bid, or an update to an update to the previous controlling bid if the bid was updated twice in this block, etc
|
||||
* Maximum delay is 7 days of blocks at 2.5 min/block (or 4032 blocks). Thus maximum delay can be reached in 224 (7x32) days.
|
||||
* The bid’s Claim Id matches the Claim Id of the bid which was the controlling bid immediately before the block containing this bid was included in the blockchain. In other words, it is either an update to the previous controlling bid, or an update to an update to the previous controlling bid if the bid was updated twice in this block, etc.
|
||||
|
||||
4. *Controlling*: This bid currently controls the name. When clients ask which bid controls the name as of the current block, this is the bid that will be returned. Must be in the “active” state and only one bid for any name may be in this state. A support can not be in the “controlling” state. To determine which “active” bid is the “controlling” bid for each name:
|
||||
4. *Controlling*: This bid currently controls the name. When clients ask which bid controls the name as of the current block, this is the bid that will be returned. Must be in the “active” state and only one bid for any name may be in this state. A support cannot be in the “controlling” state. To determine which “active” bid is the “controlling” bid for each name:
|
||||
* Add the quantity of each ‘active’ bid to the quantity of all ‘active’ supports for that bid, and take whichever is greatest. If two bids have the same quantity, older bids take precedence over newer bids.
|
||||
|
||||
* If the bid with the greatest amount does not have the same claimID as the bid which was ‘controlling’ prior to including the current block, change the delay for the name as of the current block to 0, redetermine which bids and supports should be active, and then perform the previous calculation again.
|
||||
|
||||
* At this point, the bid calculated to have the greatest amount behind it is the ‘controlling’ bid as of this block
|
||||
5. *Spent*: A transaction has been included in the blockchain which spends the txout which contains the bid. Must be in the ‘accepted’ state.
|
||||
5. *Spent*: A transaction has been included in the blockchain which spends the TXout which contains the bid. Must be in the ‘accepted’ state.
|
||||
6. *Expired*: All bids ‘expire’ regardless of what state they are in when the current block height exceeds the height of the block at which the bid was accepted plus 52416 blocks, or 91 days ( currently this is set to 262974 blocks, or 456 days, which will be fixed in a future hard fork ). Updated claims will restart the expiration timer at the block height of the update.
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: LBRY Credit Policy
|
||||
category: policy
|
||||
title: What is LBRY doing with non-mined credits?
|
||||
category: other
|
||||
---
|
||||
|
||||
LBRY, Inc. controls a significant number of LBRY credits (LBC). At the inception of the blockchain, it was 400,000,000 LBC.
|
||||
|
@ -21,14 +21,7 @@ The initial 400m credits are broken down as follows:
|
|||
|
||||
LBRY issues a quarterly report every 3 months in January, April, July, and October, covering the preceding 3 full months. These reports outline the corresponding transaction history as the current state of LBRY, Inc.'s balance sheet and anticipated future expenditures.
|
||||
|
||||
| Date | Report | Balance Sheet |
|
||||
| ---- | ------ | ------------ |
|
||||
| Q2 2016 | [report](/faq/quarterly-report-july-2016) | [sheet](https://docs.google.com/spreadsheets/d/1r7puheE4Ut4c08R47uCDZbDdMHAoQa0WDqw470gjMIw/edit#gid=0) |
|
||||
| Q3 2016 | [report](/faq/quarterly-report-3q-2016) | [sheet](https://docs.google.com/spreadsheets/d/1zPG58YuLPqpB3yzypntRWouoEVc4saDOifpnvnwS8Rc/edit?ts=57f28d0e#gid=799352054) |
|
||||
| Q4 2016 | [report](https://docs.google.com/document/d/10xY_4PXQagYOMDBtA7Lv8-jcs2ryCBKi9WXvAN4l8EU/edit?usp=sharing) | [sheet](https://docs.google.com/spreadsheets/d/11nKwFXN3gIQHnE7jYjEK5AFClyAde9aFs6UlnGX3Uzg/edit?usp=sharing) |
|
||||
| Q1 2017 | [report](https://docs.google.com/document/d/1_B6hUXuxfSxsmVuNIUkgX7NROj0WvZc8PCI4O87aZkQ/edit?usp=sharing) | [sheet](https://docs.google.com/spreadsheets/d/1c-8CR1ro7lKOANHhWhivF7bZ19_ppgCq-d-HD_u43vM/edit?usp=sharing) |
|
||||
|
||||
Specific details of historic, ongoing, and anticipated fund expenditures can be seen in the most recent quarterly report.
|
||||
The full list of these reports can be seen on [the credit reports page](https://lbry.io/credit-reports).
|
||||
|
||||
## Community Fund
|
||||
|
||||
|
@ -49,7 +42,7 @@ The Operational Fund is 100m LBC reserved for LBRY, Inc. itself.
|
|||
|
||||
LBRY, Inc. reserves the rights to do whatever it wants with these credits at any time, to be deployed in the best interests of LBRY, Inc.
|
||||
|
||||
However, no one believes in the LBRY protocol more, or has more incentive for its success, than LBRY, Inc. We believe LBRY can be an world-altering technology and as such our intentions are to minimize the expenditure of these credits until we've achieved that reality.
|
||||
However, no one believes in the LBRY protocol more, or has more incentive for its success, than LBRY, Inc. We believe LBRY can be a world-altering technology and as such our intentions are to minimize the expenditure of these credits until we've achieved that reality.
|
||||
|
||||
Minimal engagement in the market is especially necessary throughout stages of low liquidity, when any action has disproportionate impact.
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@ category: getstarted
|
|||
|
||||
Currently, there are five ways to obtain LBRY Credits, or LBC for short.
|
||||
|
||||
1. Beta testers get an LBC gift. Talk to us on [Slack](https://slack.lbry.io/) if
|
||||
you're interested.
|
||||
1. LBRY users get an LBC gift by way of in-app Rewards. Talk to us on [Slack](https://slack.lbry.io/) if
|
||||
you're interested in additional testing or helping the community.
|
||||
1. Buy them: see [Exchanges](/faq/exchanges)
|
||||
1. Mine them: see [Mining](/faq/mining-credits).
|
||||
1. Host content: see [Hosting](/faq/host-content) for details. Note that
|
||||
hosting requires the LBRY app, which is currently open to beta testers only.
|
||||
hosting requires downloading content and running LBRY on your PC.
|
||||
1. Publish content: when you publish your own content to the LBRY network, you can sell it for LBC at the price of your choice.
|
||||
|
|
|
@ -6,10 +6,9 @@ category: getstarted
|
|||
Right now, it's simple: you host what you download.
|
||||
|
||||
While the LBRY app is running, it communicates to the network what
|
||||
content you're making available. If somebody downloads content from
|
||||
you, you will receive LBRY credits (LBC) for the data you upload.
|
||||
content you're making available.
|
||||
|
||||
Think of it like how torrents or any other peer-to-peer (P2P) service
|
||||
works. First you download a file from the hosts that have it available.
|
||||
When the download has finished, you become a host in the network
|
||||
other people can download from.
|
||||
other people can download from.
|
|
@ -5,13 +5,19 @@ category: wallet
|
|||
|
||||
LBRY provides two different wallets, `lbryum` and `lbrycrd`. `lbryum` is the default wallet, but early versions came with `lbrycrd` as the default.
|
||||
|
||||
Wallets should be backed up securely to one or more (redundancy!) locations which only you have control over. Anyone with access to the wallet file could potentially have access to your LBRY Credits. As an added layer of protection when backing up your wallet, you can password encrypt a ZIP file with your wallet data. We are trying to make this process easier for users in the future through the LBRY App.
|
||||
|
||||
## Windows
|
||||
|
||||
Make a copy of the `C:\Users\%USER%\AppData\Roaming\LBRYum\wallets` directory.
|
||||
Make a copy of the `C:\Users\%USER%\AppData\Roaming\LBRYum\wallets` directory. If you originally installed v0.14 or later, you will find the wallet in `C:\Users\%USER%\AppData\Local\lbry\LBRYum\wallets`. The AppData folder may be hidden, so you can also try `%appdata%\LBRYum\wallets` or `%localappdata%\lbry\LBRYum\wallets` for new installations (v0.14+).
|
||||
|
||||
## MacOS and Linux
|
||||
## Linux
|
||||
|
||||
Make a copy of the `$HOME/.lbryum/wallets` directory.
|
||||
Make a copy of the `~/.lbryum/wallets` directory. If you originally installed v0.14 or later, you will find the wallet in `~/.local/share/lbry/lbryum/wallets`.
|
||||
|
||||
## MacOS
|
||||
|
||||
Make a copy of the `$HOME/.lbryum/wallets` directory. Hint: Type `~/.lbryum/wallets` into Finder and click Go.
|
||||
|
||||
## lbrycrd wallet
|
||||
|
||||
|
|
18
content/faq/how-to-change-port.md
Normal file
18
content/faq/how-to-change-port.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
title: How to change default daemon peer port?
|
||||
category: setup
|
||||
---
|
||||
|
||||
If you see the error message `couldn't bind to port 3333`, it is likely that another process is already bound to that port. You will need to change the port before starting the daemon.
|
||||
|
||||
To change the port once during runtime, set the LBRY_PEER_PORT env variable. Here's one way to do this:
|
||||
|
||||
LBRY_PEER_PORT=3334 ./lbrynet-daemon
|
||||
|
||||
Once the daemon is running, you can change the port permanently by using the following [api](/api) call
|
||||
|
||||
curl 'http://localhost:5279/lbryapi' --data '{"method":"settings_set", "params":{"peer_port":<port-num>}}'
|
||||
|
||||
or via cli command
|
||||
|
||||
lbrynet-cli settings_set --peer_port 3333
|
56
content/faq/how-to-clean-install-preserve.md
Normal file
56
content/faq/how-to-clean-install-preserve.md
Normal file
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
title: How do I do a clean install of LBRY while preserving important data?
|
||||
category: setup
|
||||
---
|
||||
|
||||
Under certain circumstances, particularly if you've tested earlier beta versions, it may be recommended that you perform a clean installation of LBRY. This generally involves uninstalling the current LBRY application, removing various directories/files and then reinstalling the latest version of LBRY. Different operating systems use different folder locations and [this post on directories](https://lbry.io/faq/lbry-directories) will help if you cannot locate the right files or folders.
|
||||
|
||||
After uninstalling LBRY, the working directories are left intact so that the application can be easily reinstalled without losing your application data and wallet file. Application data is in the lbrynet folder (LBRY folder for Mac) and it includes various database and configuration files. Wallet and blockchain data is in the lbryum folder. Typically, you will want to save your wallet and a handful of configuration/database files when performing a clean install in order to keep your important data intact.
|
||||
|
||||
Note: after a clean install, you may be prompted again for your email. This is normal. As always, you can email [help@lbry.io](mailto:help@lbry.io) or reach out to us on Slack if you encounter any trouble.
|
||||
|
||||
## Windows
|
||||
1. Reboot your PC (this is to ensure that no LBRY processes are running)
|
||||
2. Uninstall the LBRY application by accessing "Add or Remove Programs" via the Control Panel
|
||||
3. Type `%appdata%` into an Explorer window to find the working directories
|
||||
4. Delete the entire LBRY folder
|
||||
5. If performing a clean install, delete the lbryum and lbrynet folders also **(!!THIS WILL DELETE YOUR WALLET AND DATA!!)** and skip to step 8
|
||||
6. Navigate to the lbryum folder and delete the `blockchain_headers` file
|
||||
7. Navigate to the lbrynet folder and delete all items while leaving the following:
|
||||
1. `blobfiles folder` - stores encrypted downloaded files which are used for hosting
|
||||
2. `blobs.db` - reference data for the blob files which are used for hosting purposes
|
||||
3. `lbryfile_info.db` - Downloads and Publishes data
|
||||
4. `blockchainname.db` - Supports downloads data
|
||||
8. Install the latest verison of LBRY from: [Github App Page](https://github.com/lbryio/lbry-app/releases "Github App Page"). If prompted to allow through Windows Firewall, click Allow
|
||||
9. LBRY should start immediately after install. If you kept your data, your balance and content will be reflected
|
||||
|
||||
## MacOS
|
||||
1. Reboot your PC (this is to ensure that no LBRY processes are running)
|
||||
2. Uninstall the LBRY application by dragging the LBRY app from the Applications folder to the Trash (located at the end of the Dock), then choose Finder > Empty Trash
|
||||
3. Open Finder, click Go on top menu, choose "Go To Folder", Type "~/Library/Application Support/LBRY" and then click go.
|
||||
4. If performing a clean install, delete the entire contents of this folder **(!!THIS WILL DELETE YOUR LBRY DATA!!)** and proceed to step 6
|
||||
5. Otherwise, delete everything except for:
|
||||
1. `blobfiles folder` - stores encrypted downloaded files which are used for hosting
|
||||
2. `blobs.db` - reference data for the blob files which are used for hosting purposes
|
||||
3. `lbryfile_info.db` - Downloads and Publishes data
|
||||
4. `blockchainname.db` - Supports downloads data
|
||||
6. In Finder - click Go menu on top, choose "Go To Folder", type. ~/.lbryum and then click go
|
||||
7. If performing a clean install, delete the entire contents of this folder **(!!THIS WILL DELETE YOUR WALLET!!)** and proceed to the next step, otherwise delete just the `blockchain_headers` file
|
||||
8. Install the latest verison of LBRY from: [Github App Page](https://github.com/lbryio/lbry-app/releases "Github App Page")
|
||||
9. Launch LBRY by starting it from the Applications folder. You can add it to your dock for easier access. If you kept your data and wallet, your balance and content will be reflected
|
||||
|
||||
## Ubuntu / Linux
|
||||
*(Exact steps may vary per distro)*
|
||||
1. Reboot your PC (this is to ensure that no LBRY processes are running)
|
||||
2. Uninstall the LBRY application by going to terminal and typing: sudo apt-get remove lbry. Y to confirm *(Ubunutu specific command)*
|
||||
3. Open File browser and navigate to the Home directory. Press Ctrl-H to view hidden files and folders
|
||||
5. If performing a clean install, delete the .lbryum and .lbrynet folders **(!!THIS WILL DELETE YOUR WALLET AND DATA!!)** and skip to step 8
|
||||
6. Navigate to the .lbryum folder and delete the `blockchain_headers` file
|
||||
7. Navigate to the .lbrynet folder and delete all items while leaving the following:
|
||||
1. `blobfiles folder` - stores encrypted downloaded files which are used for hosting
|
||||
2. `blobs.db` - reference data for the blob files which are used for hosting purposes
|
||||
3. `lbryfile_info.db` - Downloads and Publishes data
|
||||
4. `blockchainname.db` - Supports downloads data
|
||||
8. Install the latest verison of LBRY from: [Github App Page](https://github.com/lbryio/lbry-app/releases "Github App Page")
|
||||
9. Click the Search button on the toolbar, type LBRY and then hit Enter to launch LBRY. You can pin it to your taskbar for easier access. If you kept your data, your balance and content will be reflected
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
title: How do I encrypt my wallet?
|
||||
category: wallet
|
||||
---
|
||||
*Note: The below instructions are the the [LBRYCrd Full Blockchain wallet](https://github.com/lbryio/lbrycrd) and not the default wallet that ships with the LBRY App. We are still working on an encryption solution for this.*
|
||||
|
||||
You can use `lbrycrd-cli encryptwallet <passphrase>` to encrypt your wallet.
|
||||
|
||||
|
|
24
content/faq/how-to-find-lbry-log-file.md
Normal file
24
content/faq/how-to-find-lbry-log-file.md
Normal file
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
title: How do I locate my log files?
|
||||
category: setup
|
||||
---
|
||||
|
||||
In certain cases, we may ask you to send us your log file(s). The current log file is titled `lbrynet.log` (or just `lbrynet` if you have file extensions hidden) and is archived each time the files reaches 2MB. Older log files are copied to `lbrynet.log.<#>`. Typically only the lbrynet.log file is required, but we may ask for the others depending on the situation. Since each Operating System has its own set of working directories, use the below guide in order to locate the log file(s).
|
||||
|
||||
**lbrynet.log files may contain your IP address. While sharing this is not inherently dangerous, if you desire maximum privacy please mask it before posting to public forums like Slack or Github.**
|
||||
|
||||
## Windows
|
||||
1. Open Explorer.
|
||||
1. Type `%appdata%/lbrynet` (or `%localappdata%/lbry/lbrynet` if you originally installed v0.14 and up) into the address bar and click Enter.
|
||||
2. Here you will see the `lbrynet.log` file and any archives.
|
||||
|
||||
## MacOS
|
||||
1. Open Finder.
|
||||
1. Click Go on top menu and choose "Go To Folder".
|
||||
1. Type "~/Library/Application Support/LBRY" and then click go.
|
||||
2. Here you will see the `lbrynet.log` file and any archives.
|
||||
|
||||
## Ubuntu / Linux *(Exact steps may differ slightly)*
|
||||
1. Navigate to your home directory. Ensure hidden files and folders are shown if using a graphical file explorer.
|
||||
2. Navigate to the .lbrynet folder (or `.local/share/lbry/lbrynet` if you originally installed v0.14 and up).
|
||||
3. Here you will see the `lbrynet.log` file and any archives.
|
|
@ -3,8 +3,18 @@ title: How do I get help or report a bug?
|
|||
category: setup
|
||||
---
|
||||
|
||||
For live help, please join [our chat](https://slack.lbry.io) and in channel #bugs post a note with what exactly is going on (details please!).
|
||||
### Live Help
|
||||
|
||||
For live help, you can join [our chat](https://slack.lbry.io) and post in the #help channel. Please share a detailed message with the issue you are experiencing. LBRY log files are a good source of information for us, you can learn how to [find them here](https://lbry.io/faq/how-to-find-lbry-log-file).
|
||||
|
||||
### Reporting Issues
|
||||
|
||||
To report an issue, you can do one of the following:
|
||||
|
||||
1. Send us an email to [help@lbry.io](mailto:help@lbry.io) with the details of your issue or bug report. If it's troubleshooting related, please attach [your LBRY log file](https://lbry.io/faq/how-to-find-lbry-log-file).
|
||||
|
||||
1. Go to the "Help" page of the app and then click the "Submit a Bug Report" button. You can access the help page from inside of "Settings".
|
||||
|
||||
1. If you're a developer or otherwise technical and want to interact with LBRY developers directly, you're welcome to open an issue directly on GitHub. Please try to open network or protocol related issues [here](https://github.com/lbryio/lbry/issues) and interface, usability, and other application related issues [here](https://github.com/lbryio/lbry-app/issues). The penalty for getting this wrong is a mild shaming. We would appreciate a quick search to see if a similar issues already exist, as well.
|
||||
|
||||
To report a bug (and assuming you're using the UI) click Help, then click the Send Us a Bug Report link.
|
||||
|
||||
If you're a developer or technical, you're welcome to open an issue [directly on GitHub](https://github.com/lbryio/lbry/issues).
|
||||
|
|
|
@ -7,4 +7,4 @@ Start LBRY with the `--wallet` flag set:
|
|||
|
||||
lbrynet-daemon --wallet=lbrycrd
|
||||
|
||||
Note: when you change the wallet, it is persistant until you specify you want to use another wallet - lbryum - with the --wallet flag again.
|
||||
Note: when you change the wallet, it is persistent until you specify you want to use another wallet - lbryum - with the --wallet flag again.
|
||||
|
|
28
content/faq/identity-requirements.md
Normal file
28
content/faq/identity-requirements.md
Normal file
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
title: Why does the app ask for my credit card?
|
||||
category: other
|
||||
---
|
||||
|
||||
### Why We Ask
|
||||
|
||||
LBRY controls millions of credits that it wants to get into the hands of content creators and content consumers.
|
||||
|
||||
Unfortunately, when you try to give stuff away for free, people will abuse it.
|
||||
|
||||
This, and only this, is the reason we require a credit card to participate in the rewards program. We wish we could tell you were a real person without this step, but no other solution we've tried thus far has worked well.
|
||||
|
||||
**To be clear, no money will be charged to your card now or ever.** There is no fine print and there is no trick.
|
||||
|
||||
(*Some providers may see a $1 charge appear temporarily. This is only an authorization, no actual money will ever be charged.*)
|
||||
|
||||
Your card information is submitted directly to [Stripe](https://stripe.com), one of the largest credit card processors in the world.
|
||||
|
||||
### What If I Don't Want To Provide It?
|
||||
|
||||
No problem!
|
||||
|
||||
You are welcome to use the LBRY browser without providing any personal information. We just can't give you any rewards.
|
||||
|
||||
Note that without some credits, you will be unable to publish or access paid content.
|
||||
|
||||
However, you can get credits in lots of other ways. See [this article on purchasing and earning credits](https://lbry.io/faq/earn-credits).
|
16
content/faq/incompatible-protocol-version.md
Normal file
16
content/faq/incompatible-protocol-version.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
title: Incompatible Protocol Version Warning
|
||||
category: troubleshooting
|
||||
---
|
||||
|
||||
This warning happens when your LBRY browser did not install with the proper version of the software used to communicate with the LBRY network.
|
||||
|
||||
The most likely cause of this error is an old version was running during the install process. This can usually be fixed by re-running the LBRY setup files after ensuring that no LBRY processes are running.
|
||||
|
||||
### How to Fix
|
||||
|
||||
1. Restart your PC or ensure that any processes with "lbry" in the name are not running.
|
||||
1. [Download](https://github.com/lbryio/lbry-app/releases) and re-install the latest version of LBRY.
|
||||
1. Start LBRY
|
||||
|
||||
If you still receive this warning after completing the above steps, please [reach out to us](https://lbry.io/faq/how-to-report-bugs) for additional support.
|
|
@ -9,7 +9,9 @@ Depending on which OS and wallet you use, LBRY files may be stored in several pl
|
|||
|
||||
- `C:\Program Files (x86)\lbrynet` - LBRY application itself
|
||||
- `C:\Users\%USER%\AppData\Roaming\lbrynet` - Daemon configuration and blobs
|
||||
- `C:\Users\%USER%\AppData\Roaming\LBRYum` - Wallet and blockchain headers (if using the app or the lbryum wallet)
|
||||
- `C:\Users\%USER%\AppData\Roaming\lbryum` - Wallet and blockchain headers (if using the app or the lbryum wallet)
|
||||
|
||||
*\*If you originally installed v0.14 and up, you will find the lbrynet and lbryum directories in `%localappdata%/lbry`*
|
||||
|
||||
## MacOS
|
||||
|
||||
|
@ -18,9 +20,13 @@ Depending on which OS and wallet you use, LBRY files may be stored in several pl
|
|||
- `~/.lbrycrd` - Alternate location for lbrycrdd wallet and blockchain
|
||||
- `~/.lbryum` - Wallet and blockchain headers (if using the app or the lbryum wallet)
|
||||
|
||||
*Hint: copy/paste the above directories into Finder and click Go.*
|
||||
|
||||
## Linux
|
||||
|
||||
- `/opt/LBRY` - LBRY application itself
|
||||
- `~/.lbrynet` - Daemon configuration and blobs
|
||||
- `~/.lbryum` - Wallet and blockchain headers (if using the app or the lbryum wallet)
|
||||
- `~/.lbrycrd` - Wallet and blockchain (if using lbrycrdd wallet)
|
||||
|
||||
*\*If you originally installed v0.14 and up, you will find the lbrynet and lbryum directories in `~/.local/share/lbry`*
|
||||
|
|
|
@ -5,7 +5,7 @@ category: mining
|
|||
Library Credits (LBC) are mined over a 20-year Proof of Work period.
|
||||
Block rewards increase every 100 blocks by 1LBC, peak at 500, and decline slowly.
|
||||
|
||||
LBRY mining is dominated by the GPU market and we don't see CPU mining as econonmically viable at this point. If you still want to CPU mine to help the network, see instructions below.
|
||||
LBRY mining is dominated by the GPU market and we don't see CPU mining as economically viable at this point. If you still want to CPU mine to help the network, see instructions below.
|
||||
|
||||
For GPU mining, please see our list of [pools](https://lbry.io/faq/mining-pools). Each pool has a slightly different setup so please check their Getting Started page.
|
||||
|
||||
|
|
|
@ -40,4 +40,4 @@ Our economic advisor Alex Tabarrok notes:
|
|||
|
||||
>“Auctions have many great properties, but the public doesn’t like auctions very much. Although participating in an auction is fun for some; others find it annoying. It requires inputs of time and risk, and no one likes being outbid at the last minute.”
|
||||
|
||||
So, the short answer is that we’re aware that this an experiment within an experiment. We’re trying to solve a very hard problem in a novel way. It’s important to note that LBRY doesn't depend on the naming system, but we're committed to giving it a chance.
|
||||
So, the short answer is that we’re aware that this is an experiment within an experiment. We’re trying to solve a very hard problem in a novel way. It’s important to note that LBRY doesn't depend on the naming system, but we're committed to giving it a chance.
|
||||
|
|
|
@ -3,42 +3,32 @@ title: How does the referral and waitlist program work?
|
|||
category: getstarted
|
||||
---
|
||||
|
||||
You can earn credits and move up the LBRY waitlist for referring others to use LBRY.
|
||||
|
||||
### How do referrals affect my status on the waitlist?
|
||||
|
||||
The more LBRYians you refer, the sooner you'll be granted access and the more credits you'll earn.
|
||||
|
||||
### How long will I be on the list? How frequently do you take people off?
|
||||
|
||||
We anticipate taking anywhere from several hundreds to several thousand off each week. It depends on how development continues.
|
||||
|
||||
Your wait time will depend on how many you invite and how long you've been on the list. See below.
|
||||
|
||||
### How do you determine who to take off the list?
|
||||
|
||||
Your waitlist score is the sum of number of weeks on the list and number of people invited. We take the people with the highest scores every time we do another invite wave.
|
||||
|
||||
Currently, invites outside of English speaking countries are paused pending better international support.
|
||||
You can earn credits for referring others to use LBRY. As of 8/1/2017, we have paused referrals because LBRY has entered an "Open Beta" status where anyone can download the software. We have recorded all your referrals and are moving this information into the LBRY Application. This information is not available at your referral link at this time, nor can your referral link earn any more credits.
|
||||
|
||||
### How many credits do I get?
|
||||
|
||||
The current referral reward as well as the number of people you have referred can be seen on the [Get](/get) page.
|
||||
The current referral reward as well as the number of people you have referred has been recorded by our system
|
||||
|
||||
The referral award may change without warning or notice. You will always receive the number of credits being awarded at the time your referree joined the list.
|
||||
You will always receive the number of credits being awarded at the time your referree joined the list.
|
||||
|
||||
### How do I see how many credits I've earned?
|
||||
|
||||
Access the [Get](/get) page. If it does not already display your status when you load the page, simply enter your email address again.
|
||||
We've recorded all the credits you have earned up until 8/1/2017 and they be shown in inside the LBRY App once that feature is implemeneted.
|
||||
|
||||
### When do I get my rewards?
|
||||
|
||||
You will not receive any credits until you get off the waitlist. As soon as you do, you will receive an acceptance bonus. You will not receive rewards for each referral until those users join and use LBRY themselves. This is to combat referral fraud.
|
||||
We are working on a solution where each user can redeem their rewards via the LBRY app. When this goes live, you will then be able to claim your referral rewards.
|
||||
|
||||
You will not receive rewards for each referral until those users join and use LBRY themselves. This is to combat referral fraud.
|
||||
|
||||
### Is there a limit to the credits I can earn?
|
||||
|
||||
If you expect to refer more than 50-100 people, please discuss it with us on [Slack](http://slack.lbry.io) or email [us](mailto:josh@lbry.io).
|
||||
|
||||
### Will you turn Referrals back on?
|
||||
|
||||
Once we have the Referral system implemented in the LBRY App, we plan on turning them back on so that users can earn credits for referring their friends and family.
|
||||
|
||||
### I have a clever idea to cheat the referral system.
|
||||
|
||||
If you want to waste your time to receive no reward, be our guest. We will be monitoring the system closely and going to significant lengths to only let legitimate users in.
|
||||
|
|
173
content/faq/regtest-setup-guide.md
Normal file
173
content/faq/regtest-setup-guide.md
Normal file
|
@ -0,0 +1,173 @@
|
|||
---
|
||||
title: How do I setup an isolated regtest network to test LBRY?
|
||||
category: developer
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
To begin setting up the network, there are a few things you need.
|
||||
|
||||
Note that you need a Linux distribution to run all this. A virtual machine is
|
||||
fine.
|
||||
|
||||
### virtual environment
|
||||
|
||||
First up it's a good idea to create a Python virtual environment. This requires
|
||||
you to have a functional python2.7 setup, with the Python package manager `pip`
|
||||
installed. To create a new virtual environment in a folder `lbry-env`, run this:
|
||||
`virtualenv -p /usr/bin/python2.7 lbry-env` To enter the environment, run
|
||||
`source lbry-env/bin/activate`.
|
||||
|
||||
### lbrycrd
|
||||
|
||||
You need to download a build of `lbrycrd` from [here](https://github.com/lbryio/lbrycrd/releases/), no installation required.
|
||||
To configure `lbrycrd` you to create a file at `~/.lbrycrd/lbrycrd.conf`,
|
||||
containing the following.
|
||||
```ini
|
||||
rpcuser=test
|
||||
rpcpassword=test
|
||||
rpcport=18332
|
||||
rpcallowip=0.0.0.0/0
|
||||
regtest=1
|
||||
dnsseed=0
|
||||
upnp=0
|
||||
server=1
|
||||
txindex=0
|
||||
daemon=0
|
||||
```
|
||||
|
||||
### lbry
|
||||
|
||||
Download source from [here](https://github.com/lbryio/lbry/releases), and run the following inside the environment.
|
||||
```bash
|
||||
cd lbry
|
||||
pip2 install -r requirements.txt
|
||||
pip2 install .
|
||||
```
|
||||
|
||||
### lbryum
|
||||
|
||||
To install lbryum, first download the source from [here](https://github.com/lbryio/lbryum/releases). To install it, run
|
||||
the following inside the virtual environment.
|
||||
```bash
|
||||
cd lbryum
|
||||
pip2 install -r requirements.txt
|
||||
pip2 install .
|
||||
```
|
||||
|
||||
|
||||
### lbryum-server
|
||||
|
||||
To install lbryum-server you first need to install the package `leveldb`. After
|
||||
that, download the source from [here](https://github.com/lbryio/lbryum-server/releases), and run the following inside the
|
||||
environment.
|
||||
```bash
|
||||
cd lbryum-server
|
||||
pip2 install -r requirements.txt
|
||||
```
|
||||
|
||||
If you're not running debian/*buntu, or a derivative of those, you need to
|
||||
edit the `configure` file a bit. On line 11, remove the `apt-get` line and
|
||||
manually install the required packages. On line 48, change `adduser` to
|
||||
`useradd` and on the same line, change `--disabled-password` to `-p !`.
|
||||
|
||||
```bash
|
||||
sudo ./configure
|
||||
sudo python2 setup.py install
|
||||
```
|
||||
|
||||
When installed, append the following to the `/etc/lbryum.conf` file.
|
||||
```ini
|
||||
[lbrycrdd]
|
||||
lbrycrdd_host = localhost
|
||||
lbrycrdd_port = 18332
|
||||
lbrycrdd_user = test
|
||||
lbrycrdd_password = test
|
||||
|
||||
[network]
|
||||
type = lbrycrd_regtest
|
||||
```
|
||||
|
||||
## Setup
|
||||
|
||||
### Wallet backup
|
||||
|
||||
To start off with, if you've already used LBRY on your machine, you need to
|
||||
backup the wallet by copying the folders `~/.lbrynet` and `~/.lbryum`, then
|
||||
delete them to start from fresh. Run
|
||||
`mkdir ~/.lbryum; touch ~/.lbryum/blockchain_headers` to create a new empty
|
||||
file there. If you don't do this, it'll try downloading the current blockchain
|
||||
headers from a server.
|
||||
|
||||
### lbrycrd
|
||||
|
||||
To run the `lbrycrd` daemon, run the following in the `lbrycrd` folder.
|
||||
`./lbrycrdd`
|
||||
|
||||
To generate blocks, run `./lbrycrd-cli generate <num_of_blocks>`
|
||||
You'll need to generate some blocks to get the network going.
|
||||
Start off by generating 100.
|
||||
|
||||
|
||||
### lbryum
|
||||
|
||||
To run the server, run `lbryum-server`.
|
||||
|
||||
You also need to run the `lbryum` daemon, `lbryum daemon start -v`
|
||||
|
||||
After that, you need to setup lbryum. Run the following two commands to make
|
||||
it use the local server in regtest mode.
|
||||
```bash
|
||||
lbryum setconfig default_servers '{ "localhost": { "t": "50001" }}'
|
||||
lbryum setconfig chain 'lbrycrd_regtest'
|
||||
```
|
||||
|
||||
At this point it's a good idea to restart everything. Generate some more
|
||||
blocks, get a wallet address by `lbrynet-cli wallet_new_address`, and then
|
||||
send some credits to your wallet by doing
|
||||
`./lbrycrd-cli sendtoaddress <address> <num_of_credits>`
|
||||
|
||||
### lbry
|
||||
|
||||
You can now run `lbrynet-daemon`, and it should connect to the `lbryum server`.
|
||||
If you want to publish a claim inside the regtest network, you need to edit
|
||||
`reflect_uploads` on line 177 in `lbry/lbrynet/conf.py` from `True` to `False`.
|
||||
|
||||
## Shutdown
|
||||
|
||||
To stop the network, run `lbrynet-cli daemon_stop`, `lbryum daemon stop`, and
|
||||
kill the `lbryum-server` and `lbrycrdd` processes. If you want to use your
|
||||
wallet and the official servers again, backup the new regtest wallet, and
|
||||
replace it with your own.
|
||||
|
||||
## Note
|
||||
If something goes wrong and you get a "Block not found" error, remember to
|
||||
delete `/var/lbryum-server` before trying again.
|
||||
|
||||
## Cheatsheet
|
||||
|
||||
#### Required processes in the correct order
|
||||
```bash
|
||||
lbrycrdd -regtest -server -printtoconsole
|
||||
|
||||
lbryum-server
|
||||
|
||||
lbryum daemon start -v
|
||||
|
||||
lbrynet-daemon
|
||||
```
|
||||
|
||||
#### Generate blocks
|
||||
```bash
|
||||
lbrycrd-cli generate 5
|
||||
```
|
||||
|
||||
#### Get a wallet address
|
||||
```bash
|
||||
lbrynet-cli wallet_new_address
|
||||
```
|
||||
|
||||
#### Send credits from lbrycrd to your wallet
|
||||
```bash
|
||||
lbryrd-cli sendtoaddress <address> <num_of_credits>
|
||||
```
|
|
@ -9,7 +9,7 @@ But behind that experience is an ecosystem that can be hard to understand at fir
|
|||
|
||||
It might be easier to start with what LBRY is not: it is not just another corporate media service like YouTube or iTunes or Spotify. It is first and foremost a new *protocol* that allows artists to upload their content to a network of hosts (like BitTorrent) and set a price per stream or download (like iTunes) or give it away for free (like YouTube without ads). What makes this all possible is the blockchain technology developed by the founder of Bitcoin. Do you have to understand any of this to use and enjoy LBRY? No. Does it still matter to users? Yes!
|
||||
|
||||
Gmail has built an extremely popular email service on top of the near-universal *SMTP protocol* that everyone uses to exchange emails. Anyone sending email with SMTP can communicate with Gmail addresses, no matter what email platform they use (Yahoo!, AOL, iCloud, etc.). Google can’t interfere with someone emailing from an @yahoo.com address to an @aol.com address – and users are free to switch between services at any time, taking their emails with them. Users have a lot of power in open protocols that is often taken for granted.
|
||||
Gmail has built an extremely popular email service on top of the near-universal *SMTP protocol* that everyone uses to exchange emails. Anyone sending email with SMTP can communicate with Gmail addresses, no matter what email platform they use (Yahoo!, AOL, iCloud, etc.). Google can’t interfere with someone emailing from a @yahoo.com address to an @aol.com address – and users are free to switch between services at any time, taking their emails with them. Users have a lot of power in open protocols that is often taken for granted.
|
||||
|
||||
Compare this to a proprietary, centrally controlled service like Facebook Messenger. If you conduct all of your social communications via Messenger, you’re stuck in that environment – you cannot move your messages or contacts over to Google Chat or Skype. And if Facebook changes the way Messenger functions by censoring conversations or sharing your information with advertisers or governments, tough luck.
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ Today, these are the top 10 posts on /r/all:
|
|||
|
||||

|
||||
|
||||
Perhaps my favorite internet moment ever has been given the indecently bland Wikipedia title of [AACS encryption key controversy](http://en.wikipedia.org/wiki/AACS_encryption_key_controversy). For the kids, non-nerds, and amnesiac nerds, a synopsis: the movie industry subpoenaed Digg to remove any references to the number **09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0** on the grounds that the number could be used to decrypt DVDs. Digg complied. Users revolted. The front page of Digg looked a lot like /r/all, except full of hexidecimal digits instead of fat people and swastikas.
|
||||
Perhaps my favorite internet moment ever has been given the indecently bland Wikipedia title of [AACS encryption key controversy](http://en.wikipedia.org/wiki/AACS_encryption_key_controversy). For the kids, non-nerds, and amnesiac nerds, a synopsis: the movie industry subpoenaed Digg to remove any references to the number **09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0** on the grounds that the number could be used to decrypt DVDs. Digg complied. Users revolted. The front page of Digg looked a lot like /r/all, except full of hexadecimal digits instead of fat people and swastikas.
|
||||
|
||||
Watching the everyman rebel against censorship and control brought tears to my eyes. It was an absolute inspiration. Astute eyes can find a tiny free speech flag in [our footer ](https://lbry.io/why).
|
||||
|
||||
|
@ -40,7 +40,7 @@ Reddit claims that the grounds for the bans is violation of rules regarding the
|
|||
|
||||
* Reddit [claims that it cares about transparency](http://www.reddit.com/r/announcements/comments/35uyil/transparency_is_important_to_us_and_today_we_take/), but refuses to provide any details or guidelines on its rules. Nor will it provide specific examples of the grounds on which it banned the targeted communities.
|
||||
|
||||
* Reddit claims it banned communities on grounds of targeted harassment, but users that have sited numerous specific examples of harassment from communities more politically favorable to Reddit's founders go ignored.
|
||||
* Reddit claims it banned communities on grounds of targeted harassment, but users that have cited numerous specific examples of harassment from communities more politically favorable to Reddit's founders go ignored.
|
||||
|
||||
* Reddit claims that it banned the communities on grounds of targeted harassment, but has banned new subs created by unrelated users that have done no harassing.
|
||||
|
||||
|
@ -56,4 +56,4 @@ I've neglected to mention the second half of the title. It's an old joke, made b
|
|||
|
||||

|
||||
|
||||
I hope someone has a generator hooked to Aaron Swartz right now.
|
||||
I hope someone has a generator hooked to Aaron Swartz right now.
|
||||
|
|
|
@ -41,7 +41,7 @@ We spent a lot of time debating whether it was possible to build LBRY on top of
|
|||
offers a tremendous user base.
|
||||
|
||||
Ultimately, we decided this was not possible to do. We want LBRY to be the most efficient market for selling and buying
|
||||
information. From a fundamental perspective, kludging LBRY ontop of Bitcoin would result in reduced efficiency.
|
||||
information. From a fundamental perspective, kludging LBRY on top of Bitcoin would result in reduced efficiency.
|
||||
|
||||
We are huge believers in Bitcoin and recognize we would not be here without it. If we have seen further, it is by standing on
|
||||
the shoulders of anonymous giants. For this reason, we plan to commit a significant initial portion of LBRY credits to
|
||||
|
@ -73,9 +73,9 @@ creator. Greater user experience + greater creator experience = WNNNG<sup>1</sup
|
|||
|
||||
First, for clarity, here is LBRY's naming system as succinctly as possible:
|
||||
|
||||
> whoever pledges the most credits against a name holds it, subject to a defined window for a counter-bid
|
||||
> Whoever pledges the most credits against a name holds it, subject to a defined window for a counter-bid
|
||||
|
||||
Our instinctual desire to have confident possession of our property makes LBRY's resveration-only name system feel off. However,
|
||||
Our instinctual desire to have confident possession of our property makes LBRY's reservation-only name system feel off. However,
|
||||
it has strong economic underpinnings. Famed economist Ronald Coase made the insight that as long as property rights are clearly
|
||||
defined and there are sufficiently low transaction costs, an efficient outcome will result regardless of the initial allocation
|
||||
of property.
|
||||
|
@ -87,7 +87,7 @@ In the sense of this theorem, the efficient outcome is that the owner of any nam
|
|||
most value. When does a name hold the most value? When it maps to content that is most desired by users.
|
||||
|
||||
What do users desire when accessing a name? For a name to resolve to the content they envisioned as well as for that content to be
|
||||
provided by it's legitimate creator. The former desire may outstrip the latter, but consumers would clearly rather pay a legitimate
|
||||
provided by its legitimate creator. The former desire may outstrip the latter, but consumers would clearly rather pay a legitimate
|
||||
creator than a non-legitimate creator. Thus, the legitimate content creator has maximal incentive to provide a LBRY name mapping
|
||||
to their content.
|
||||
|
||||
|
@ -107,4 +107,4 @@ the need and the opportunity. People were excited. While we'll admit our early t
|
|||
liberty festivals), the reaction has been equally favorable. Every interaction leaves us more inspired to create the most egalitarian,
|
||||
efficient library the world has ever seen.
|
||||
|
||||

|
||||

|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
author: jeremy
|
||||
title: '20,000 Worldclass University Lectures Made Illegal, So We Irrevocably Mirrored Them'
|
||||
title: '20,000 World-class University Lectures Made Illegal, So We Irrevocably Mirrored Them'
|
||||
date: '2017-03-15 00:09:00'
|
||||
cover: 'berkeley-banner.jpg'
|
||||
---
|
||||
|
|
|
@ -12,7 +12,7 @@ We made our own statue of liberty. She’s planted firmly at https://api.lbry.io
|
|||
|
||||

|
||||
|
||||
We welcome Caveman Gaming, EmRatThic, Zed Gaming, Gaming Sicness, and Wingheaven to LBRY. When catagories roll out in April, you’ll find them in “Gaming.”
|
||||
We welcome Caveman Gaming, EmRatThic, Zed Gaming, Gaming Sicness, and Wingheaven to LBRY. When categories roll out in April, you’ll find them in “Gaming.”
|
||||
|
||||
What does this seemingly gibberish string of words have to do with “Gaming?” They’ve graciously brought games from AAA and indie to LBRY, including:
|
||||
- GTAV
|
||||
|
|
|
@ -20,4 +20,4 @@ If you’ve been looking to build your own garden and don’t know where to star
|
|||
|
||||
Don’t stay outside long, though. You’ll miss LBRY too much.
|
||||
|
||||
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Have some tips and tricks of your own craft to share? Email reilly@lbry.io to **spread** your **knowledge** faster than Tai Lopez in a lambo.
|
||||
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Have some tips and tricks of your own craft to share? Email reilly@lbry.io to **spread** your **knowledge** faster than Tai Lopez in a Lambo.
|
||||
|
|
|
@ -6,7 +6,7 @@ cover: 'jordan-banner.jpg'
|
|||
---
|
||||
People do strange things for seemingly mystical reasons.
|
||||
|
||||
Jordan Peterson cuts through the myst and gets to the heart of, well, everyone’s heart.
|
||||
Jordan Peterson cuts through the mist and gets to the heart of, well, everyone’s heart.
|
||||
|
||||

|
||||
|
||||
|
|
22
content/news/119-fee.md
Normal file
22
content/news/119-fee.md
Normal file
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
author: reilly
|
||||
title: 'Inspire. Educate. Connect.'
|
||||
date: '2017-07-06 00:20:30'
|
||||
cover: 'fee-banner.jpg'
|
||||
---
|
||||
The tenets of FEE, or the Foundation for Economic Education, are pretty similar to our own: to inspire, educate and connect.
|
||||
|
||||
Every video available via <a href='lbry://@FEEOrg'>@FEEOrg</a> consistently lives up to these ideals.
|
||||
|
||||

|
||||
|
||||
Behind all of the fancy and often breathtaking technology that powers LBRY, it is easy to forget that ultimately, it all comes back down to the same ideas that help one decide what food to buy, which flowers to get your spouse, or where you want to live.
|
||||
|
||||
- Do I like it?
|
||||
- What will I pay for it?
|
||||
|
||||
<a href='lbry://@FEEOrg'>@FEEOrg</a> takes simple economic ideas and applies them to big problems with incredible results.
|
||||
|
||||
If the economics of the LBRY world fascinate you, I highly recommend you check out everything this great channel has to offer.
|
||||
|
||||
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Want to share your knowledge with the world? Email reilly@lbry.io to inspire us. Or sync your channel at: https://api.lbry.io/yt/connect
|
22
content/news/120-slav.md
Normal file
22
content/news/120-slav.md
Normal file
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
author: reilly
|
||||
title: 'Throwback Throwdown'
|
||||
date: '2017-07-13 00:03:00'
|
||||
cover: 'slav-banner.jpg'
|
||||
---
|
||||
Ever find something you had no idea that you’d like it *so much*?
|
||||
|
||||
That’s exactly how I feel about this conspicuously popular-yet-underground channel now on LBRY. If you love the soundscapes of synths, electronica, and EDM but are sick of the contemporary pop rehashes that all sound the same… you’re in luck.
|
||||
|
||||

|
||||
|
||||
<a href='lbry://@Slav'>@Slav Records</a> are purveyors of house music with an emphasis on 90s-style beats.
|
||||
|
||||
The sickest album art and grooviest sounds instantly made <a href='lbry://@Slav'>@Slav</a> my favorite music publisher on LBRY, second to none.
|
||||
|
||||
They are one of the biggest musical channels to take bitcoin donations--now it’s time to shower them with LBC. While moonwalking, of course.
|
||||
|
||||
Sample some Slav Records below, courtesy of Spee.ch and served directly from the LBRY network.
|
||||
<video width="100%" controls><source src="https://spee.ch/slav-luz1e/2b9183ac19d937d2a787fcdd0d1c2cd285c52f4f" /></video>
|
||||
|
||||
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Want to show us how to get down? Email reilly@lbry.io with your hottest beats. Or sync your channel at: https://api.lbry.io/yt/connect
|
21
content/news/121-makestuff.md
Normal file
21
content/news/121-makestuff.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
author: reilly
|
||||
title: 'The Maker’s Mark'
|
||||
date: '2017-07-21 00:03:00'
|
||||
cover: 'makestuff-banner.PNG'
|
||||
---
|
||||
LBRY is all about sharing your creations with the world.
|
||||
|
||||
One thing you can’t do (yet!) is share your tangible, physical works. But today is the next best thing. Welcome one of the best DIY channels on the web to LBRY.
|
||||
|
||||

|
||||
|
||||
Bob of <a href='lbry://@ILikeToMakeStuff'>@ILikeToMakeStuff</a> builds anything and everything for the fun of it, and you’re along for the ride. Stormtrooper helmet? Check. Outdoor tool bed? Check. Rube Goldberg machine? Easy peasy.
|
||||
|
||||
If you’re like us, you spend a lot of time building things indoors. Not moving. At a desk.
|
||||
|
||||
Bob shows you just how fun building cool things that you *actually* want to make can be, all while getting your blood pumping.
|
||||
|
||||
Bob, LBRY. LBRYians, Bob.
|
||||
|
||||
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Building something grand? Email reilly@lbry.io with further instructions. Or sync your channel at: https://api.lbry.io/yt/connect
|
19
content/news/122-jaylight.md
Normal file
19
content/news/122-jaylight.md
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
author: reilly
|
||||
title: 'Verbal Violence'
|
||||
date: '2017-07-27 00:19:30'
|
||||
cover: 'jay-banner.png'
|
||||
---
|
||||
Revenge is best served savagely cold and utterly hilarious.
|
||||
|
||||
If you’ve never been to a Roast Battle, let me paint the scene: two comedians with a beef study each other inside-out. Eventually, they both grab a mic to battle it out in a war of words. This tit-for-tat, no holds barred verbal violence in front of a live audience is the cutting edge of underground comedy.
|
||||
|
||||
It’s a privilege to give you a sneak peek into this rising scene.
|
||||
|
||||

|
||||
|
||||
<a href='http://www.jaylightcomedy.com'>Jay Light</a> is one of the brightest young comics in Los Angeles. He’s competed on the Comedy Central edition of Roast Battle, and he’s opened for the likes of Theo Von, Dana Carvey and Dave Chappelle. And Kevin McNamara hasn’t been seen at The Comedy Store since Jay assaulted him.
|
||||
|
||||
Available now at <a href='lbry://light-versus-mcnamara'>lbry://light-versus-mcnamara</a>, the battle also features the legendary Jeff Ross, Tony Hinchcliffe and Comedy Central's Roast Battle season one champion Mike Lawrence as the three judges.
|
||||
|
||||
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Have comedy chops? Email reilly@lbry.io to make us laugh. Or sync your channel at: https://api.lbry.io/yt/connect
|
67
content/news/123-popup-open-beta.md
Normal file
67
content/news/123-popup-open-beta.md
Normal file
|
@ -0,0 +1,67 @@
|
|||
---
|
||||
author: jeremy
|
||||
title: Pop-Up Open Beta
|
||||
date: '2017-07-31 13:31:31'
|
||||
---
|
||||
|
||||
## Starting immediately, anyone can watch awesome stuff on LBRY and earn free rewards.
|
||||
|
||||
_Want to avoid icky words and just install LBRY, laugh at things, and earn your magic internet credits? [Go here](https://lbry.io/get)._
|
||||
|
||||
### The Journey
|
||||
|
||||
In less than a year, over 250,000 people have signed up to put control back in the hands of the content creators and consumers. That’s more people than the population of Samoa (which is totally a place you've probably heard of!). It’s a pretty big deal.
|
||||
|
||||
There’s a reason why people have been clamoring to get in. It's the same reason why some of YouTube’s most popular publishers, a surge of gaming channels and independent producers are flooding LBRY. It's because existing methods are fundamentally broken. Giant corporations demand tremendous control and abuse it, rather than fostering choice and freedom. They take half of creators' money just to move bits around, when content consumers could be doing it ourselves.
|
||||
|
||||
There's also a reason it's taken a long time for us to move to open beta, and why it's likely to be temporary: it turns out fundamentally rebuilding the way we distribute content from the ground up is kind of hard.
|
||||
|
||||
As LBRY has gotten more popular...
|
||||
|
||||
[](https://spee.ch/992d4635fe41d4c57537a870ebe67a6d372f785b/lbrypublishes)
|
||||
|
||||
...it's also battled a host of network and performance issues.
|
||||
|
||||
[](https://spee.ch/f3d9e020c7b3ba51d31addf37b7be54715c65d3f/lbryfailures)
|
||||
|
||||
_April was the first month we sent out large chunks of invites, which immediately broke the network. A+ month, would play again._
|
||||
|
||||
But while others have been busy focusing on hype and over-promising (_"Our next-generation web 6.0 blockchain protocol will decentralized Facebook, solve global warming, and put humans on Mars (via smart contacts). Just send 923,217 ether to this address and wait patiently"_), we've been quietly working on something that can be quite beautiful...
|
||||
|
||||

|
||||
|
||||
_Oh-so-sweet end-to-end decentralized digital content discovery, distribution, and purchase! Or as I tell my mom, YouTube without Google._
|
||||
|
||||
Despite our progress, we are at best a few hops along the lengthy journey to the summit. We've got a long list of issues to tackle and a longer list of creators to educate.
|
||||
|
||||
Additionally, we want to make sure that the rewards we offer new users -- usually an amount of LBC worth about $5 - $10 -- end up in the hands of people who want to make the network successful.
|
||||
|
||||
In fact, that's the whole point of this post!
|
||||
|
||||
### The Open Beta
|
||||
|
||||
Starting today, anyone that downloads and runs the LBRY browser can access the great content already on the network and earn LBRY credits for doing so.
|
||||
|
||||
The LBRY browser runs on all major desktop operating systems. To get it, go [here](https://lbry.io/get).
|
||||
|
||||
So, why aren't we shouting a bit more about this?
|
||||
|
||||
One, LBRY still isn't in a state for the average person. Two, we're not likely to leave LBRY in this state for long. We'll be monitoring the network performance -- as well as the rates of participation in the rewards programs -- and pause if either gets unacceptable.
|
||||
|
||||
After joining the beta, you'll also receive a weekly email, mentioning the great new content added that week and offering additional rewards.
|
||||
|
||||
[](https://spee.ch/24beb7c15678092d2b96fa7d3fdcaa190b24050a/lbryrewardemail)
|
||||
|
||||
_Open beta users can access weekly featured content and earn rewards._
|
||||
|
||||
Ready to download? [Get LBRY here](https://lbry.io/get).
|
||||
|
||||
### Invites for your Community
|
||||
|
||||
We want to get LBRY credits into the hands of users and communities that support content freedom. If you are part of a community that would find LBRY useful or interesting, we can offer invites to the rewards program for your community that do not require full identity verification. Interested? [Say hello here](mailto:hello@lbry.io).
|
||||
|
||||
### One More Bonus
|
||||
|
||||
We're also going to drop this sweet hype video here, made by the wonderful J.J. Epic of [NeoCash Radio](http://neocashradio.com/).
|
||||
|
||||
<video width="100%" controls poster="https://spee.ch/850029cd898c982812fbdd83d22c1d5e32ad3ac9/lbryhypeposter.png" src="https://spee.ch/65913d27e8a5723f539447bd3cb27279b357f4d4/hellolbry.mp4"/></video>
|
39
content/news/124-rocketsaway.md
Normal file
39
content/news/124-rocketsaway.md
Normal file
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
author: reilly
|
||||
title: '#LBRYcast Evolution'
|
||||
date: '2017-08-03 00:17:30'
|
||||
cover: 'lbryui-banner.png'
|
||||
---
|
||||
|
||||
With the launch of [open beta](https://lbry.io/news/popup-open-beta) on July 31st, we’re officially entering LBRY Year Two. So we figured it was time to update #LBRYcast as well.
|
||||
|
||||
*(Haven’t grabbed the beta yet? Do it [here](https://lbry.io/get).)*
|
||||
|
||||
LBRYcast will now be a weekly spotlight on new and great content available on the network. Each week, we’ll spotlight one or more creators that are available via LBRY.
|
||||
|
||||
LBRY users who watch this content will earn a reward *every week*. If you’ve entered your email in the LBRY app, you’ll receive a notification each week with the new content. You can also look for a post on this blog.
|
||||
|
||||
Or you could just look for the content in the app itself, which is marked with a bright red rocketship.
|
||||
|
||||

|
||||
|
||||
|
||||
So that’s #LBRYcast. Here’s this week’s great stuff…
|
||||
|
||||
### Recollection
|
||||
|
||||
|
||||
As you can tell from [several](https://lbry.io/news/slav) [previous](https://lbry.io/news/whoiscapital) [LBRYcast posts](https://lbry.io/news/acousticlabs), I like to find the best sounds on LBRY. And this week is another chart topper.
|
||||
|
||||

|
||||
|
||||
@Recollection is a sister channel to @1791L / @AmericanLampoon with top notch music curation. From Nosaj Thing samples to Stranger Thing remixes, if you like mashups of cinematic soundscapes and chillwave remixes, this is the channel for you. Some of my favorites include:
|
||||
|
||||
- [Glocque - Slitted](lbry://rec-KFTZC3z4s-0)
|
||||
- [Nosaj Thing - Aquarium](lbry://rec-KKMHHwCwZLU)
|
||||
- [Max Richter - On The Nature Of Daylight (Euterpia Remix)](lbry://rec-7OG5Zb1s8Gc)
|
||||
- [Thomas Bergersen - Final Frontier](lbry://rec-wL1MDPW-HSk)
|
||||
|
||||
Check it out. Smash that Watch button. Listen to the illest (re)collection of sounds on LBRY.
|
||||
|
||||
**[Download LBRY today](https://lbry.io/get)**. Is your favorite channel not on LBRY? They’re eligible for $250 LBC. Help us feature what you want to see! Email reilly@lbry.io to make it happen. Or sync your own channel at: https://api.lbry.io/yt/connect
|
23
content/news/125-rerez.md
Normal file
23
content/news/125-rerez.md
Normal file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
author: reilly
|
||||
title: 'Game Smarter, Not Harder'
|
||||
date: '2017-08-10 00:21:00'
|
||||
cover: 'rerez-banner.PNG'
|
||||
---
|
||||
Hey, open beta made it to week TWO! More than seven days! So, let’s celebrate the same way we always do: more content.
|
||||
|
||||
There are *so many* shows out there about video games. Livestreams, nostalgia trips, novelties, reviews, gadgets–whatever the niche, the saturation of gaming content is persistent and relentless.
|
||||
|
||||
That’s why I’m a huge fan of this week’s show, because he consistently maintains what many lack: quality, authentic engagement of the subject. Months ago, he e-strolled into [our slack community](https://slack.lbry.io), ready to learn about LBRY. I present to you...
|
||||
|
||||

|
||||
|
||||
*(Haven’t grabbed the beta yet? Do it [here](https://lbry.io/get).)*
|
||||
|
||||
[@Rerez](https://dir.block.ng/%40Rerez) is without question the best video games-related channel on LBRY. Whether you like in-depth critical reviews of games and hardware, or exploring the weirdest depths of game novelty–and in fact if you like neither of those things!–he finds a way to make it interesting.
|
||||
|
||||
How do you make a [Playstation on Raspberry Pi](lbry://re-YzbCyOSJhho)? Is Superman 64 secretly [the greatest game](lbry://re-4EVL4u570T8) ever made?
|
||||
|
||||
Go to [lbry://@Rerez](https://dir.block.ng/%40Rerez) or check out the latest homepage update to find out.
|
||||
|
||||
**[Download LBRY today](https://lbry.io/get)**. Is your favorite channel not on LBRY? They’re eligible for $250 LBC. Help us feature what you want to see! Email reilly@lbry.io to make it happen. Or sync your own channel at: https://api.lbry.io/yt/connect
|
|
@ -4,7 +4,7 @@ title: RPI Hackers Meet LBRY (Notes and Slides from RCOS Presentation)
|
|||
date: '2015-11-17 01:29:07'
|
||||
---
|
||||
|
||||
Last Friday, we had the pleasure of presenting LBRY to [RCOS](http://rcos.rpi.edu/), the Rensselaer Center for Open Source Software. Jimmy was a member of this group when he attended RPI and I certainly would have if I known it had existed! In the years since I attended RPI it's grown from a handful of students to this:
|
||||
Last Friday, we had the pleasure of presenting LBRY to [RCOS](http://rcos.rpi.edu/), the Rensselaer Center for Open Source Software. Jimmy was a member of this group when he attended RPI and I certainly would have if I have known it had existed! In the years since I attended RPI it's grown from a handful of students to this:
|
||||
|
||||

|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ You’re probably familiar with *The Diary of Anne Frank*, also known as *The Di
|
|||
|
||||
Anne died in the Bergen-Belsen concentration camp in 1945 at the age of 15. Herein lies the roots of the copyright battle over her diary.
|
||||
|
||||
The Anne Frank Fonds now holds the copyright. The foundation was set up by Anne’s father, Otto Frank, before his death in 1980. Under the law, the diary should become public domain on January 1, 2016 – 70 years after Anne’s death. But Anne Frank Fonds now claims Otto was a coauthor, even though he was previously considered the “editor.” The foundation now insists Otto’s coauthorship extends the copyright to 2050 – 70 years after *his* death.
|
||||
The Anne Frank Fonds now holds the copyright. The foundation was set up by Anne’s father, Otto Frank, before his death in 1980. Under the law, the diary should become public domain on January 1, 2016 – 70 years after Anne’s death. But Anne Frank Fonds now claims Otto was a coauthor, even though he was previously considered the “editor.” The foundation now insists Otto’s co-authorship extends the copyright to 2050 – 70 years after *his* death.
|
||||
|
||||
Of course, Anne Frank Fonds stands to collect a significant amount of money in royalties over that time.
|
||||
|
||||
|
@ -31,7 +31,7 @@ An article on [BoingBoing](http://boingboing.net/2015/11/14/copyfraud-anne-frank
|
|||
|
||||
As Rick Falkvinge argues, these archaic copyright laws simply [don’t work in the Internet age](https://torrentfreak.com/anne-frank-scandal-an-underreported-copyright-monopoly-abuse-151115/):
|
||||
|
||||
> “The Internet is the single most important piece of infrastructure we have, and policymakers are letting an old printing monopoly decide how it can and cannot be used – which should be cause for revolts and uprisings. Instead, oldmedia are collectively treating it with a yawn, while tech writers who understand the issue are calling a spade a spade.”
|
||||
> “The Internet is the single most important piece of infrastructure we have, and policymakers are letting an old printing monopoly decide how it can and cannot be used – which should be cause for revolts and uprisings. Instead, old media are collectively treating it with a yawn, while tech writers who understand the issue are calling a spade a spade.”
|
||||
|
||||
|
||||
The real question is why should the distribution of Anne Frank’s diary be limited to one or two players in a monopoly system? If information were set free, you could access the diary in formats and with commentary limited only by our collective creativity.
|
||||
|
|
|
@ -10,7 +10,7 @@ Economist Alex Tabarrok has joined LBRY as the company’s Economic Advisor. Tab
|
|||
|
||||
<img src="https://lbry.io/img/team/alex-tabarrok-644x450.jpg" alt="Alex Tabarrok, Economic Advisor to LBRY">
|
||||
|
||||
LBRY is the first decentralized, open-source, encrypted content distribution service. It allows content producers to connect directly with consumers, bypassing middlemen like Netflix, iTunes, Amazon, and YouTube. LBRY addresses many of the flaws inherent in top-down, centralized content distribution systems, and could fundamentally alter they way we share media.
|
||||
LBRY is the first decentralized, open-source, encrypted content distribution service. It allows content producers to connect directly with consumers, bypassing middlemen like Netflix, iTunes, Amazon, and YouTube. LBRY addresses many of the flaws inherent in top-down, centralized content distribution systems, and could fundamentally alter the way we share media.
|
||||
|
||||
“LBRY is designing the rules for a new global market that will let suppliers and demanders of information trade more easily, quickly and securely than ever before,” Tabarrok said. “As an economist, the opportunity to help engineer an open, decentralized, incentive-compatible institution with global reach is thrilling!”
|
||||
|
||||
|
@ -20,4 +20,4 @@ Tabarrok’s deep understanding of how markets function, and his ability to appl
|
|||
|
||||
>"Markets were operating for thousands of years before their principles were well understood. Today, we are using those principles to code new markets with the potential to unlock vast sources of wealth."
|
||||
|
||||
Interested in speaking with Tabarrok for a news or tech publication? <a href="mailto:mike@lbry.io">Please email Mike Vine</a>, LBRY's Technology Evangelist, to schedule an interview.
|
||||
Interested in speaking with Tabarrok for a news or tech publication? <a href="mailto:mike@lbry.io">Please email Mike Vine</a>, LBRY's Technology Evangelist, to schedule an interview.
|
||||
|
|
|
@ -6,8 +6,8 @@ date: '2015-12-09 16:38:00'
|
|||
|
||||
Still trying to wrap your head around LBRY? Mike Vine, our Technology Evangelist, explained the nuts and bolt in this interview with Albert K. Lu on *The Power & Market Report*. Vine emphasized that LBRY's vision is to create a decentralized standard for sharing content in an increasingly centralized Internet:
|
||||
|
||||
> "One of the key pieces of what I'm calling 'web 3.0' – this new, completely decentralized Internet that runs on blockchains – is that in the world we live in, unfortunately, centralization presents certain risks that are just unavoidable. You can have the most benevolent company in the world, but if a government comes knocking and says, 'You need to take down that content or we're going to shutdown your bank account,' or 'You need to stop accepting bitcoin or we're going to put you out of business,' [the company will] generally make the rational choice to continue on and deal with that. But that makes us all vulnerable."
|
||||
> "One of the key pieces of what I'm calling 'web 3.0' – this new, completely decentralized Internet that runs on blockchains – is that in the world we live in, unfortunately, centralization presents certain risks that are just unavoidable. You can have the most benevolent company in the world, but if a government comes knocking and says, 'You need to take down that content or we're going to shut down your bank account,' or 'You need to stop accepting bitcoin or we're going to put you out of business,' [the company will] generally make the rational choice to continue on and deal with that. But that makes us all vulnerable."
|
||||
|
||||
<p style="text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/u-03CWZeLpc?rel=0" frameborder="0" allowfullscreen></iframe></p>
|
||||
|
||||
**Are you excited about LBRY? Do you want to get involved in building the Internet of the future? Become an alpha tester today and earn 1000 LBRY credits – [sign up here](https://lbry.io/get).**
|
||||
**Are you excited about LBRY? Do you want to get involved in building the Internet of the future? Become an alpha tester today and earn 1000 LBRY credits – [sign up here](https://lbry.io/get).**
|
||||
|
|
|
@ -14,7 +14,7 @@ But to the point. [BraveNewCoin published the first side-by-side comparison of L
|
|||
|
||||
>"Perhaps the most interesting difference is the naming system, which works a lot like the internet's Domain Naming System (DNS).
|
||||
|
||||
>"LBRYIn much the same way you would register a domain name for your website that starts with an 'http://', in LBRY, you would register a name for each piece of content that you want to share, and those start with 'lbry://'.
|
||||
>"LBRY in much the same way you would register a domain name for your website that starts with an 'http://', in LBRY, you would register a name for each piece of content that you want to share, and those start with 'lbry://'.
|
||||
|
||||
>"The idea is that web browsers will eventually read those links automatically, so that you can simply click on an URL like 'lbry://wonderfullife' in order to watch the movie 'It's a wonderful life.'"
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ The case involved big booms, YouTube videos, and overzealous prosecutors. He fac
|
|||
|
||||
That experience pretty much nixed Jack’s passion for explosives. As he put it, "I pretty thoroughly lost interest after they indicted me.” So he redirected his focus into other areas of chemistry, specifically designing compounds for medical use.
|
||||
|
||||
This might sound like a wild story, but it’s actually more common than you’d think. [Peter Thiel revealed in his book](http://valleywag.gawker.com/peter-thiel-admits-the-paypal-mafia-built-bombs-in-hi-1632734435) that several of the co-founders of Paypal built explosives in high school. It’s not that tech companies look to hire firecrackers. It’s just that people who disrupt industries have to be willing to take risks in the name of creating something cool. Jack has just that mentality.
|
||||
This might sound like a wild story, but it’s actually more common than you’d think. [Peter Thiel revealed in his book](http://valleywag.gawker.com/peter-thiel-admits-the-paypal-mafia-built-bombs-in-hi-1632734435) that several of the co-founders of PayPal built explosives in high school. It’s not that tech companies look to hire firecrackers. It’s just that people who disrupt industries have to be willing to take risks in the name of creating something cool. Jack has just that mentality.
|
||||
|
||||
We’ve seen him hone various aspects of our nascent protocol with a laser-like focus. This is common for people on the autism spectrum, which Jack discovered of himself after his indictment. In fact, his atypical mind may have blinded him to the possibility that his explosions were anything more than the ambitious chemistry experiments he saw.
|
||||
|
||||
|
@ -32,4 +32,4 @@ LBRY co-founder Jeremy Kauffman is thrilled to be working with Robison:
|
|||
|
||||
> “Jack is one of the sharpest and most creative minds I’ve ever met. It’s surreal to think that mind could have gone to waste if things had gone a little differently. We’re all very glad we’re in the universe where Jack did not go jail, and I'm personally excited to have such an innovative mind working on LBRY.”
|
||||
|
||||
Jack jumped into LBRY with both feet and we quickly discovered he is an amazingly fast learner. His sharp mind and astute problem solving skills are quickly turning Jack into a leader on the LBRY team.
|
||||
Jack jumped into LBRY with both feet and we quickly discovered he is an amazingly fast learner. His sharp mind and astute problem solving skills are quickly turning Jack into a leader on the LBRY team.
|
||||
|
|
|
@ -10,7 +10,7 @@ You walk into a Barnes and Noble, pick up a copy of *[Look Me in the Eye](http:/
|
|||
|
||||
This is pretty straightforward and doesn’t violate most people’s understanding of copyright and ownership. But let's say you skipped the Barnes and Noble and instead went to Walmart to buy a Sony PS3. Is it any different? Actually it is.
|
||||
|
||||
When the PS3 was released, many tech enthusiasts were eager to buy such a powerful computer for such a low price, despite it masquerading as a gaming machine. They would install linux on their PS3 and use it as a desktop computer. To their dismay, Sony responded with lawsuits claiming copyright violation. Under the Digital Millennium Copyright Act (DMCA), corporations have gained sweeping powers to effectively retain ownership even after the item has been sold. Apple has given the same treatment to iPhone owners who have had the audacity to try to install software that Apple hasn’t personally signed off on, i.e. iPhone owners who “jailbreak” their phones.
|
||||
When the PS3 was released, many tech enthusiasts were eager to buy such a powerful computer for such a low price, despite it masquerading as a gaming machine. They would install Linux on their PS3 and use it as a desktop computer. To their dismay, Sony responded with lawsuits claiming copyright violation. Under the Digital Millennium Copyright Act (DMCA), corporations have gained sweeping powers to effectively retain ownership even after the item has been sold. Apple has given the same treatment to iPhone owners who have had the audacity to try to install software that Apple hasn’t personally signed off on, i.e. iPhone owners who “jailbreak” their phones.
|
||||
|
||||
Copyright has gone far beyond its original intent and beyond how most people understand it to work. Instead of being used to prevent copying, it is now also used to prevent modification – even if there is no commercial angle to the modification and the only purpose is better satisfying the desires of the owner. Maybe taking notes in the margin of your favorite book isn’t so clearly legal after all; the fact that such an argument could be made demonstrates the ridiculousness of the DMCA and how it hurts customers.
|
||||
|
||||
|
@ -20,4 +20,4 @@ So what pushed the government to do this? In large part it was the recent Volksw
|
|||
|
||||
Researchers of both the academic and DIY types steer clear of looking for such problems, because by finding them they may violate the DMCA and come under legal pressure. That means the only major efforts to root out security vulnerabilities and misrepresentations are under the table, and the hackers doing such work don’t tend to have the good of the public in mind.
|
||||
|
||||
The new DMCA exemption is a great start, but in the grand scheme it is a mere baby step. The DMCA prevents you from having products you can trust. It is also quite telling of how corporations view their customers when they pursue unpaid volunteers trying to fix product mistakes. You’d think they’d be happy such people are out there. To be sure, some corporations appreciate these types of customers – but the good guys don’t have the same lobbying power. That’s because DMCA supporters view their customers as their own assets, as subjects who are only allowed to play with the toys they’ve bought within the officially sanctioned sandbox. I hope the trend reverses, but to get there we’re going to need to expose deception, negligence, or the more benign incompetence in far more areas than the automotive industry alone.
|
||||
The new DMCA exemption is a great start, but in the grand scheme it is a mere baby step. The DMCA prevents you from having products you can trust. It is also quite telling of how corporations view their customers when they pursue unpaid volunteers trying to fix product mistakes. You’d think they’d be happy such people are out there. To be sure, some corporations appreciate these types of customers – but the good guys don’t have the same lobbying power. That’s because DMCA supporters view their customers as their own assets, as subjects who are only allowed to play with the toys they’ve bought within the officially sanctioned sandbox. I hope the trend reverses, but to get there we’re going to need to expose deception, negligence, or the more benign incompetence in far more areas than the automotive industry alone.
|
||||
|
|
|
@ -42,4 +42,4 @@ Bitcoin was created as a grand experiment to demonstrate blockchain technology a
|
|||
|
||||
Converting from fiat money to cryptocash is hard. But converting between cryptos is super-easy, especially since the launch of [ShapeShift.io](http://www.shapeshift.io/). So LBRYians can earn LBC and quickly convert it to BTC to save or spend. And Bitcoiners can easily convert a bit of their holdings to LBC to get great content on the LBRY network.
|
||||
|
||||
One of our key goals is for LBRY/LBC to be easy to access for everyday people. Initially, users will get some just for downloading the app. And anyone will always be able to earn LBC by offering some of their disk space to store encrypted file slices for the LBRY network. Because it won't involved linking bank accounts to exchanges or even converting any of their precious fiat, we hope LBC will serve as an easy entry point for John Q. Public into the world of cryptocurrency. They might not even realize at first that's what they're using!
|
||||
One of our key goals is for LBRY/LBC to be easy to access for everyday people. Initially, users will get some just for downloading the app. And anyone will always be able to earn LBC by offering some of their disk space to store encrypted file slices for the LBRY network. Because it won't involve linking bank accounts to exchanges or even converting any of their precious fiat, we hope LBC will serve as an easy entry point for John Q. Public into the world of cryptocurrency. They might not even realize at first that's what they're using!
|
||||
|
|
|
@ -22,11 +22,11 @@ Nina argues that current intellectual property laws serve as a roadblock to the
|
|||
|
||||
Nina is talking about gatekeepers. They are primarily big corporations that dictate what information can flow to the public and what can’t.
|
||||
|
||||
Nina produced a feature film titled *Sita Sings the Blues*. In the film, she used music from the 1920s by a singer named Annette Hanshaw. The songs should have been in the public domain years ago, but they weren’t due to retroactive copyright extension. As Nina began navigating through the system trying to secure permission to use the music, she learned first hand the power of the gatekeepers:
|
||||
Nina produced a feature film titled *Sita Sings the Blues*. In the film, she used music from the 1920s by a singer named Annette Hanshaw. The songs should have been in the public domain years ago, but they weren’t due to retroactive copyright extension. As Nina began navigating through the system trying to secure permission to use the music, she learned firsthand the power of the gatekeepers:
|
||||
|
||||
>“The kept telling me, ‘Yes It’s annoying, but the same system is protecting your intellectual property’ ... But found copyright holders weren’t getting more money because of the copyright. What they were getting is the power to suppress art – to suppress communication.”
|
||||
>“They kept telling me, ‘Yes It’s annoying, but the same system is protecting your intellectual property’ ... But found copyright holders weren’t getting more money because of the copyright. What they were getting is the power to suppress art – to suppress communication.”
|
||||
|
||||
Ultimately, the system doesn’t benefit the artists, it doesn’t benefit the actual art in question, and it doesn’t benefit the public. It benefits the big corporations that hold the rights. As an artist, Nina experienced first hand how the system blocks the free flow of ideas:
|
||||
Ultimately, the system doesn’t benefit the artists, it doesn’t benefit the actual art in question, and it doesn’t benefit the public. It benefits the big corporations that hold the rights. As an artist, Nina experienced firsthand how the system blocks the free flow of ideas:
|
||||
|
||||
>“What copyright was doing was blocking the circulation of my comics, which is probably why most of you haven’t seen my comics.”
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ The website allows artists to chose the way they distribute their music, from fr
|
|||
|
||||
This is a huge step forward for independent artists who struggle to find space or make any money on large centralized content distribution sites like Amazon or iTunes. These [information gatekeepers](https://lbry.io/news/information-gatekeepers-make-our-culture-sick) squeeze out indy artists. Bandcamp creates an alternative that offers indy musicians more control and more revenue.
|
||||
|
||||
But it still comes at a price for the artist. Bandcamp takes a 15% cut on digital digital downloads. Bandcamp’s take drops to 10% after $5,000 in annual sales.
|
||||
But it still comes at a price for the artist. Bandcamp takes a 15% cut on digital downloads. Bandcamp’s take drops to 10% after $5,000 in annual sales.
|
||||
|
||||
Now imagine artists connecting directly with their fans like they can now do on Bandcamp, but without having to give up a huge cut of their earnings. That would be even better, right?
|
||||
|
||||
|
|
|
@ -31,4 +31,4 @@ Luckily for James, he was able to get his files back from a backup. But his expe
|
|||
|
||||
LBRY eliminates that problem completely by cutting the iTunes of the world out of the equation altogether. Instead of relying on a middleman, content creators like musicians and filmmakers can connect directly to content consumers. Once you pay for the file, it’s yours. LBRY doesn’t maintain control over it and serve it to you on its own terms. You listen to your music, or watch your movie, whenever you want based on your direct relationship with the producer.
|
||||
|
||||
Short-sighted middlemen add additional cost and hassle to the user experience in the name of customer lock-in and boosting profits. That's why we are building a content marketplace that no one company controls. You have enough enough frustration in your life without paying iTunes for more.
|
||||
Short-sighted middlemen add additional cost and hassle to the user experience in the name of customer lock-in and boosting profits. That's why we are building a content marketplace that no one company controls. You have enough frustration in your life without paying iTunes for more.
|
||||
|
|
|
@ -12,7 +12,7 @@ Grin has been named LBRY’s *Chief Infrastructure Officer*, but *Wizard* is pro
|
|||
|
||||
With degrees in computer science and psychology from Rensselaer Polytechnic Institute, Grin has a unique ability to understand and apply new technologies. He also brings plenty of business knowledge to the table, with six years of experience running startup tech companies. Add to all of that his ultimate-frisbee skills – he played for a national-caliber team for seven years and professionally for the Philly Spinners – and you can see why we’ve dubbed him the Wizard.
|
||||
|
||||
After he graduated from RPI, Grin spent a year doing cognitive research for the US Navy at the the Naval Undersea Warfare Center in Newport, RI. That was as long as it took for him to realize government work wasn’t for him.
|
||||
After he graduated from RPI, Grin spent a year doing cognitive research for the US Navy at the Naval Undersea Warfare Center in Newport, RI. That was as long as it took for him to realize government work wasn’t for him.
|
||||
|
||||
>“The bureaucracy and boredom were unbearable.”
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ You get paid monthly $33 VEF (Venezuelan bolivars), which is on average $1.10 US
|
|||
|
||||
In order to be able to buy some food, you must stand in long lines at the supermarkets for hours (4 on average) under a hot, 40°C sunny day.
|
||||
|
||||
You must struggle against insecurity. In these lines people get killed by the hands of their fellow citizens. Under anguish and despair they just fall to madness, because these foods are sold on the black market for 4 times their price. Not to mention the constant threat of motorized criminals that even for an smart phone may take your life.
|
||||
You must struggle against insecurity. In these lines people get killed by the hands of their fellow citizens. Under anguish and despair they just fall to madness, because these foods are sold on the black market for 4 times their price. Not to mention the constant threat of motorized criminals that even for a smartphone may take your life.
|
||||
|
||||
Getting medicines is not easy. Old people die for lack of medicines to treat high tension and cholesterol. Even a painkiller is something that you will rarely see in a pharmacy.
|
||||
|
||||
|
|
|
@ -26,6 +26,6 @@ A whole ‘nother brand of Los Angeles comedy, Charney specializes in the art of
|
|||
|
||||
- *[Lenders’ Den (Shark Tank)](lbry://LendersDen)* – America's most addicting reality sensation is back and BIGGER THAN EVER!
|
||||
- *[Moneyweasel (Moneyball)](lbry://moneyweasel)* – The Los Angeles Snards have a new backdoorsman in left shield, in this recreation of the scene from Moneyball wherein no one still knows what was said.
|
||||
- *[Loose Cannon (Resevoir Dogs)](lbry://LooseCannon)* – One last job, just like old times. Then they're on the next flight to Bora-Bora. ;^)
|
||||
- *[Loose Cannon (Reservoir Dogs)](lbry://LooseCannon)* – One last job, just like old times. Then they're on the next flight to Bora-Bora. ;^)
|
||||
|
||||
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Just can’t wait? If you’re a creator – filmmaker, musician, artist, writer – you can skip our waiting list line for a chance to earn $1,000 in LBRY Credits at the same time. [Learn more here](https://lbry.io/publish).
|
||||
|
|
|
@ -12,7 +12,7 @@ It’s amazing to watch full resolution films with no ads on LBRY, but the proto
|
|||
|
||||
The true treat of LBRY is finding brilliant gems from corners of the globe, like master Spanish vocalist Joaquín Pixán.
|
||||
|
||||
> "...The special qualities of our singer’s voice, the attractive colour of his timbre, adapt wonderfully to the texts and notes and in particular seem tailor-made to bring out the passages which hint at or openly display a Spanishness of the greatest pedigree; a forthrightness even verging on the rustic or even a refined degree of stylisation of the popular Spanish copla."
|
||||
> "...The special qualities of our singer’s voice, the attractive color of his timbre, adapt wonderfully to the texts and notes and in particular seem tailor-made to bring out the passages which hint at or openly display a Spanishness of the greatest pedigree; a forthrightness even verging on the rustic or even a refined degree of stylization of the popular Spanish copla."
|
||||
**– Arturo Reverter**
|
||||
|
||||
His live performances and catalog of studio recordings will keep you coming back again and again. Search “joaquin pixan” for his all-time greats. And then mix it up a bit with...
|
||||
|
|
|
@ -10,7 +10,7 @@ We’re starting that trend this week with [Character Design Forge, AKA Brookes
|
|||
|
||||

|
||||
|
||||
>”Characters aren’t just meant to sell people on an idea. Characters are vessels for feelings and personalities, that can connect to your audience. With a well designed character, our brains don’t really understand them to be artificial.” **- Brookes Eggleston**
|
||||
>”Characters aren’t just meant to sell people on an idea. Characters are vessels for feelings and personalities that can connect to your audience. With a well designed character, our brains don’t really understand them to be artificial.” **- Brookes Eggleston**
|
||||
|
||||
The best place to start is *[5 Tips for Better Drawing](lbry://drawbetter)*.
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ date: '2016-10-10 00:06:18'
|
|||
---
|
||||
LBRY’s main app developer calls himself “easily the least interesting person on the team.”
|
||||
|
||||
That actually speaks to just how interesting the LBRY team is. Or maybe to Alex Liebowitz’s sense of modesty. The fact is, Alex is a pretty interesting guy in his own right. He’s been on the team for a few months now, and it’s high time we introduced him.
|
||||
That actually speaks to just how interesting the LBRY team is. Or maybe to Alex Liebowitz’ sense of modesty. The fact is, Alex is a pretty interesting guy in his own right. He’s been on the team for a few months now, and it’s high time we introduced him.
|
||||
|
||||

|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ title: 'Open Beta? New Features? Keep Your Eye on the LBRY Roadmap'
|
|||
date: '2016-10-17 00:06:18'
|
||||
cover: 'lbry-3d-1000.png'
|
||||
---
|
||||
LBRY is working hard to improve our communication with the public. While the vast majority of our time is put into building LBRY, we want to remain transparent and do more to keep those interested informed. In the past couple months, we have :
|
||||
LBRY is working hard to improve our communication with the public. While the vast majority of our time is put into building LBRY, we want to remain transparent and do more to keep those interested informed. In the past couple months, we have:
|
||||
|
||||
- Published our [Credit Policy and second quarterly report](https://lbry.io/news/credit-policy-third-quarter-report).
|
||||
- Dramatically expanded our [FAQ](https://lbry.io/faq). See [this post](https://lbry.io/news/reddit-ama-answers) and [this one](https://lbry.io/news/what-makes-lbry-different) for the latest additions.
|
||||
|
|
|
@ -10,7 +10,7 @@ It's a classic indie comedy double feature that’s actually funny. If you haven
|
|||
|
||||

|
||||
|
||||
[*S&M Lawn Care*](lbry://smlawncare) has a ridiculous yet effective premise: two local lawnmowers have their neighborhood business displaced by a chiselled-jaw competitor and his band of hot lawnmowing babes.
|
||||
[*S&M Lawn Care*](lbry://smlawncare) has a ridiculous yet effective premise: two local lawnmowers have their neighborhood business displaced by a chiseled-jaw competitor and his band of hot lawn-mowing babes.
|
||||
|
||||
It won the Special Jury Prize in 2010 at the legendary Friar’s Club in New York. On the heels of success, director Mark Potts immediately went into production on his next film...
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ It was once censored on YouTube by Hollywood studios by way of bogus takedown cl
|
|||
|
||||

|
||||
|
||||
This is arguably one of the most important documentaries in recent memory (and a personal favorite of mine). The late Aaron Swartz, co-founder of reddit, took his life in the wake of impending legal doom. Director Brian Knappenberger went to extraordinary lengths to tell Aaron’s story.
|
||||
This is arguably one of the most important documentaries in recent memory (and a personal favorite of mine). The late Aaron Swartz, co-founder of Reddit, took his life in the wake of impending legal doom. Director Brian Knappenberger went to extraordinary lengths to tell Aaron’s story.
|
||||
|
||||
[*The Internet’s Own Boy*](lbry://theinternetsownboy) premiered at Sundance in 2014, SXSW, and was shortlisted for the Academy Awards for Best Documentary Film.
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ To make a few points extraordinarily clear:
|
|||
- We will not speculate about the price of LBC. If you ask us, we'll probably link you here.
|
||||
- We will focus exclusively on how we can generate real value for our users by creating a service that improves their lives.
|
||||
|
||||
These statements go for both LBRY, Inc. and it's employees' independent actions.
|
||||
These statements go for both LBRY, Inc. and its employees' independent actions.
|
||||
|
||||
### What To Do With Your LBC
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ Stefan Molyneux’s Freedomain Radio has grown from a part-time podcast to a ful
|
|||

|
||||
**The Schiff Report**
|
||||
|
||||
Known for his [bold predictions](https://www.youtube.com/watch?v=LfascZSTU4o) of the 2008 financial crisis coming true and subsequent market corrections – CNBC even [admitted it after the fact!](https://www.youtube.com/watch?v=5sie11QXI_Q) – Peter Schiff is a successful financial advisor and radio host outside the traditional Wall Street beltway. Author of several books, including my personal favorite, “The Little Book of Bull Moves in Bear Markets,” his financial opines will seldom tow the party line.
|
||||
Known for his [bold predictions](https://www.youtube.com/watch?v=LfascZSTU4o) of the 2008 financial crisis coming true and subsequent market corrections – CNBC even [admitted it after the fact!](https://www.youtube.com/watch?v=5sie11QXI_Q) – Peter Schiff is a successful financial advisor and radio host outside the traditional Wall Street beltway. Author of several books, including my personal favorite, “The Little Book of Bull Moves in Bear Markets”, his financial opines will seldom tow the party line.
|
||||
|
||||
**After the brain food, cozy up with the LBRY film playlist during the holidays!**
|
||||
- [*Jingle Bell Rocks!*](lbry://jinglebellrocks)
|
||||
|
|
|
@ -20,7 +20,7 @@ Both Chris and Trevon were LBRY early adopters. It’s still pretty early; you o
|
|||
|
||||
Sync your YouTube channel today with this handy tool: https://lbry.io/youtube
|
||||
|
||||
**Check out the the LBRY film playlist**
|
||||
**Check out the LBRY film playlist**
|
||||
- [*Coherence*](lbry://coherence)
|
||||
- [*It’s A Disaster*](lbry://itsadisaster)
|
||||
- [*Bellflower*](lbry://bellfower)
|
||||
|
|
|
@ -18,7 +18,7 @@ Today, America is the world leader in information technology. It comprises over
|
|||
|
||||
Currently, New Hampshire has the highest per-capita virtual currency usage of any state in America. States like New York have chosen to enforce burdensome rules regarding virtual currencies, and several companies have moved or closed.
|
||||
|
||||
I would urge New Hampshire to take a different path. lt is well-poised to be a leader of this industry -- so long as it encourages, rather than encumbers, the ability to do business here.
|
||||
I would urge New Hampshire to take a different path. It is well-poised to be a leader of this industry -- so long as it encourages, rather than encumbers, the ability to do business here.
|
||||
|
||||
Enacting this legislation would send a signal flare to the entire technology industry that New Hampshire is the best place in the world to work on blockchain technology.
|
||||
|
||||
|
|
|
@ -11,6 +11,6 @@ While states like Hawaii are passing bills [so onerous](http://www.coindesk.com/
|
|||
|
||||
LBRY is thrilled to have been a part of this process. As the governor-appointed industry expert on virtual currencies, I'm glad I finally had the chance to give back to a technology that has given so much to me.
|
||||
|
||||
However, most of the credit goes to Represenatives [Barbara Biggie](http://www.gencourt.state.nh.us/house/members/member.aspx?member=377207) and [Keith Ammon](http://www.gencourt.state.nh.us/house/members/member.aspx?member=377204), who introduced the bill, as well as Representative [John Hunt](http://www.gencourt.state.nh.us/house/members/member.aspx?member=372375), who helped steer it out of committee and defended it on the floor. Additionally, the [Chamber of Digital Commerce](https://digitalchamber.org/) gave us invaluable advice and advocated heavily on behalf of the bill.
|
||||
However, most of the credit goes to Representatives [Barbara Biggie](http://www.gencourt.state.nh.us/house/members/member.aspx?member=377207) and [Keith Ammon](http://www.gencourt.state.nh.us/house/members/member.aspx?member=377204), who introduced the bill, as well as Representative [John Hunt](http://www.gencourt.state.nh.us/house/members/member.aspx?member=372375), who helped steer it out of committee and defended it on the floor. Additionally, the [Chamber of Digital Commerce](https://digitalchamber.org/) gave us invaluable advice and advocated heavily on behalf of the bill.
|
||||
|
||||
The battle is not over! If you support this effort, please [let the governor know](https://www.governor.nh.gov/contact/index.htm) and give thanks to the hard work of those mentioned above.
|
||||
|
|
|
@ -20,6 +20,6 @@ From 16bit “boobs” measuring a hefty 3 pixels bra size, to the hot coffee mo
|
|||
|
||||
Free your voice while being delightfully entertaining. Censored Gaming and LBRY are a match made in 1st Amendment heaven.
|
||||
|
||||
Suppport Censored Gaming on Pateron right here: https://www.patreon.com/CensoredGaming
|
||||
Support Censored Gaming on Patreon right here: https://www.patreon.com/CensoredGaming
|
||||
|
||||
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Feeling censored and want to stretch your expression a bit more? Email reilly@lbry.io for a ride on the wild side of publishing.
|
||||
|
|
|
@ -112,17 +112,22 @@ class Controller
|
|||
$router->post('/set-culture', 'i18nActions::setCulture');
|
||||
|
||||
$permanentRedirects = [
|
||||
'/lbry-osx-latest.dmg' => '/get',
|
||||
'/lbry-linux-latest.deb' => '/get',
|
||||
'/dl/lbry_setup.sh' => '/get',
|
||||
'/art' => '/what',
|
||||
'/why' => '/learn',
|
||||
'/feedback' => '/learn',
|
||||
'/faq/when-referral-payouts' => '/faq/referrals',
|
||||
'/faq/why-care-about-lbry' => '/get',
|
||||
'/news/meet-the-lbry-founders' => '/team',
|
||||
'/faq/no-auction-options' => '/faq/naming',
|
||||
'/join-list' => '/list/subscribe',
|
||||
'/lbry-osx-latest.dmg' => '/get',
|
||||
'/lbry-linux-latest.deb' => '/get',
|
||||
'/dl/lbry_setup.sh' => '/get',
|
||||
'/art' => '/what',
|
||||
'/why' => '/learn',
|
||||
'/feedback' => '/learn',
|
||||
'/faq/when-referral-payouts' => '/faq/referrals',
|
||||
'/faq/why-care-about-lbry' => '/get',
|
||||
'/news/meet-the-lbry-founders' => '/team',
|
||||
'/faq/no-auction-options' => '/faq/naming',
|
||||
'/join-list' => '/list/subscribe',
|
||||
'/publish' => '/youtube',
|
||||
'/faq/quarterly-report-july-2016' => '/credit-reports/2016-Q2',
|
||||
'/faq/quarterly-report-3q-2016' => '/credit-reports/2016-Q3',
|
||||
'/faq/Q4-credit-report' => '/credit-reports/2016-Q4',
|
||||
'/faq/Q1-17-CreditReport' => '/credit-reports/2017-Q1',
|
||||
];
|
||||
|
||||
$tempRedirects = [
|
||||
|
@ -154,6 +159,9 @@ class Controller
|
|||
$router->get([ContentActions::URL_FAQ . '/{slug:c}?', 'faq'], 'ContentActions::executeFaq');
|
||||
$router->get([ContentActions::URL_BOUNTY . '/{slug:c}?', 'bounty'], 'ContentActions::executeBounty');
|
||||
$router->get([ContentActions::URL_PRESS . '/{slug:c}', 'press'], 'ContentActions::executePress');
|
||||
// $router->get([ContentActions::URL_CREDIT_REPORTS . '/{slug:c}?', 'faq'], 'ContentActions::executeFaq');
|
||||
$router->get(ContentActions::URL_CREDIT_REPORTS, 'ContentActions::executeCreditReports');
|
||||
$router->get([ContentActions::URL_CREDIT_REPORTS . '/{year:c}-q{quarter:c}', ContentActions::URL_CREDIT_REPORTS . '/{year:c}-Q{quarter:c}'], 'ContentActions::executeCreditReport');
|
||||
|
||||
$router->any(['/signup{whatever}?', 'signup'], 'DownloadActions::executeSignup');
|
||||
|
||||
|
|
|
@ -4,8 +4,6 @@ class Session
|
|||
{
|
||||
const KEY_DOWNLOAD_ACCESS_ERROR = 'download_error2',
|
||||
KEY_DOWNLOAD_ALLOWED = 'beta_download_allowed2',
|
||||
KEY_PREFINERY_USER_ID = 'prefinery_user_id',
|
||||
KEY_PREFINER_USED_CUSTOM_CODE = 'prefinery_used_custom_code',
|
||||
KEY_DEVELOPER_LAST_FORM = 'developer_last_form',
|
||||
KEY_DEVELOPER_CREDITS_ERROR = 'developer_credits_error',
|
||||
KEY_DEVELOPER_CREDITS_WALLET_ADDRESS = 'developer_credits_wallet_address',
|
||||
|
|
|
@ -8,18 +8,21 @@ class ContentActions extends Actions
|
|||
SLUG_FAQ = 'faq',
|
||||
SLUG_PRESS = 'press',
|
||||
SLUG_BOUNTY = 'bounty',
|
||||
SLUG_CREDIT_REPORTS = 'credit-reports',
|
||||
|
||||
URL_NEWS = '/' . self::SLUG_NEWS,
|
||||
URL_FAQ = '/' . self::SLUG_FAQ,
|
||||
URL_PRESS = '/' . self::SLUG_PRESS,
|
||||
URL_BOUNTY = '/' . self::SLUG_BOUNTY,
|
||||
URL_CREDIT_REPORTS = '/' . self::SLUG_CREDIT_REPORTS,
|
||||
|
||||
CONTENT_DIR = ROOT_DIR . '/content',
|
||||
|
||||
VIEW_FOLDER_NEWS = self::CONTENT_DIR . '/' . self::SLUG_NEWS,
|
||||
VIEW_FOLDER_FAQ = self::CONTENT_DIR . '/' . self::SLUG_FAQ,
|
||||
VIEW_FOLDER_BOUNTY = self::CONTENT_DIR . '/' . self::SLUG_BOUNTY,
|
||||
VIEW_FOLDER_PRESS = self::CONTENT_DIR . '/' . self::SLUG_PRESS;
|
||||
VIEW_FOLDER_PRESS = self::CONTENT_DIR . '/' . self::SLUG_PRESS,
|
||||
VIEW_FOLDER_CREDIT_REPORTS = self::CONTENT_DIR . '/' . self::SLUG_CREDIT_REPORTS;
|
||||
|
||||
public static function executeHome(): array
|
||||
{
|
||||
|
@ -85,9 +88,9 @@ class ContentActions extends Actions
|
|||
'LBRY 101' => 'Intro to LBRY',
|
||||
'getstarted' => 'Getting Started',
|
||||
'setup' => 'Installing and Running LBRY',
|
||||
'troubleshooting' => 'Help and Troubleshooting',
|
||||
'wallet' => 'The LBRY Wallet',
|
||||
'mining' => 'Mining LBC',
|
||||
'policy' => 'Policies',
|
||||
'developer' => 'Developers',
|
||||
'differences' => 'What Makes LBRY Different?',
|
||||
'other' => 'Other Questions',
|
||||
|
@ -125,6 +128,38 @@ class ContentActions extends Actions
|
|||
return ['content/faq-post', ['post' => $post]];
|
||||
}
|
||||
|
||||
|
||||
public static function executeCreditReports(string $year = null, string $month = null): array
|
||||
{
|
||||
Response::enableHttpCache();
|
||||
|
||||
$posts = Post::find(static::VIEW_FOLDER_CREDIT_REPORTS);
|
||||
|
||||
return ['content/credit-reports', [
|
||||
'posts' => $posts
|
||||
]];
|
||||
}
|
||||
|
||||
public static function executeCreditReport(string $year = null, string $quarter = null): array
|
||||
{
|
||||
|
||||
Response::enableHttpCache();
|
||||
|
||||
try
|
||||
{
|
||||
$post = Post::load(static::SLUG_CREDIT_REPORTS . '/' . $year . '-Q' . $quarter);
|
||||
}
|
||||
catch (PostNotFoundException $e)
|
||||
{
|
||||
return Controller::redirect('/' . static::SLUG_CREDIT_REPORTS);
|
||||
}
|
||||
$metadata = $post->getMetadata();
|
||||
return ['content/credit-report', [
|
||||
'post' => $post,
|
||||
'sheetUrl' => $metadata['sheet']
|
||||
]];
|
||||
}
|
||||
|
||||
public static function executePress(string $slug = null): array
|
||||
{
|
||||
Response::enableHttpCache();
|
||||
|
|
|
@ -28,58 +28,16 @@ class DownloadActions extends Actions
|
|||
|
||||
public static function executeGet()
|
||||
{
|
||||
$email = static::getEmailParam();
|
||||
$user = [];
|
||||
|
||||
if ($email)
|
||||
{
|
||||
if (filter_var($email, FILTER_VALIDATE_EMAIL))
|
||||
{
|
||||
$user = Prefinery::findUser($email);
|
||||
}
|
||||
|
||||
if (!$user)
|
||||
{
|
||||
Session::unsetKey(Session::KEY_PREFINERY_USER_ID);
|
||||
Session::unsetKey(Session::KEY_DOWNLOAD_ALLOWED);
|
||||
}
|
||||
}
|
||||
elseif (Session::get(Session::KEY_PREFINERY_USER_ID))
|
||||
{
|
||||
try
|
||||
{
|
||||
$user = Prefinery::findUser(Session::get(Session::KEY_PREFINERY_USER_ID));
|
||||
}
|
||||
catch (PrefineryException $e)
|
||||
{
|
||||
if (stripos($e->getMessage(), 'Tester is hidden.') === false)
|
||||
{
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($user)
|
||||
{
|
||||
static::setSessionVarsForPrefineryUser($user);
|
||||
}
|
||||
|
||||
if (!Session::get(Session::KEY_DOWNLOAD_ALLOWED))
|
||||
{
|
||||
return ['download/get'];
|
||||
}
|
||||
|
||||
$osChoices = OS::getAll();
|
||||
$os = static::guessOs();
|
||||
|
||||
if ($os && isset($osChoices[$os]))
|
||||
{
|
||||
list($uri, $osTitle, $osIcon, $partial) = $osChoices[$os];
|
||||
return ['download/getAllowed', [
|
||||
return ['download/get', [
|
||||
'os' => $os,
|
||||
'osTitle' => $osTitle,
|
||||
'osIcon' => $osIcon,
|
||||
'prefineryUser' => $user ?: [],
|
||||
'downloadHtml' => View::exists('download/' . $partial) ?
|
||||
View::render('download/' . $partial, ['downloadUrl' => Github::getAppDownloadUrl($os)]) :
|
||||
false
|
||||
|
@ -93,7 +51,6 @@ class DownloadActions extends Actions
|
|||
public static function executeSignup()
|
||||
{
|
||||
$email = Request::getParam('email');
|
||||
$code = Request::getParam('code');
|
||||
|
||||
if (!$email || !filter_var($email, FILTER_VALIDATE_EMAIL))
|
||||
{
|
||||
|
@ -101,39 +58,10 @@ class DownloadActions extends Actions
|
|||
}
|
||||
else
|
||||
{
|
||||
$referrerId = Request::getParam('referrer_id');
|
||||
$failure = false;
|
||||
Mailgun::sendSubscriptionConfirmation($email);
|
||||
|
||||
try
|
||||
{
|
||||
$user = Prefinery::findOrCreateUser($email, $code, $referrerId);
|
||||
static::setSessionVarsForPrefineryUser($user);
|
||||
if ($code && strlen($code) > 2 && in_array(substr($code, 0, 2), ['my', 'pf', 'sl']))
|
||||
{
|
||||
Session::set(Session::KEY_PREFINER_USED_CUSTOM_CODE, true);
|
||||
}
|
||||
}
|
||||
catch (CurlException $e)
|
||||
{
|
||||
$failure = true;
|
||||
Slack::sendErrorIfProd($e);
|
||||
}
|
||||
catch (PrefineryException $e)
|
||||
{
|
||||
$failure = true;
|
||||
}
|
||||
|
||||
if ($failure)
|
||||
{
|
||||
Session::set(Session::KEY_DOWNLOAD_ALLOWED, false);
|
||||
Session::set(Session::KEY_DOWNLOAD_ACCESS_ERROR,
|
||||
'We were unable to add you to the wait list. Received error "' . $e->getMessage() . '". Please contact ' .
|
||||
Config::HELP_CONTACT_EMAIL . ' if you think this is a mistake.');
|
||||
}
|
||||
}
|
||||
|
||||
return Controller::redirect('/get');
|
||||
return Controller::redirect(Request::getReferrer('/get'));
|
||||
}
|
||||
|
||||
public static function prepareListPartial(array $vars)
|
||||
|
@ -148,39 +76,6 @@ class DownloadActions extends Actions
|
|||
{
|
||||
return $vars + [
|
||||
'defaultEmail' => static::getEmailParam(),
|
||||
'allowInviteCode' => true,
|
||||
'referralCode' => Request::getParam('r', '')
|
||||
];
|
||||
}
|
||||
|
||||
protected static function setSessionVarsForPrefineryUser($userData)
|
||||
{
|
||||
Session::set(Session::KEY_DOWNLOAD_ALLOWED, in_array($userData['status'], [Prefinery::STATE_ACTIVE, Prefinery::STATE_INVITED]));
|
||||
Session::set(Session::KEY_PREFINERY_USER_ID, (int)$userData['id']);
|
||||
}
|
||||
|
||||
public static function prepareReferPartial(array $vars)
|
||||
{
|
||||
$userId = (int)Session::get(Session::KEY_PREFINERY_USER_ID);
|
||||
if (!$userId)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
$prefineryUser = Prefinery::findUser($userId);
|
||||
|
||||
if ($prefineryUser)
|
||||
{
|
||||
preg_match('/\?r\=(\w+)/', $prefineryUser['share_link'], $matches);
|
||||
}
|
||||
else
|
||||
{
|
||||
$matches = null;
|
||||
}
|
||||
|
||||
return $vars + [
|
||||
'prefineryUser' => $prefineryUser,
|
||||
'referralCode' => $matches[1] ?? 'unknown'
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -15,9 +15,8 @@ bounty:
|
|||
completed_notice: This bounty has already been completed and can no longer be claimed.
|
||||
pull_request_link: View the Pull Request
|
||||
description:
|
||||
allowed: Download/install the latest version of LBRY for %os%.
|
||||
faq: Frequently asked questions about LBRY.
|
||||
get: Download/install the latest version of LBRY.
|
||||
get: Experience content freedom! Download the latest version of LBRY for Windows, mac OS, or Linux.
|
||||
home: Meet LBRY, a content sharing and publishing platform that is decentralized and owned by its users.
|
||||
join: Follow along and receive updates about LBRY via email.
|
||||
learn: Learn more about LBRY, the technology that puts you back in control of the internet.
|
||||
|
@ -29,10 +28,10 @@ description:
|
|||
test: WHAT WHAT
|
||||
what: Access information and content in ways you never dreamed possible. Earn credits for your unused bandwidth and diskspace.
|
||||
download:
|
||||
beta: This is still a beta.
|
||||
beta: This software is in beta.
|
||||
creator: Creator? Skip the Line
|
||||
credits: Claim Credits
|
||||
curse: While LBRY is now live, it may crash, work unreliably, or inadvertently put a curse on your family for generations (a common programming error). Use at your own risk.
|
||||
curse: It may crash, work unreliably, or inadvertently put a curse on your family for generations (a common programming error).
|
||||
deb: Download .deb
|
||||
earn1: Earn
|
||||
# this many credits
|
||||
|
@ -43,11 +42,11 @@ download:
|
|||
for-os: LBRY for %os%
|
||||
github: Or, view the source and compile instructions on
|
||||
osx: Arrival is expected by July 5.
|
||||
osx2: Download for OS X
|
||||
osx2: Download for macOS
|
||||
other: Other Systems
|
||||
popular: Popular publishers can earn $1,000 and early access for publishing via LBRY.
|
||||
select: Select an OS
|
||||
unavailable: LBRY is not yet out on your platform. You will receive an email as we expand LBRY to your preferred platform.
|
||||
unavailable: LBRY is not yet out on this platform, but will be soon. Enter your email to be notified when it is released.
|
||||
verb: Download
|
||||
windows: Download for Windows
|
||||
works: "Works with Ubuntu, Debian, or any distro with <code>apt</code> or <code>dpkg</code>."
|
||||
|
@ -79,7 +78,6 @@ global:
|
|||
sentence: Watch, read and play in a decentralized digital library controlled by the community.
|
||||
tagline: Content Freedom
|
||||
learn:
|
||||
100: LBRY in 100 Seconds
|
||||
art: Art in the Internet Age
|
||||
essay: Read the Essay
|
||||
exchange_faq: Buy/Sell LBRY Credits
|
||||
|
@ -237,8 +235,8 @@ social:
|
|||
github: GitHub (source code)
|
||||
header: Build With Us
|
||||
humansheader: Humans
|
||||
humanstext: Let's create a freer, more creative world.
|
||||
robotsheader: Wanna Be Robots
|
||||
humanstext: Join the LBRY community.
|
||||
robotsheader: Robots
|
||||
robotstext: Make with us. All LBRY code is open source.
|
||||
slack: Slack (chat)
|
||||
tweets: Tweets by @LBRYio
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
if [ ! -e "data/config.php" ]; then
|
||||
cp "data/config.php.example" "data/config.php"
|
||||
fi
|
9
dev.sh
9
dev.sh
|
@ -1,5 +1,10 @@
|
|||
#!/bin/bash
|
||||
|
||||
source dev-prepare.sh
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
php7.0 --server localhost:8000 --docroot web/ web/index.php
|
||||
|
||||
if [ ! -e "data/config.php" ]; then
|
||||
cp "$DIR/data/config.php.example" "$DIR/data/config.php"
|
||||
fi
|
||||
|
||||
php7.0 --server localhost:8000 --docroot "$DIR/web" "$DIR/web/index.php"
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
source dev-prepare.sh
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
|
||||
if [ ! -e "data/config.php" ]; then
|
||||
cp "$DIR/data/config.php.example" "$DIR/data/config.php"
|
||||
fi
|
||||
|
||||
docker run --rm -it --name "dev.lbry.io" \
|
||||
-v "$(readlink -f .):/usr/src/lbry.io" \
|
189
lib/thirdparty/Prefinery.class.php
vendored
189
lib/thirdparty/Prefinery.class.php
vendored
|
@ -1,189 +0,0 @@
|
|||
<?php
|
||||
|
||||
class Prefinery
|
||||
{
|
||||
const STATE_APPLIED = 'applied';
|
||||
const STATE_INVITED = 'invited';
|
||||
const STATE_IMPORTED = 'imported';
|
||||
const STATE_REJECTED = 'rejected';
|
||||
const STATE_ACTIVE = 'active';
|
||||
const STATE_SUSPENDED = 'suspended';
|
||||
|
||||
const DOMAIN = 'https://lbry.prefinery.com';
|
||||
const PREFIX = '/api/v2/betas/8679';
|
||||
|
||||
protected static $curlOptions = [
|
||||
'headers' => [
|
||||
'Accept: application/json',
|
||||
'Content-type: application/json'
|
||||
],
|
||||
'json_data' => true,
|
||||
'json_response' => true
|
||||
];
|
||||
|
||||
public static function findUser($emailOrId, $useApc = true)
|
||||
{
|
||||
$apcEnabled = Apc::isEnabled();
|
||||
if ($useApc && $apcEnabled)
|
||||
{
|
||||
$cached = apc_fetch('prefinery-user-' . $emailOrId, $success);
|
||||
if ($success)
|
||||
{
|
||||
return $cached;
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
$user = is_numeric($emailOrId) ? Prefinery::findTesterById($emailOrId) : Prefinery::findTesterByEmail($emailOrId);
|
||||
}
|
||||
catch (PrefineryException $e)
|
||||
{
|
||||
if (stripos($e->getMessage(), 'Tester is hidden.') === false)
|
||||
{
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
if ($user)
|
||||
{
|
||||
unset($user['invitation_code']); // so we dont leak it
|
||||
if ($useApc && $apcEnabled)
|
||||
{
|
||||
apc_store('prefinery-user-' . $emailOrId, $user, 3600);
|
||||
}
|
||||
}
|
||||
|
||||
return $user;
|
||||
}
|
||||
|
||||
protected static function findTesterById($id)
|
||||
{
|
||||
return static::get('/testers/' . (int)$id);
|
||||
}
|
||||
|
||||
protected static function findTesterByEmail($email)
|
||||
{
|
||||
$data = static::get('/testers', ['email' => $email]);
|
||||
|
||||
if ($data && is_array($data) && count($data))
|
||||
{
|
||||
foreach ($data as $userData) //can partial match on email, very unlikely though
|
||||
{
|
||||
if (strtolower($userData['email']) == strtolower($email))
|
||||
{
|
||||
return $userData;
|
||||
}
|
||||
}
|
||||
return $data[0];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function findOrCreateUser($email, $inviteCode = null, $referrerId = null)
|
||||
{
|
||||
$user = static::findUser($email);
|
||||
if (!$user)
|
||||
{
|
||||
// dont record ip for lbry.io addresses, for testing
|
||||
$ip = !preg_match('/@lbry\.io$/', $email) ? Request::getOriginalIp() : null;
|
||||
$ua = Request::getUserAgent();
|
||||
$user = Prefinery::createTester(array_filter([
|
||||
'email' => $email,
|
||||
'status' => $inviteCode ? static::STATE_ACTIVE : static::STATE_APPLIED, # yes, has to be ACTIVE to validate invite code
|
||||
'invitation_code' => $inviteCode,
|
||||
'referrer_id' => $referrerId,
|
||||
'profile' => ['ip' => $ip, 'user_agent' => $ua]
|
||||
]));
|
||||
|
||||
// if ($inviteCode)
|
||||
// {
|
||||
// $user = static::updateTester(array_intersect_key($user, ['id' => null]) + ['status' => static::STATE_ACTIVE]);
|
||||
// if ($user['invitation_code'] != $inviteCode)
|
||||
// {
|
||||
// $user['is_custom_code'] = true;
|
||||
// }
|
||||
// }
|
||||
|
||||
$user['is_custom_code'] = false;
|
||||
}
|
||||
|
||||
// unset($user['invitation_code']); // so we dont leak it
|
||||
return $user;
|
||||
}
|
||||
|
||||
protected static function createTester(array $testerData)
|
||||
{
|
||||
return static::post('/testers', ['tester' => array_filter($testerData)], false);
|
||||
}
|
||||
|
||||
public static function updateTester(array $testerData)
|
||||
{
|
||||
if (!$testerData['id'])
|
||||
{
|
||||
throw new PrefineryException('Update tester must be called with a tester id');
|
||||
}
|
||||
if (Apc::isEnabled())
|
||||
{
|
||||
apc_delete('prefinery-user-' . $testerData['id']);
|
||||
}
|
||||
return static::put('/testers/' . $testerData['id'], ['tester' => array_diff_key(array_filter($testerData), ['id' => null])], false);
|
||||
}
|
||||
|
||||
protected static function put($endpoint, array $data = [])
|
||||
{
|
||||
$apiKey = Config::get('prefinery_key');
|
||||
$options = static::$curlOptions;
|
||||
$options['headers'][] = 'X-HTTP-Method-Override: PUT';
|
||||
return static::decodePrefineryResponse(
|
||||
Curl::put(static::DOMAIN . static::PREFIX . $endpoint . '.json?api_key=' . $apiKey, $data, $options)
|
||||
);
|
||||
}
|
||||
|
||||
protected static function get($endpoint, array $data = [])
|
||||
{
|
||||
return static::decodePrefineryResponse(
|
||||
Curl::get(static::DOMAIN . static::PREFIX . $endpoint . '.json?api_key=' . Config::get('prefinery_key'),
|
||||
$data, array_merge(static::$curlOptions, ['retry' => 3])
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
protected static function post($endpoint, array $data = [], bool $allowEmptyResponse = true)
|
||||
{
|
||||
return static::decodePrefineryResponse(
|
||||
Curl::post(static::DOMAIN . static::PREFIX . $endpoint . '.json?api_key=' . Config::get('prefinery_key'),
|
||||
$data, array_merge(static::$curlOptions, ['retry' => 3])
|
||||
),
|
||||
$allowEmptyResponse
|
||||
);
|
||||
}
|
||||
|
||||
protected static function decodePrefineryResponse($data, $allowEmptyResponse = true)
|
||||
{
|
||||
if (!$allowEmptyResponse && !$data && $data !== [])
|
||||
{
|
||||
throw new PrefineryException('Received empty or improperly encoded response.');
|
||||
}
|
||||
|
||||
if (isset($data['error']))
|
||||
{
|
||||
throw new PrefineryException($data['error']);
|
||||
}
|
||||
|
||||
if (isset($data['errors']))
|
||||
{
|
||||
throw new PrefineryException($data['errors'] ?
|
||||
implode("\n", array_map(function ($error) { return $error['message']; }, (array)$data['errors'])) :
|
||||
'Received empty error array.'
|
||||
);
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
class PrefineryException extends Exception
|
||||
{
|
||||
}
|
|
@ -14,7 +14,7 @@ class OS
|
|||
//yes, this is probably a bad pattern
|
||||
return [
|
||||
OS::OS_WINDOWS => ['/windows', 'Windows', 'icon-windows', '_windows'],
|
||||
OS::OS_OSX => ['/osx', 'OS X', 'icon-apple', '_osx'],
|
||||
OS::OS_OSX => ['/osx', 'macOS', 'icon-apple', '_osx'],
|
||||
OS::OS_LINUX => ['/linux', 'Linux', 'icon-linux', '_linux'],
|
||||
OS::OS_ANDROID => ['/android', 'Android', 'icon-android', '_android'],
|
||||
OS::OS_IOS => ['/ios', 'iOS', 'icon-mobile', '_ios']
|
||||
|
|
|
@ -126,6 +126,11 @@ class Post
|
|||
return $this->metadata;
|
||||
}
|
||||
|
||||
public function getMetadataItem($key, $default = null)
|
||||
{
|
||||
return $this->metadata[$key] ?? $default;
|
||||
}
|
||||
|
||||
public function setMetadataItem($key, $value)
|
||||
{
|
||||
$this->metadata[$key] = $value;
|
||||
|
@ -373,7 +378,7 @@ class Post
|
|||
|
||||
public static function getSlugFromFilename($filename)
|
||||
{
|
||||
return strtolower(preg_replace('#^\d+\-#', '', basename(trim($filename), '.md')));
|
||||
return strtolower(preg_replace('#^\d{1,3}\-#', '', basename(trim($filename), '.md')));
|
||||
}
|
||||
|
||||
public static function collectMetadata(array $posts, $field)
|
||||
|
|
|
@ -59,7 +59,7 @@ class Response
|
|||
|
||||
public static function getMetaImages()
|
||||
{
|
||||
return static::$metaImages ?: [Request::getHostAndProto() . '/img/lbry-dark-1600x528.png'];
|
||||
return static::$metaImages ?: [Request::getHostAndProto() . '/img/lbry-green-meta-1200x900.png'];
|
||||
}
|
||||
|
||||
public static function setMetaTitle($title)
|
||||
|
@ -371,4 +371,4 @@ class Response
|
|||
// {
|
||||
// return static::$bodyCssClasses;
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
18
view/template/content/credit-report.php
Normal file
18
view/template/content/credit-report.php
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?php Response::setMetaDescription($post->getTitle()) ?>
|
||||
<?php NavActions::setNavUri('/learn') ?>
|
||||
<?php echo View::render('nav/_header') ?>
|
||||
<main>
|
||||
<section class="post-content">
|
||||
<div class="content">
|
||||
<br/>
|
||||
<div class="meta">
|
||||
<a href="/credit-reports">« Credit Reports</a>
|
||||
</div>
|
||||
<h1><?php echo htmlentities($post->getTitle()) ?></h1>
|
||||
<h2>Sheet</h2>
|
||||
<a href="<?php echo $sheetUrl ?>">Sheet</a>
|
||||
<?php echo $post->getContentHtml() ?>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
<?php echo View::render('nav/_footer') ?>
|
28
view/template/content/credit-reports.php
Normal file
28
view/template/content/credit-reports.php
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?php Response::setMetaDescription('Quarterly reports regarding usage of LBRY credits by LBRY Inc.') ?>
|
||||
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
|
||||
<main>
|
||||
<section class="content content-readable spacer2">
|
||||
<h1>Quarterly Credit Reports</h1>
|
||||
<p>
|
||||
LBRY issues a quarterly report every 3 months in January, April, July, and October, covering the preceding 3 full months. These reports outline the corresponding transaction history as the current state of LBRY, Inc.'s balance sheet and anticipated future expenditures.
|
||||
</p>
|
||||
<table class="post-content-table full-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>Report</th>
|
||||
<th>Balance Sheet</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<?php foreach($posts as $post): ?>
|
||||
<tr>
|
||||
<td><?php echo strtoupper($post->getSlug()) ?></td>
|
||||
<td><a href="<?php echo $post->getRelativeUrl() ?>" class="link-primary">Report</a></td>
|
||||
<td><a href="<?php echo $post->getMetadataItem('sheet') ?>" class="link-primary">Sheet</a></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</table>
|
||||
</section>
|
||||
</main>
|
||||
<?php echo View::render('nav/_footer') ?>
|
|
@ -7,7 +7,7 @@
|
|||
<div class="content">
|
||||
<br />
|
||||
<div class="meta">
|
||||
<a href="/faq"><< {{page.faq.back}}</a>
|
||||
<a href="/faq">« {{page.faq.back}}</a>
|
||||
</div>
|
||||
<h1><?php echo htmlentities($post->getTitle()) ?></h1>
|
||||
<?php echo $post->getContentHtml() ?>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
When running, the LBRY daemon provides a JSON-RPC server running at <code class="code-inline">http://localhost:5279/lbryapi</code>.
|
||||
</p>
|
||||
<p>
|
||||
It can be accessed by any utility capable of making HTTPS GET and POST requests, such as cURL or possibly your toaster. Psst, if you are on windows you could use PowerShell while testing, scroll down to the bottom of this page to get more info.
|
||||
It can be accessed by any utility capable of making HTTPS GET and POST requests, such as cURL or possibly your toaster. On Windows? You can also use PowerShell. <a class="link-primary" href="#windows">Learn more</a>.
|
||||
</p>
|
||||
<p>
|
||||
To verify the LBRY daemon is running correctly, let's try looking up a URI:
|
||||
|
@ -54,12 +54,12 @@
|
|||
<p>You can also list all of the commands available by calling the <span class="code-plan">help</span> command.</p>
|
||||
<code class="code-bash"><span class="code-bash__prompt">$</span>curl 'http://localhost:5279/lbryapi' --data '{"method":"help"}'
|
||||
</code>
|
||||
<h3>Windows</h3>
|
||||
<h3 id="windows">Windows</h3>
|
||||
<p>If you are running Windows and would like to follow this guide you could substitute curl with a PowerShell console and the following code.
|
||||
</p>
|
||||
<code class="code-bash"><span class="code-bash__prompt">$</span>Invoke-RestMethod -Uri 'http://localhost:5279/lbryapi' -Body 'THE_JSON_DATA' -Method POST | ConvertTo-Json
|
||||
</code>
|
||||
<p>If PowerShell does not work and you want to continue with cURL, you'll need to escape inner double quotes with a \ to pass the JSON properly via Command Prompt.
|
||||
<p>If PowerShell does not work and you want to continue with cURL, you'll need to escape inner double quotes with a \ to pass the JSON properly via Command Prompt.
|
||||
</p>
|
||||
<code class="code-bash"><span class="code-bash__prompt">$</span>curl "http://localhost:5279/lbryapi" --data "{\"method\":\"get\",\"params\":{\"uri\":\"what\"} }"
|
||||
</code>
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
<p>
|
||||
<strong>{{download.beta}}</strong>
|
||||
{{download.curse}}
|
||||
</p>
|
|
@ -1,19 +1,17 @@
|
|||
<div class="text-center">
|
||||
<p>
|
||||
<a id="linux-download" class="btn-alt" <?php echo $downloadUrl ? 'download' : '' ?>
|
||||
href="<?php echo $downloadUrl ?: 'https://github.com/lbryio/lbry/releases' ?>"
|
||||
<?php /*
|
||||
data-facebook-track-id="XXXXX"
|
||||
data-twitter-track-id="XXXXX"
|
||||
<a id="linux-download" class="btn-alt btn-large" <?php echo $downloadUrl ? 'download' : '' ?>
|
||||
href="<?php echo $downloadUrl ?: 'https://github.com/lbryio/lbry-app/releases' ?>"
|
||||
data-facebook-track="1"
|
||||
<?php /* data-twitter-track-id="XXXXX" */ ?>
|
||||
data-analytics-category="Sign Up"
|
||||
data-analytics-action="Download"
|
||||
data-analytics-label="Linux"
|
||||
*/ ?>
|
||||
>{{download.deb}}</a>
|
||||
</p>
|
||||
<div class="meta">
|
||||
{{download.works}}
|
||||
Prefer to build from source? Go <a href="https://github.com/lbryio/lbry" class="link-primary">here</a>.
|
||||
Prefer to build from source? Go <a href="https://github.com/lbryio/lbry-app" class="link-primary">here</a>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
<div class="text-center">
|
||||
<p>
|
||||
<a class="btn-alt" <?php echo $downloadUrl ? 'download' : '' ?>
|
||||
href="<?php echo $downloadUrl ?: 'https://github.com/lbryio/lbry/releases' ?>"
|
||||
<?php /*
|
||||
data-facebook-track-id="XXXXX"
|
||||
data-twitter-track-id="XXXXX"
|
||||
<a class="btn-alt btn-large" <?php echo $downloadUrl ? 'download' : '' ?>
|
||||
href="<?php echo $downloadUrl ?: 'https://github.com/lbryio/lbry-app/releases' ?>"
|
||||
data-facebook-track="1"
|
||||
<?php /* data-twitter-track-id="XXXXX" */ ?>
|
||||
data-analytics-category="Sign Up"
|
||||
data-analytics-action="Download"
|
||||
data-analytics-label="OSX"
|
||||
*/ ?>
|
||||
>{{download.osx2}}</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
<div class="cover cover-dark cover-center content content-dark" style="background-image:url('/img/cover-home3.jpg')">
|
||||
<h3 class="cover-title text-center cover-title-tile">Know the command line?<br/>Skip the real line.</h3>
|
||||
<p class="cover-subtitle text-center" style="max-width: 450px">Developers and other technical users can try LBRY before it goes public.</p>
|
||||
<a href="/quickstart" class="btn btn-alt">Developer Program</a>
|
||||
</div>
|
|
@ -1,42 +0,0 @@
|
|||
<h3>{{title.refer}}</h3>
|
||||
<p>{{page.refer.earn1}} <?php echo i18n::formatCredits($prefineryUser['id'] < 75000 ? 10 : (date('Y-m-d') > '2017-06-19' ? 2.5 : 5)) ?> {{page.refer.earn2}}</p>
|
||||
<p>
|
||||
<input type="text" value="<?php echo Request::getHostAndProto() ?>/get?r=<?php echo $referralCode ?>" style="width: 100%; border-color: #155B4A" readonly id="referral-url-input"/>
|
||||
<?php js_start() ?>
|
||||
$('#referral-url-input')
|
||||
.focus(function() { $(this).select(); })
|
||||
.click(function() { $(this).select(); });
|
||||
<?php js_end() ?>
|
||||
</p>
|
||||
<h3>{{page.refer.status}}</h3>
|
||||
<p><?php echo __($prefineryUser['share_signups_count'] == 1 ? 'page.refer.referone' : 'page.refer.refermany',
|
||||
['%count%' => $prefineryUser['share_signups_count']]) ?>
|
||||
|
||||
<?php
|
||||
if ($prefineryUser['share_signups_count'] <= 0)
|
||||
{
|
||||
echo __('page.refer.count0');
|
||||
}
|
||||
elseif ($prefineryUser['share_signups_count'] <= 5)
|
||||
{
|
||||
echo __('page.refer.count1');
|
||||
}
|
||||
elseif ($prefineryUser['share_signups_count'] <= 10)
|
||||
{
|
||||
echo __('page.refer.count2');
|
||||
}
|
||||
elseif ($prefineryUser['share_signups_count'] <= 25)
|
||||
{
|
||||
echo __('page.refer.count3');
|
||||
}
|
||||
elseif ($prefineryUser['share_signups_count'] <= 100)
|
||||
{
|
||||
echo __('page.refer.count4');
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Wow! You are too good at this. Please contact us at ' . Config::HELP_CONTACT_EMAIL . ' to make sure we can count all of these. We will also stop sending you an email for each referral, but you can always check back here.';
|
||||
}
|
||||
?>
|
||||
</p>
|
||||
<div class="meta"><a href="/faq/referrals" class="link-primary">{{page.refer.more}}</a></div>
|
|
@ -1,7 +1,8 @@
|
|||
<form method="POST" action="/signup" id="signup-form" class="hide">
|
||||
<div class="hide">
|
||||
<input type="hidden" name="referrer_id" value="<?php echo htmlspecialchars($referralCode) ?>" />
|
||||
</div>
|
||||
<form method="POST" action="/signup" id="signup-form">
|
||||
<?php if (Session::get(Session::KEY_DOWNLOAD_ACCESS_ERROR)): ?>
|
||||
<div class="notice notice-error spacer1"><?php echo Session::get(Session::KEY_DOWNLOAD_ACCESS_ERROR) ?></div>
|
||||
<?php Session::unsetKey(Session::KEY_DOWNLOAD_ACCESS_ERROR) ?>
|
||||
<?php endif ?>
|
||||
<div class="form-row">
|
||||
<label for="email">
|
||||
<?php echo __('email.address') ?>
|
||||
|
@ -10,54 +11,7 @@
|
|||
<input type="text" value="<?php echo htmlspecialchars($defaultEmail) ?>" name="email" class="required standard input-large" placeholder="someone@somewhere.com">
|
||||
</div>
|
||||
</div>
|
||||
<?php if ($allowInviteCode): ?>
|
||||
<div class="form-row">
|
||||
<label for="code_select">
|
||||
<?php echo __('email.code') ?>
|
||||
</label>
|
||||
<div class="form-input">
|
||||
<label class="label-radio">
|
||||
<input name="code_select" type="radio" value="" />
|
||||
{{email.nocode}}
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-input">
|
||||
<label class="label-radio">
|
||||
<input name="code_select" type="radio" value="yes" />
|
||||
{{email.yescode}}
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-input has-code">
|
||||
<input type="text" value="" name="code" class="required standard" placeholder="abc123">
|
||||
</div>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="hide"><input name="code_select" type="radio" checked="checked" /></div>
|
||||
<?php endif ?>
|
||||
<div class="invite-submit has-code">
|
||||
<input type="submit" value="Access LBRY" name="subscribe" class="btn-alt">
|
||||
</div>
|
||||
<div class="invite-submit no-code">
|
||||
<div class="invite-submit">
|
||||
<input type="submit" value="Join List" name="subscribe" class="btn-alt btn-large">
|
||||
</div>
|
||||
</form>
|
||||
<?php js_start() ?>
|
||||
(function(){
|
||||
var form = $('#signup-form'),
|
||||
codeRadioInputs = form.find('input[name="code_select"]');
|
||||
codeRadioInputs.change(function() {
|
||||
var selectedInput = codeRadioInputs.filter(':checked'),
|
||||
hasChoice = selectedInput.length,
|
||||
hasCode = selectedInput.val() == 'yes';
|
||||
|
||||
form.find('.has-code')[hasChoice && hasCode ? 'show' : 'hide']();
|
||||
form.find('.no-code')[hasChoice && !hasCode ? 'show' : 'hide']();
|
||||
if (!hasCode)
|
||||
{
|
||||
form.find('input[name="code"]').val('');
|
||||
}
|
||||
}).change();
|
||||
|
||||
form.show();
|
||||
})();
|
||||
<?php js_end() ?>
|
||||
</form>
|
|
@ -1,3 +0,0 @@
|
|||
<div class="notice notice-info">
|
||||
<p>{{download.unavailable}}</p>
|
||||
</div>
|
|
@ -1,3 +1,3 @@
|
|||
<div class="video">
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/DjouYBEkQPY" frameborder="0" allowfullscreen></iframe>
|
||||
<video src="https://spee.ch/65913d27e8a5723f539447bd3cb27279b357f4d4/hellolbry.mp4" poster="/img/lbry-ui.png" controls></video>
|
||||
</div>
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
<div class="text-center">
|
||||
<p>
|
||||
<a class="btn-alt" <?php echo $downloadUrl ? 'download' : '' ?>
|
||||
href="<?php echo $downloadUrl ?: 'https://github.com/lbryio/lbry/releases' ?>"
|
||||
<?php /*
|
||||
data-facebook-track-id="XXXXX"
|
||||
data-twitter-track-id="XXXXX"
|
||||
<a class="btn-alt btn-large" <?php echo $downloadUrl ? 'download' : '' ?>
|
||||
href="<?php echo $downloadUrl ?: 'https://github.com/lbryio/lbry-app/releases' ?>"
|
||||
data-facebook-track="1"
|
||||
<?php /* data-twitter-track-id="XXXXX" */ ?>
|
||||
data-analytics-category="Sign Up"
|
||||
data-analytics-action="Download"
|
||||
data-analytics-label="OSX"
|
||||
*/ ?>
|
||||
data-analytics-label="Windows"
|
||||
>{{download.windows}}</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?php Response::setMetaDescription(__('description.no-os')) ?>
|
||||
<?php Response::setMetaTitle(__('global.get')) ?>
|
||||
<?php Response::addMetaImage(Request::getHostAndProto() . '/img/lbry-ui.png') ?>
|
||||
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
|
||||
<main class="column-fluid">
|
||||
<div class="span6">
|
||||
|
|
|
@ -1,33 +1,34 @@
|
|||
<?php Response::setMetaDescription(__('description.get')) ?>
|
||||
<?php Response::addMetaImage(Request::getHostAndProto() . '/img/lbry-ui.png') ?>
|
||||
<?php NavActions::setNavUri('/get') ?>
|
||||
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
|
||||
|
||||
<main class="column-fluid">
|
||||
<div class="span7">
|
||||
<div class="cover cover-dark cover-dark-grad content content-stretch content-dark">
|
||||
<h1>{{global.get}}</h1>
|
||||
<?php if (Session::get(Session::KEY_DOWNLOAD_ACCESS_ERROR)): ?>
|
||||
<div class="notice notice-error spacer1"><?php echo Session::get(Session::KEY_DOWNLOAD_ACCESS_ERROR) ?></div>
|
||||
<?php Session::unsetKey(Session::KEY_DOWNLOAD_ACCESS_ERROR) ?>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if (Session::get(Session::KEY_PREFINERY_USER_ID)): ?>
|
||||
<h3>You're In!</h3>
|
||||
<p>You'll be sent an invite when LBRY early access begins.</p>
|
||||
<p>And remember, friends don't let other friends miss out on content freedom.</p>
|
||||
<?php echo View::render('download/_refer') ?>
|
||||
<h1><?php echo __('download.for-os', ['%os%' => $osTitle]) ?> <span class="<?php echo $osIcon ?>"></span></h1>
|
||||
<?php if ($downloadHtml): ?>
|
||||
<p>
|
||||
This is a browser and wallet for the LBRY network.
|
||||
<a href="https://lbry.io/faq/what-is-lbry" class="link-primary">What is LBRY?</a>
|
||||
</p>
|
||||
<p>
|
||||
<strong>{{download.beta}}</strong>
|
||||
{{download.curse}}
|
||||
</p>
|
||||
<?php echo $downloadHtml ?>
|
||||
<?php else: ?>
|
||||
<div class="spacer1">
|
||||
<h4>LBRY early access began April 2017.</h4>
|
||||
</div>
|
||||
<?php echo View::render('download/_signup', ['allowInviteCode' => false]) ?>
|
||||
<p>{{download.unavailable}}</p>
|
||||
<?php echo View::render('download/_signup') ?>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="span5">
|
||||
<?php echo View::render('download/_list', [
|
||||
'excludeOs' => $os
|
||||
]) ?>
|
||||
<?php echo View::render('download/_social') ?>
|
||||
<?php echo View::render('download/_publish') ?>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php echo View::render('nav/_footer') ?>
|
||||
<?php echo View::render('nav/_footer') ?>
|
|
@ -1,38 +0,0 @@
|
|||
<?php Response::setMetaDescription(__('description.allowed', ['%os%' => $osTitle])) ?>
|
||||
<?php NavActions::setNavUri('/get') ?>
|
||||
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
|
||||
|
||||
<main class="column-fluid">
|
||||
<div class="span7">
|
||||
<div class="cover cover-dark cover-dark-grad content content-stretch content-dark">
|
||||
<h1><?php echo __('download.for-os', ['%os%' => $osTitle]) ?> <span class="<?php echo $osIcon ?>"></span></h1>
|
||||
<?php if ($downloadHtml): ?>
|
||||
<?php echo View::render('download/_betaNotice') ?>
|
||||
<?php if (Session::get(Session::KEY_PREFINER_USED_CUSTOM_CODE)): ?>
|
||||
<div class="notice notice-info spacer1">
|
||||
It looks like you may have been invited via a custom code.
|
||||
<strong>If so, please check your email for a single-use code to claim credits after installing.</strong>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
<?php echo $downloadHtml ?>
|
||||
<?php else: ?>
|
||||
<?php echo View::render('download/_unavailable', [
|
||||
'os' => $os
|
||||
]) ?>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
<?php if ($prefineryUser): ?>
|
||||
<div class="cover cover-light content content-stretch content-light">
|
||||
<?php echo View::render('download/_refer') ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
<div class="span5">
|
||||
<?php echo View::render('download/_list', [
|
||||
'excludeOs' => $os
|
||||
]) ?>
|
||||
<?php echo View::render('download/_social') ?>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php echo View::render('nav/_footer') ?>
|
|
@ -18,6 +18,7 @@
|
|||
document,'script','//connect.facebook.net/en_US/fbevents.js');
|
||||
|
||||
fbq('init', '1618717031725766');
|
||||
fbq('track', 'PageView');
|
||||
|
||||
<?php //and now everyone knows what happens on our website except us ?>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<h1 class="cover-title cover-title-flat text-center">Content Freedom</h1>
|
||||
</div>
|
||||
<div class="cover home__media">
|
||||
<img alt="Picture of LBRY Browser" src="/img/lbry-ui.png" />
|
||||
<a href="/get"><img alt="Picture of LBRY Browser" src="/img/lbry-ui.png" /></a>
|
||||
</div>
|
||||
<div class="cover cover-light content content-light content-wide home__copy">
|
||||
<div class="spacer2">
|
||||
|
@ -15,7 +15,7 @@
|
|||
<h3 class="cover-subtitle cover-title-flat">Hollywood films, college lessons, amazing streamers and more are on the first media network ruled by <em>you</em>.</h3>
|
||||
</div>
|
||||
<div class="spacer2 text-center">
|
||||
<a href="/get" class="btn-primary btn-large spacer1">Early Access</a>
|
||||
<a href="/get" class="btn-primary btn-large spacer1">Access LBRY</a>
|
||||
<a href="/learn" class="btn-link btn-large">{{global.learn}}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -3,22 +3,23 @@
|
|||
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
|
||||
<main class="column-fluid ">
|
||||
<div class="span6">
|
||||
<div class="cover cover-dark cover-dark-grad">
|
||||
<div class="content content-dark content-tile">
|
||||
<h1 class="cover-title cover-title-tile">{{learn.100}}</h1>
|
||||
<div class="cover cover-dark cover-center content content-dark" style="background-image:url(/img/altamira-bison.jpg)">
|
||||
<h1 class="cover-title cover-title-tile">{{learn.art}}</h1>
|
||||
<p class="cover-subtitle text-center" style="max-width: 660px">{{learn.how}}</p>
|
||||
<a href="/what" class="btn-alt btn-large"><?php echo __('learn.essay') ?></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="span6">
|
||||
<div class="cover cover-light">
|
||||
<div class="content content-light content-tile">
|
||||
<h2 class="cover-title cover-title-tile cover-title-flat">Hello LBRY</h2>
|
||||
<p>See previews of the LBRY UI and the great content available now on LBRY.</p>
|
||||
<?php echo View::render('download/_videoIntro') ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="span6">
|
||||
<div class="cover cover-dark cover-center content content-dark" style="background-image:url(/img/altamira-bison.jpg)">
|
||||
<h2 class="cover-title cover-title-tile">{{learn.art}}</h2>
|
||||
<p class="cover-subtitle text-center" style="max-width: 660px">{{learn.how}}</p>
|
||||
<a href="/what" class="btn-alt"><?php echo __('learn.essay') ?></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="span4">
|
||||
<div class="cover cover-light-alt cover-light-alt-grad">
|
||||
<div class="cover cover-light">
|
||||
<div class="content content-light content-tile">
|
||||
<h3>{{learn.explore}}</h3>
|
||||
<div class="spacer1">
|
||||
|
@ -26,25 +27,30 @@
|
|||
</div>
|
||||
<div class="spacer1">
|
||||
<a href="/faq" class="link-primary">{{page.faq.header}}</a>
|
||||
(<a href="/faq/what-is-lbry" class="link-primary">What is LBRY?</a>)
|
||||
</div>
|
||||
<div class="spacer1">
|
||||
<a href="http://explorer.lbry.io" class="link-primary">{{learn.explorer}}</a>
|
||||
<a href="http://explorer.lbry.io" class="link-primary">Blockchain Explorer</a>
|
||||
</div>
|
||||
<div class="spacer1">
|
||||
<a href="/team" class="link-primary">About the Team</a>
|
||||
</div>
|
||||
<div class="spacer1">
|
||||
<a href="/credit-reports" class="link-primary">Credit Reports</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="span4">
|
||||
<div class="cover cover-light">
|
||||
<div class="cover cover-light-alt cover-light-alt-grad">
|
||||
<div class="content content-light content-tile">
|
||||
<h3>{{learn.nerd}}</h3>
|
||||
<h3>For Developers</h3>
|
||||
<p>LBRY is 100% open source in the <a class="link-primary" href="https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar">Bazaar tradition</a>.</p>
|
||||
<?php echo View::render('social/_listDev') ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="span4">
|
||||
<div class="cover cover-dark cover-dark-grad">
|
||||
<div class="content content-dark content-tile">
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue