Minor fixes

This commit is contained in:
ポール ウェッブ 2018-06-26 13:45:06 -05:00
parent 91e374d81e
commit c7bd736b7c
7 changed files with 36 additions and 35 deletions

View file

@ -5,7 +5,7 @@ title: Development
Want to build something on top of LBRY? This is the place to get you started. Want to build something on top of LBRY? This is the place to get you started.
At least, it's the place to get started so long as you have some idea of what LBRY _is_. If you don't, you should read the At least, it's the place to get started so long as you have some idea of what LBRY _is_. If you don't, you should read the
[Overview](/overview) first. [Overview](/overview/) first.
## When to Use LBRY ## When to Use LBRY
@ -50,3 +50,5 @@ Not all applications will want to use the full LBRY protocol, or some applicatio
1. lbrycrd documentation 1. lbrycrd documentation
## Desired Applications ## Desired Applications
TBD

View file

@ -7,7 +7,7 @@ title: Contributing
Interested in working on the LBRY protocol, an official LBRY app, or other LBRY infrastructure? Awesome! This guide will get you started. Interested in working on the LBRY protocol, an official LBRY app, or other LBRY infrastructure? Awesome! This guide will get you started.
This guide is for contributing to the code bases maintained by the LBRY organization. For building on top of the LBRY protocol, see [Build](/build). This guide is for contributing to the code bases maintained by the LBRY organization. For building on top of the LBRY protocol, see [Build](/build/).
Contributors that provide accepted pull requests, well-specified issues, or assist in testing and quality assurance typically receive LBC tokens as appreciation. Contributors that provide accepted pull requests, well-specified issues, or assist in testing and quality assurance typically receive LBC tokens as appreciation.
@ -68,7 +68,7 @@ Additionally, every technical employee of LBRY outside of the founding team star
## Designing ## Designing
Web and application designers are requested to be able to work directly on CSS in the project they'd be contributing to. Please follow the [Coding](#Coding) instructions for any website or application you want to improve. Web and application designers are requested to be able to work directly on CSS in the project they'd be contributing to. Please follow the [Coding](#coding) instructions for any website or application you want to improve.
## Writing ## Writing
@ -86,7 +86,7 @@ A number of our code bases (`lbrycrd`, `lbry`, all applications, more...) go thr
For any projects that you want to be a tester on, "Watch" the repo on GitHub. You will receive an email with release notes whenever a release candidate is out. For any projects that you want to be a tester on, "Watch" the repo on GitHub. You will receive an email with release notes whenever a release candidate is out.
For even harder-core testing, you can follow the `README` instructions in a project and test against the `master` branch of a project at any time. Additionally, `master` builds for some projects are always available via [releases.lbry.io](http://releases.lbry.io/). For even harder-core testing, you can follow the `README` instructions in a project and test against the `master` branch of a project at any time. Additionally, `master` builds for some projects are always available via [releases.lbry.io](http://releases.lbry.io).
Opening well-specified issues against release candidates or master builds is extremely useful in helping us create quality software. Opening well-specified issues against release candidates or master builds is extremely useful in helping us create quality software.

View file

@ -1,13 +1,14 @@
LBRY Glossary ---
================ title: LBRY Glossary
---
This glossary will help you understand exact meaning of LBRY and blockchain related terms. This glossary will help you understand exact meaning of LBRY and blockchain related terms.
We encourage the submission of changes and additions to this glossary. We encourage the submission of changes and additions to this glossary.
### Blob ### Blob
A Binary Large OBject (BLOB) is a collection of binary data stored as a single entity in a database management system. When files are uploaded to the LBRY peer to peer network, they are broken down into 2MB encrypted blobs which are then shared to other peers. A Binary Large OBject (BLOB) is a collection of binary data stored as a single entity in a database management system. When files are uploaded to the LBRY peer to peer network, they are broken down into 2MB encrypted blobs which are then shared to other peers.
### Block ### Block
@ -43,11 +44,11 @@ A claim (ClaimTrie) is the data structure which LBRY uses to store claims to nam
### Claim Deposit ### Claim Deposit
When creating a channel claim or publishing content onto the LBRY blockchain, a small amount (or more) LBC must be deposited to reserve the name space in the claimtrie. See our [naming documentation](https://lbry.io/faq/naming) for more information. When creating a channel claim or publishing content onto the LBRY blockchain, a small amount (or more) LBC must be deposited to reserve the name space in the claimtrie. See our [naming documentation](https://lbry.io/faq/naming) for more information.
### Claim Support ### Claim Support
A special type of transaction that includes claim information, a LBC address and a LBC value. Supports to one's own address increase the bid value of a claim and can be revoked anytime. Supports to an outside address also increase the value, but can only be revoked by the receiver (tip mechanism). A special type of transaction that includes claim information, a LBC address and a LBC value. Supports to one's own address increase the bid value of a claim and can be revoked anytime. Supports to an outside address also increase the value, but can only be revoked by the receiver (tip mechanism).
### Cold Storage ### Cold Storage
@ -99,13 +100,13 @@ A *node* which implements all of LBRY blockchain and does not require trusting a
### Genesis Block ### Genesis Block
A very first block in the blockchain with hard-coded contents and a all-zero reference to a previous block. The LBRY genesis block was released on [28 Oct 2015](https://explorer.lbry.io/blocks/0) and the first block mined was on [23 Jun 2016](https://explorer.lbry.io/blocks/1). A very first block in the blockchain with hard-coded contents and a all-zero reference to a previous block. The LBRY genesis block was released on [28 Oct 2015](https://explorer.lbry.io/blocks/0) and the first block mined was on [23 Jun 2016](https://explorer.lbry.io/blocks/1).
### Hard Fork ### Hard Fork
Some people use term *hard fork* to stress that changing LBRY protocol requires overwhelming majority to agree with it, or some noticeable part of the economy will continue with original blockchain following the old rules. See *Fork* and *Soft Fork* for further discussion. Some people use term *hard fork* to stress that changing LBRY protocol requires overwhelming majority to agree with it, or some noticeable part of the economy will continue with original blockchain following the old rules. See *Fork* and *Soft Fork* for further discussion.
### Hash Function ### Hash Function
LBRY POW calculation uses three cryptographic hash functions: SHA-512, SHA-256 and RIPEMD-160. Click [here](https://lbry.io/faq/proof-algorithm) for more details. LBRY POW calculation uses three cryptographic hash functions: SHA-512, SHA-256 and RIPEMD-160. Click [here](https://lbry.io/faq/proof-algorithm) for more details.
@ -119,7 +120,7 @@ Could mean an ECDSA public or private key, or AES symmetric encryption key. AES
### Key fee ### Key fee
The content price, set by the publisher, in order to download a claim. The key fee is paid once any part of the data is able to be downloaded. The content price, set by the publisher, in order to download a claim. The key fee is paid once any part of the data is able to be downloaded.
### LBC ### LBC
@ -127,16 +128,16 @@ The currency code for 1 LBRY Credit (defined as 100 000 000 *deweys*).
### LBRY Credits ### LBRY Credits
LBRY Credits (LBC) is the cryptocurrency used to make digital transactions (payments, tips, claims) on the LBRY blockchain. LBRY Credits (LBC) is the cryptocurrency used to make digital transactions (payments, tips, claims) on the LBRY blockchain.
## LBRY Daemon ## LBRY Daemon
The daemon combines various components to provide a single API across the LBRY ecosystem in order to interact with the blockchain and datanetwork. The daemon combines various components to provide a single API across the LBRY ecosystem in order to interact with the blockchain and datanetwork.
### LBRY Redux ### LBRY Redux
[lbry-redux](https://github.com/lbryio/lbry-redux) is a module which contains common React and redux code shared between lbry-app and lbry-android. [lbry-redux](https://github.com/lbryio/lbry-redux) is a module which contains common React and redux code shared between lbry-app and lbry-android.
### LBRY Protocol ### LBRY Protocol
LBRY is an open-source protocol providing distribution, discovery, and purchase of digital content (data) via a decentralized network. It utilizes the LBRY blockchain as a global namespace and database of digital content. Blockchain entries contain searchable content metadata, identities, and rights and access rules. LBRY also provides a data network that consists of peers uploading and downloading data from other peers, possibly in exchange for payments, and a distributed hash table, used by peers to discover other peers. LBRY is an open-source protocol providing distribution, discovery, and purchase of digital content (data) via a decentralized network. It utilizes the LBRY blockchain as a global namespace and database of digital content. Blockchain entries contain searchable content metadata, identities, and rights and access rules. LBRY also provides a data network that consists of peers uploading and downloading data from other peers, possibly in exchange for payments, and a distributed hash table, used by peers to discover other peers.
@ -151,12 +152,12 @@ LBRYcrd uses a blockchain similar to bitcoin's to implement an index and payment
### LbryumX Server ### LbryumX Server
A LbryumX-server for the LbryumX client. LbryumX is an extension of electrumx that provides the server side of LBRY Electrum Protocol. It sits between the LBRY daemon and LBRYCrd to provide SPV access to/from clients. A LbryumX-server for the LbryumX client. LbryumX is an extension of electrumx that provides the server side of LBRY Electrum Protocol. It sits between the LBRY daemon and LBRYCrd to provide SPV access to/from clients.
### Lighthouse ### Lighthouse
[Lighthouse](https://github.com/lbryio/lighthouse) is a lightning-fast advanced search engine API for publications on the LBRYcrd with autocomplete capabilities. The official lighthouse instance is live at https://lighthouse.lbry.io [Lighthouse](https://github.com/lbryio/lighthouse) is a lightning-fast advanced search engine API for publications on the LBRYcrd with autocomplete capabilities. The official lighthouse instance is live at https://lighthouse.lbry.io
### Lightweight client ### Lightweight client
Comparing to a *full node*, lightweight node does not store the whole blockchain and thus cannot fully verify any transaction. There are two kinds of lightweight nodes: those fully trusting an external service to determine wallet balance and validity of transactions (e.g. *blockchain.info*) and the apps implementing *Simplified Payment Verification* (SPV). SPV clients do not need to trust any particular service, but are more vulnerable to a *51% attack* than full nodes. See *Simplified Payment Verification* for more info. Comparing to a *full node*, lightweight node does not store the whole blockchain and thus cannot fully verify any transaction. There are two kinds of lightweight nodes: those fully trusting an external service to determine wallet balance and validity of transactions (e.g. *blockchain.info*) and the apps implementing *Simplified Payment Verification* (SPV). SPV clients do not need to trust any particular service, but are more vulnerable to a *51% attack* than full nodes. See *Simplified Payment Verification* for more info.
@ -203,11 +204,11 @@ Stands for "number used once". A 32-bit number in a *block header* which is iter
### Opcode ### Opcode
8-bit code of a *script* operation. Codes from 0x01 to 0x4B (decimal 75) are interpreted as a length of data to be pushed on the stack of the interpreter (data bytes follow the opcode). Other codes are either do something interesting, or disabled and cause transaction verification to fail, or do nothing (reserved for future use). LBRY implemented special op codes for storing and updating of claim data. 8-bit code of a *script* operation. Codes from 0x01 to 0x4B (decimal 75) are interpreted as a length of data to be pushed on the stack of the interpreter (data bytes follow the opcode). Other codes are either do something interesting, or disabled and cause transaction verification to fail, or do nothing (reserved for future use). LBRY implemented special op codes for storing and updating of claim data.
### Orphan, Orphaned Block ### Orphan, Orphaned Block
A valid block that is no longer a part of a *main chain*. Usually happens when two or more blocks of the same *height* are produced at the same time. When one of them becomes a part of the main chain, others are considered "orphaned". Orphans also may happen when the blockchain is *forked* due to an attack (see *51% attack*) or a bug. Then a chain of several blocks may become abandoned. Usually a transaction is included in all blocks of the same height, so its *confirmation* is not delayed and there is no *double spend*. See also *Fork*. A valid block that is no longer a part of a *main chain*. Usually happens when two or more blocks of the same *height* are produced at the same time. When one of them becomes a part of the main chain, others are considered "orphaned". Orphans also may happen when the blockchain is *forked* due to an attack (see *51% attack*) or a bug. Then a chain of several blocks may become abandoned. Usually a transaction is included in all blocks of the same height, so its *confirmation* is not delayed and there is no *double spend*. See also *Fork*.
### Peer ### Peer
@ -283,8 +284,8 @@ A transaction *output* can be spent only once: when another valid transaction ma
### Stream ### Stream
Streaming media is multimedia that is constantly received by and presented to an end-user while being delivered by a provider. In LBRY, streams as associated with claim data in order to provide the capability to download files over a Peer to Peer network. Streaming media is multimedia that is constantly received by and presented to an end-user while being delivered by a provider. In LBRY, streams as associated with claim data in order to provide the capability to download files over a Peer to Peer network.
### Target ### Target
A 256-bit number that puts an upper limit for a block header hash to be valid. The lower the target is, the higher the *difficulty* to find a valid hash. The maximum (easiest) target is 0x00000000FFFF0000000000000000000000000000000000000000000000000000. The difficulty and the target are adjusted every 2016 blocks (approx. 2 weeks) to keep interval between the blocks close to 10 minutes. A 256-bit number that puts an upper limit for a block header hash to be valid. The lower the target is, the higher the *difficulty* to find a valid hash. The maximum (easiest) target is 0x00000000FFFF0000000000000000000000000000000000000000000000000000. The difficulty and the target are adjusted every 2016 blocks (approx. 2 weeks) to keep interval between the blocks close to 10 minutes.
@ -319,16 +320,15 @@ Transaction that is not included in any block. Also known as "0-confirmation" tr
### UTXO Set ### UTXO Set
A collection of *Unspent Transaction Outputs*. Typically used in discussions on optimizing an ever-growing index of *transaction outputs* that are not yet *spent*. The index is important to efficiently validate newly created transactions. Even if the rate of the new transactions remains constant, the time required to locate and verify unspent outputs grows. A collection of *Unspent Transaction Outputs*. Typically used in discussions on optimizing an ever-growing index of *transaction outputs* that are not yet *spent*. The index is important to efficiently validate newly created transactions. Even if the rate of the new transactions remains constant, the time required to locate and verify unspent outputs grows.
### Wallet ### Wallet
An application or a service that helps keeping private keys for signing transactions. Wallet does not keep LBRY credits themselves (they are recorded in *blockchain*). "Storing LBC" usually means storing the keys. An application or a service that helps keeping private keys for signing transactions. Wallet does not keep LBRY credits themselves (they are recorded in *blockchain*). "Storing LBC" usually means storing the keys.
### 51% Attack ### 51% Attack
Also known as >50% attack or a *double spend* attack. An attacker can make a payment, wait till the merchant accepts some number of *confirmations* and provides the service, then starts mining a parallel chain of blocks starting with a block before the transaction. This parallel blockchain then includes another transaction that spends the same *outputs* on some other address. When the parallel chain becomes more *difficult*, it is considered a *main chain* by all nodes and the original transaction becomes invalid. Having more than a half of total *hashrate* guarantees possibility to overtake chain of any length, hence the name of an attack (strictly speaking, it is "more than 50%", not 51%). Also, even 40% of hashrate allows making a double spend, but the chances are less than 100% and are diminishing exponentially with the number of confirmations that the merchant requires. Also known as >50% attack or a *double spend* attack. An attacker can make a payment, wait till the merchant accepts some number of *confirmations* and provides the service, then starts mining a parallel chain of blocks starting with a block before the transaction. This parallel blockchain then includes another transaction that spends the same *outputs* on some other address. When the parallel chain becomes more *difficult*, it is considered a *main chain* by all nodes and the original transaction becomes invalid. Having more than a half of total *hashrate* guarantees possibility to overtake chain of any length, hence the name of an attack (strictly speaking, it is "more than 50%", not 51%). Also, even 40% of hashrate allows making a double spend, but the chances are less than 100% and are diminishing exponentially with the number of confirmations that the merchant requires.
About About
----- -----

View file

@ -32,6 +32,6 @@ Learn more about how LBRY works from this ecosystem overview.
## Keep Diving ## Keep Diving
- Explore live metadata and add your own blockchain entry on [the Tour](/tour). - Explore live metadata and add your own blockchain entry on [the Tour](/tour.html).
- Read the whitepaper, the API specification and other documentation in [Resources](/resources). - Read the whitepaper, the API specification and other documentation in [Resources](/resources/).
- Learn how to [contribute to LBRY](/contributing) or [build your own application](/build). - Learn how to [contribute to LBRY](/contribute/) or [build your own application](/build/).

View file

@ -2,4 +2,4 @@
title: Sitemap title: Sitemap
--- ---
<Sitemap></Sitemap> <Sitemap/>

View file

@ -4,4 +4,4 @@ title: Subscribe to our mailing list
Join our developer mailing list and you will receive updates about LBRY via email. Join our developer mailing list and you will receive updates about LBRY via email.
<EmailSubscribeLarge></EmailSubscribeLarge> <EmailSubscribeLarge/>

View file

@ -9,7 +9,6 @@ var async = require("async");
// Express etc // Express etc
var sslRedirect = require('heroku-ssl-redirect'); var sslRedirect = require('heroku-ssl-redirect');
var express = require('express'); var express = require('express');
var path = require('path');
var serveStatic = require('serve-static'); var serveStatic = require('serve-static');
var request = require('request'); var request = require('request');
var cors = require('cors'); var cors = require('cors');
@ -112,7 +111,7 @@ app.get('/github-feed', function(req, res) {
reply.forEach(function(item) { reply.forEach(function(item) {
events.push(JSON.parse(item)); events.push(JSON.parse(item));
}); });
res.json(events); res.json(events);
}); });
@ -167,7 +166,7 @@ function updateGithubFeed() {
var eventString = JSON.stringify(item); var eventString = JSON.stringify(item);
redisClient.zrank('events', eventString, function(err, reply) { redisClient.zrank('events', eventString, function(err, reply) {
if(reply == null) { if(reply == null) {
redisClient.zadd('events', item.id, eventString, callback); redisClient.zadd('events', item.id, eventString, callback);
@ -216,4 +215,4 @@ function logSlackError(text) {
// Update Github feed every minute // Update Github feed every minute
new CronJob("0 * * * * *", updateGithubFeed, null, true, 'America/Los_Angeles'); new CronJob("0 * * * * *", updateGithubFeed, null, true, 'America/Los_Angeles');
module.exports = app; module.exports = app;