favor

package module
v1.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

README

FavorX - Readme

1 Introduction

FavorX is an underlying layer for decentralized storage and content distraction used by the application - FavorTube, which is also an application module on the FavorX protocol stack. FavorX implements a complete protocol stack of different functional modules from the base blockchain to the applications, and the complete decentralization for file storage, content distribution, data retrieval, and purchase transactions.

2 Usage

As the first decentralized application of FavorX, FavorTube is directly connected to the blockchain on the mobile terminal via P2P networks and is the first fully decentralized application project that supports the implementation of the mobile terminal. FavorTube implements the first decentralized streaming media content creation platform with commercial capabilities through the multi-layer decentralized protocol stack FavorX, and FavorX provides decentralized storage and content distribution for FavorTube.

FavorTube adds the dedicated protocols and smart contracts required by itself to the FavorX protocol stack, implementing a completely decentralized content creation platform. Since FavorTube is based on the basic protocol stack of FavorX, file transfers are carried out through FavorX, and the files may be transferred in segments.

In FavorX, the TPS of storage matching and content distribution subchain is 1000 with 16 shards, while the TPS of the decentralized database is 2000 with only one shard. The FavorTube protocol layer contains the protocol interface between the FavorTube applications and the FavorX base chains and subchains. Since FavorX is a decentralized system, FavorTube does not have ownership of the data, which belongs to the creators on FavorTube, while any application can use the FavorTube protocol to access the data on FavorX, thereby completing its own FavorTube implementation.

3 Installation

To start a FavorX node, you can download FavorX, build the FavorX executable files, launch FavorX, and make some important configurations of FavorX.

For detailed information on installation, please refer to the following web pages:

https://docs.favorlabs.io/docs/installation/quick-start/

https://docs.favorlabs.io/docs/installation/build-from-source

https://docs.favorlabs.io/docs/installation/launch-favorX

https://docs.favorlabs.io/docs/installation/configuration

4 Configuration

After the installation of FavorX is complete, if the configuration is not filled in properly, the accounting function may not work properly. In order to get the node up and running properly during the pre-testnet phase, please ensure that the configuration is correct.

For detailed information on configuration, please refer to the following web pages:

https://docs.favorlabs.io/docs/pre-testnet-reference/polygon-config

https://docs.favorlabs.io/docs/pre-testnet-reference/metis-config

https://docs.favorlabs.io/docs/pre-testnet-reference/okc-config

https://docs.favorlabs.io/docs/pre-testnet-reference/links-to-test-nodes

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Version = func() string {
		if commitHash != "" {
			return version + "-" + commitHash
		}
		return version + "-dev"
	}()

	// CommitTime returns the time of the commit from which this code was derived.
	// If it's not set (in the case of running the code directly without compilation)
	// then the current time will be returned.
	CommitTime = func() string {
		if commitTime == "" {
			commitTime = strconv.Itoa(int(time.Now().Unix()))
		}
		return commitTime
	}
)

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
cmd
pkg
accounting
Package accounting provides functionalities needed to do per-peer accounting.
Package accounting provides functionalities needed to do per-peer accounting.
accounting/mock
Package mock provides a mock implementation for the accounting interface.
Package mock provides a mock implementation for the accounting interface.
address
Package address Package exposes the data structure and operations necessary on the address.Address type which used in the handshake protocol, address-book and hive protocol.
Package address Package exposes the data structure and operations necessary on the address.Address type which used in the handshake protocol, address-book and hive protocol.
addressbook
Package addressbook provides persisted mapping between overlay (topology) address and address.Address, which contains underlay (physical) address.
Package addressbook provides persisted mapping between overlay (topology) address and address.Address, which contains underlay (physical) address.
api
bitvector
Package bitvector provides functionality of a simple bit vector implementation.
Package bitvector provides functionality of a simple bit vector implementation.
bmt
Package bmt implements Binary Merkle Tree hash.
Package bmt implements Binary Merkle Tree hash.
bmt/reference
Package reference is a simple nonconcurrent reference implementation for hashsize segment based Binary Merkle tree hash on arbitrary but fixed maximum chunksize n where 0 <= n <= 4096
Package reference is a simple nonconcurrent reference implementation for hashsize segment based Binary Merkle tree hash on arbitrary but fixed maximum chunksize n where 0 <= n <= 4096
bmtpool
Package bmtpool provides easy access to binary merkle tree hashers managed in as a resource pool.
Package bmtpool provides easy access to binary merkle tree hashers managed in as a resource pool.
boson
Package boson contains most basic and general FavorX concepts.
Package boson contains most basic and general FavorX concepts.
cac
chunkinfo/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
discovery
Package discovery exposes the discovery driver interface which is implemented by discovery protocols.
Package discovery exposes the discovery driver interface which is implemented by discovery protocols.
encryption
Package encryption exposes functionalities needed for encryption and decryption operations
Package encryption exposes functionalities needed for encryption and decryption operations
file
Package file provides interfaces for file-oriented operations.
Package file provides interfaces for file-oriented operations.
file/joiner
Package joiner provides implementations of the file.Joiner interface
Package joiner provides implementations of the file.Joiner interface
file/pipeline
Package pipeline provides functionality for hashing pipelines needed to create different flavors of merkelised representations of arbitrary data.
Package pipeline provides functionality for hashing pipelines needed to create different flavors of merkelised representations of arbitrary data.
file/splitter
Package splitter provides implementations of the file.Splitter interface
Package splitter provides implementations of the file.Splitter interface
hive2/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
jsonhttp
Package jsonhttp contains utility functions that make it easier to create JSON-based HTTP APIs.
Package jsonhttp contains utility functions that make it easier to create JSON-based HTTP APIs.
jsonhttp/jsonhttptest
Package jsonhttptest helps with end-to-end testing of JSON-based HTTP APIs.
Package jsonhttptest helps with end-to-end testing of JSON-based HTTP APIs.
localstore
Package localstore provides disk storage layer for file Chunk persistence.
Package localstore provides disk storage layer for file Chunk persistence.
logging
Package logging provides the logger interface abstraction and implementation for FavorX. It uses logrus under the hood.
Package logging provides the logger interface abstraction and implementation for FavorX. It uses logrus under the hood.
manifest
Package manifest contains the abstractions needed for collection representation, It uses implementations in ethersphere/manifest repo under the hood.
Package manifest contains the abstractions needed for collection representation, It uses implementations in ethersphere/manifest repo under the hood.
multicast/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
netstore
Package netstore provides an abstraction layer over the File local storage layer that leverages connectivity with other peers in order to retrieve chunks from the network that cannot be found locally.
Package netstore provides an abstraction layer over the File local storage layer that leverages connectivity with other peers in order to retrieve chunks from the network that cannot be found locally.
p2p
Package p2p provides the peer-to-peer abstractions used across different protocols
Package p2p provides the peer-to-peer abstractions used across different protocols
p2p/libp2p/internal/handshake/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
p2p/libp2p/internal/headers/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
p2p/libp2p/internal/reacher
Package reacher runs a background worker that will ping peers from an internal queue and report back the reachability to the notifier.
Package reacher runs a background worker that will ping peers from an internal queue and report back the reachability to the notifier.
p2p/protobuf/internal/pb
Package pb holds only Protocol Buffer definitions and generated code for testing purposes.
Package pb holds only Protocol Buffer definitions and generated code for testing purposes.
pingpong
Package pingpong exposes the simple ping-pong protocol which measures round-trip-time with other peers.
Package pingpong exposes the simple ping-pong protocol which measures round-trip-time with other peers.
pingpong/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
pinning
Package pinning provides a simple set of operations for tracking pinned references.
Package pinning provides a simple set of operations for tracking pinned references.
resolver
Package resolver handles name resolution for the node.
Package resolver handles name resolution for the node.
routetab/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
rpc
Package rpc implements bi-directional JSON-RPC 2.0 on multiple transports.
Package rpc implements bi-directional JSON-RPC 2.0 on multiple transports.
sctx
Package sctx provides convenience methods for context value injection and extraction.
Package sctx provides convenience methods for context value injection and extraction.
settlement/traffic/trafficprotocol/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
shed
Package shed provides a simple abstraction components to compose more complex operations on storage data organized in fields and indexes.
Package shed provides a simple abstraction components to compose more complex operations on storage data organized in fields and indexes.
soc
Package soc provides the single-owner chunk implementation and validator.
Package soc provides the single-owner chunk implementation and validator.
statestore
Package statestore provides statestore implementation and mock.
Package statestore provides statestore implementation and mock.
storage
Package storage provides implementation contracts and notions used across storage-aware components
Package storage provides implementation contracts and notions used across storage-aware components
topology
Package topology exposes abstractions needed in topology-aware components.
Package topology exposes abstractions needed in topology-aware components.
topology/kademlia
Package kademlia provides an implementation of the topology.Driver interface in a way that a kademlia connectivity is actively maintained by the node.
Package kademlia provides an implementation of the topology.Driver interface in a way that a kademlia connectivity is actively maintained by the node.
topology/kademlia/internal/metrics
Package metrics provides service for collecting various metrics about peers.
Package metrics provides service for collecting various metrics about peers.
topology/kademlia/internal/waitnext
Package waitnext Package metrics provides service for collecting various metrics about peers.
Package waitnext Package metrics provides service for collecting various metrics about peers.
tracing
Package tracing helps with the propagation of the tracing span through context in the system.
Package tracing helps with the propagation of the tracing span through context in the system.
traversal
Package traversal provides abstraction and implementation needed to traverse all chunks below a given root hash.
Package traversal provides abstraction and implementation needed to traverse all chunks below a given root hash.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL