ipfsutil

package
v2.55.0 Latest Latest
Warning

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

Go to latest
Published: May 4, 2020 License: Apache-2.0, MIT Imports: 39 Imported by: 0

Documentation

Overview

Package ipfsutil contains helpers around IPFS (logging, datastore, networking, core API, ...).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateBuildConfig added in v2.53.1

func CreateBuildConfig(opts *CoreAPIConfig) (*ipfs_node.BuildCfg, error)

func CreateRepo

func CreateRepo(dstore ipfs_datastore.Batching, opts *CoreAPIConfig) (ipfs_repo.Repo, error)

func NewConfigurableCoreAPI

func NewConfigurableCoreAPI(ctx context.Context, bcfg *ipfs_node.BuildCfg, opts ...CoreAPIOption) (ipfs_interface.CoreAPI, *ipfs_core.IpfsNode, error)

NewConfigurableCoreAPI returns an IPFS CoreAPI from a provided ipfs_node.BuildCfg

func NewCoreAPI added in v2.53.1

func NewDatastoreKeystore

func NewDatastoreKeystore(ds datastore.Datastore) keystore.Keystore

func NewNamespacedDatastore

func NewNamespacedDatastore(child ds.Datastore, prefix ds.Key) ds.Batching

func NewTinderRouting added in v2.50.0

func NewTinderRouting(logger *zap.Logger, rdvpeer *peer.AddrInfo, dhtclient bool) (ipfs_p2p.RoutingOption, <-chan *RoutingOut)

func OptionMDNSDiscovery

func OptionMDNSDiscovery(ctx context.Context, node *ipfs_core.IpfsNode, api ipfs_interface.CoreAPI) error

func ParseAndResolveIpfsAddr added in v2.53.1

func ParseAndResolveIpfsAddr(ctx context.Context, addr string) (*peer.AddrInfo, error)

parseIpfsAddr is a function that takes in addr string and return ipfsAddrs

func TestingRDVP added in v2.50.0

func TestingRDVP(ctx context.Context, t testing.TB, h host.Host) (*rendezvous.RendezvousService, func())

func TestingRepo added in v2.31.1

func TestingRepo(t testing.TB) ipfs_repo.Repo

Types

type CoreAPIConfig added in v2.53.1

type CoreAPIConfig struct {
	Datastore ipfs_datastore.Batching

	BootstrapAddrs []string
	SwarmAddrs     []string

	ExtraLibp2pOption p2p.Option
	Routing           ipfs_libp2p.RoutingOption
}

type CoreAPIMock

type CoreAPIMock interface {
	ipfs_interface.CoreAPI

	Tinder() tinder.Driver
	MockNetwork() libp2p_mocknet.Mocknet
	MockNode() *ipfs_core.IpfsNode
	Close()
}

CoreAPIMock implements ipfs.CoreAPI and adds some debugging helpers

func TestingCoreAPI

func TestingCoreAPI(ctx context.Context, t testing.TB) (CoreAPIMock, func())

TestingCoreAPI returns a fully initialized mocked Core API. If you want to do some tests involving multiple peers you should use `TestingCoreAPIUsingMockNet` with the same mocknet instead.

func TestingCoreAPIUsingMockNet

func TestingCoreAPIUsingMockNet(ctx context.Context, t testing.TB, opts *TestingAPIOpts) (api CoreAPIMock, cleanup func())

TestingCoreAPIUsingMockNet returns a fully initialized mocked Core API with the given mocknet

type CoreAPIOption added in v2.53.1

type DiscoveryNotifee

type DiscoveryNotifee struct {
	// contains filtered or unexported fields
}

func (*DiscoveryNotifee) HandlePeerFound

func (n *DiscoveryNotifee) HandlePeerFound(pi peer.AddrInfo)

type RoutingOut added in v2.50.0

type RoutingOut struct {
	*dht.IpfsDHT
	tinder.Routing
}

type TestingAPIOpts added in v2.50.0

type TestingAPIOpts struct {
	Mocknet libp2p_mocknet.Mocknet
	RDVPeer peer.AddrInfo
}

Jump to

Keyboard shortcuts

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