node

package
v0.0.0-...-7d4678c Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2019 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Core groups basic IPFS services

IPNS groups namesys related units

Functions

func BaseBlockstoreCtor

func BaseBlockstoreCtor(cacheOpts blockstore.CacheOpts, nilRepo bool, hashOnRead bool) func(mctx helpers.MetricsCtx, repo repo.Repo, lc fx.Lifecycle) (bs BaseBlocks, err error)

BaseBlockstoreCtor creates cached blockstore backed by the provided datastore

func BlockService

func BlockService(lc fx.Lifecycle, bs blockstore.Blockstore, rem exchange.Interface) blockservice.BlockService

BlockService creates new blockservice which provides an interface to fetch content-addressable blocks

func Dag

func Dag(bs blockservice.BlockService) format.DAGService

Dag creates new DAGService

func Datastore

func Datastore(repo repo.Repo) datastore.Datastore

Datastore provides the datastore

func GcBlockstoreCtor

func GcBlockstoreCtor(bb BaseBlocks) (gclocker blockstore.GCLocker, gcbs blockstore.GCBlockstore, bs blockstore.Blockstore)

GcBlockstoreCtor wraps the base blockstore with GC and Filestore layers

func IPFS

func IPFS(ctx context.Context, bcfg *BuildCfg) fx.Option

IPFS builds a group of fx Options based on the passed BuildCfg

func Identity

func Identity(cfg *config.Config) fx.Option

Identity groups units providing cryptographic identity

func LibP2P

func LibP2P(bcfg *BuildCfg, cfg *config.Config) fx.Option

func Networked

func Networked(bcfg *BuildCfg, cfg *config.Config) fx.Option

func Offline

func Offline(cfg *config.Config) fx.Option

Offline groups offline alternatives to Online units

func Online

func Online(bcfg *BuildCfg, cfg *config.Config) fx.Option

Online groups online-only units

func OnlineExchange

func OnlineExchange(provide bool) interface{}

OnlineExchange creates new LibP2P backed block exchange (BitSwap)

func PeerID

func PeerID(id peer.ID) func() peer.ID

func PrivateKey

func PrivateKey(sk crypto.PrivKey) func(id peer.ID) (crypto.PrivKey, error)

PrivateKey loads the private key from config

func RecordValidator

func RecordValidator(ps peerstore.Peerstore) record.Validator

RecordValidator provides namesys compatible routing record validator

func RepoConfig

func RepoConfig(repo repo.Repo) (*config.Config, error)

RepoConfig loads configuration from the repo

func Storage

func Storage(bcfg *BuildCfg, cfg *config.Config) fx.Option

Storage groups units which setup datastore based persistence and blockstore layers

Types

type BaseBlocks

type BaseBlocks blockstore.Blockstore

BaseBlocks is the lower level blockstore without GC or Filestore layers

type BuildCfg

type BuildCfg struct {
	// If online is set, the node will have networking enabled
	Online bool

	// ExtraOpts is a map of extra options used to configure the ipfs nodes creation
	ExtraOpts map[string]bool

	// If permanent then node should run more expensive processes
	// that will improve performance in long run
	Permanent bool

	Routing libp2p.RoutingOption
	Host    libp2p.HostOption
	Repo    repo.Repo
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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