"use strict"; // P A C K A G E S const Component = require("choo/component"); const dedent = require("dedent"); const html = require("choo-async/html"); // E X P O R T module.exports = exports = class Ecosystem extends Component { constructor() { super(); this.subModuleChainquery = html`

chainquery

Overview

The model of Chainquery at its foundation consists of the fundamental data types found in the blockchain. This information is then expounded on with additional columns and tables that make querying the data much easier.

Connection to...

Source

`; this.subModuleWallet = html`

wallet server

Overview

The LBRY app is a graphical browser for the decentralized content marketplace provided by the LBRY protocol. It is essentially the lbry daemon bundled with an UI using Electron.

Connection to...

Source

`; this.subModuleLighthouse = html`

lighthouse

Overview

Lighthouse is a lightning-fast advanced search engine API for publications on the lbrycrd with autocomplete capabilities.

Connection to...

Source

`; this.subModuleReflector = html`

reflector

Overview

A reflector cluster to accept LBRY content for hosting en masse, rehost the content, and make money on data fees (TODO). This code includes Go implementations of the LBRY peer protocol, reflector protocol, and DHT.

Connection to...

Source

`; this.moduleLbrycrd = html`
×

Blockchain The foundation of the LBRY protocol
lbrycrd

This section assumes "blockchain" already means something to you. If you're totally new, the key problem solved by blockhain is the ability for distributed, disparate entities to all agree on a rivalrous state of affairs. For a more comprehensive introduction to blockchain, try starting [here]

The LBRY blockchain is a public, proof-of-work of work blockchain consensus. It is the foundation of the protocol stack.

The most salient feature of the LBRY blockchain is the association of a normalized character string with up to 8KB of metadata. This string of characters forms a LBRY URL, e.g. lbry://hellolbry

The LBRY blockchain contains two parallel [[Merkle Tree]]s, one for transactions (ala Bitcoin) and one for storing LBRY URLs and metadata. This allows LBRY URLs to be trustfully resolved even without a full copy of the blockchain.

Conventionally, this metadata contains information about the content, such as the title and creator, the price (if any), and a unique signature allowing the actual content to be fetched from the data network, the next level in the LBRY stack.

Additional Resources

`; this.moduleLbry = html`
×

Data Network The "nuts and bolts" (fix this) of the LBRY protocol
lbry lbryschema torba

While blockchain is the innovation that makes LBRY possible, the Data Network is the layer that actually makes the blockchain useful.

The primary component for this level is lbry, a daemon that:

Unless choosing to re-implement aspects of the LBRY protocol by hand, most applications that interact with the LBRY network will bundle lbry.

Additional Resources

`; this.moduleApplications = html`
×

Applications Browsers, spee.ch, and ∞
android desktop spee.ch

Applications are the final level of the LBRY stack, and they represent how most people will actually use LBRY.

LBRY Inc. currently releases and maintains three applications:

However, the very idea of LBRY is that there's not just one way to interact with the network. Anyone can build on top of LBRY in a permissionless manner. These applications exist to show what's possible and to give new users a user-friendly way to use LBRY.

Additional Resources

`; } createElement() { return dedent`
${this.moduleLbrycrd} ${this.moduleLbry} ${this.moduleApplications}
`; } load() { } unload() { } update() { return false; } };