coreapi

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2020 License: Apache-2.0, MIT, Apache-2.0, + 1 more Imports: 60 Imported by: 0

Documentation

Overview

Package coreapi provides direct access to the core commands in IPFS. If you are embedding IPFS directly in your Go program, this package is the public interface you should use to read and write files or otherwise control IPFS.

If you are running IPFS as a separate process, you should use `go-ipfs-api` to work with it via HTTP. As we finalize the interfaces here, `go-ipfs-api` will transparently adopt them so you can use the same code with either package.

**NOTE: this package is experimental.** `go-ipfs` has mainly been developed as a standalone application and library-style use of this package is still new. Interfaces here aren't yet completely stable.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCoreAPI

func NewCoreAPI(n *core.IpfsNode, opts ...options.ApiOption) (coreiface.CoreAPI, error)

NewCoreAPI creates new instance of IPFS CoreAPI backed by go-ipfs Node.

Types

type BlockAPI

type BlockAPI CoreAPI

func (*BlockAPI) Get

func (api *BlockAPI) Get(ctx context.Context, p path.Path) (io.Reader, error)

func (*BlockAPI) Put

func (api *BlockAPI) Put(ctx context.Context, src io.Reader, opts ...caopts.BlockPutOption) (coreiface.BlockStat, error)

func (*BlockAPI) Rm

func (api *BlockAPI) Rm(ctx context.Context, p path.Path, opts ...caopts.BlockRmOption) error

func (*BlockAPI) Stat

func (api *BlockAPI) Stat(ctx context.Context, p path.Path) (coreiface.BlockStat, error)

type BlockStat

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

func (*BlockStat) Path

func (bs *BlockStat) Path() path.Resolved

func (*BlockStat) Size

func (bs *BlockStat) Size() int

type CoreAPI

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

func (*CoreAPI) Block

func (api *CoreAPI) Block() coreiface.BlockAPI

Block returns the BlockAPI interface implementation backed by the go-ipfs node

func (*CoreAPI) Dag

func (api *CoreAPI) Dag() coreiface.APIDagService

Dag returns the DagAPI interface implementation backed by the go-ipfs node

func (*CoreAPI) Dht

func (api *CoreAPI) Dht() coreiface.DhtAPI

Dht returns the DhtAPI interface implementation backed by the go-ipfs node

func (*CoreAPI) Key

func (api *CoreAPI) Key() coreiface.KeyAPI

Key returns the KeyAPI interface implementation backed by the go-ipfs node

func (*CoreAPI) Name

func (api *CoreAPI) Name() coreiface.NameAPI

Name returns the NameAPI interface implementation backed by the go-ipfs node

func (*CoreAPI) Object

func (api *CoreAPI) Object() coreiface.ObjectAPI

Object returns the ObjectAPI interface implementation backed by the go-ipfs node

func (*CoreAPI) Pin

func (api *CoreAPI) Pin() coreiface.PinAPI

Pin returns the PinAPI interface implementation backed by the go-ipfs node

func (*CoreAPI) PubSub

func (api *CoreAPI) PubSub() coreiface.PubSubAPI

PubSub returns the PubSubAPI interface implementation backed by the go-ipfs node

func (*CoreAPI) ResolveNode

func (api *CoreAPI) ResolveNode(ctx context.Context, p path.Path) (ipld.Node, error)

ResolveNode resolves the path `p` using Unixfs resolver, gets and returns the resolved Node.

func (*CoreAPI) ResolvePath

func (api *CoreAPI) ResolvePath(ctx context.Context, p path.Path) (path.Resolved, error)

ResolvePath resolves the path `p` using Unixfs resolver, returns the resolved path.

func (*CoreAPI) Swarm

func (api *CoreAPI) Swarm() coreiface.SwarmAPI

Swarm returns the SwarmAPI interface implementation backed by the go-ipfs node

func (*CoreAPI) Unixfs

func (api *CoreAPI) Unixfs() coreiface.UnixfsAPI

Unixfs returns the UnixfsAPI interface implementation backed by the go-ipfs node

func (*CoreAPI) WithOptions

func (api *CoreAPI) WithOptions(opts ...options.ApiOption) (coreiface.CoreAPI, error)

WithOptions returns api with global options applied

type DhtAPI

type DhtAPI CoreAPI

func (*DhtAPI) FindPeer

func (api *DhtAPI) FindPeer(ctx context.Context, p peer.ID) (peer.AddrInfo, error)

func (*DhtAPI) FindProviders

func (api *DhtAPI) FindProviders(ctx context.Context, p path.Path, opts ...caopts.DhtFindProvidersOption) (<-chan peer.AddrInfo, error)

func (*DhtAPI) Provide

func (api *DhtAPI) Provide(ctx context.Context, path path.Path, opts ...caopts.DhtProvideOption) error

type KeyAPI

type KeyAPI CoreAPI

func (*KeyAPI) Generate

func (api *KeyAPI) Generate(ctx context.Context, name string, opts ...caopts.KeyGenerateOption) (coreiface.Key, error)

Generate generates new key, stores it in the keystore under the specified name and returns a base58 encoded multihash of its public key.

func (*KeyAPI) List

func (api *KeyAPI) List(ctx context.Context) ([]coreiface.Key, error)

List returns a list keys stored in keystore.

func (*KeyAPI) Remove

func (api *KeyAPI) Remove(ctx context.Context, name string) (coreiface.Key, error)

Remove removes keys from keystore. Returns ipns path of the removed key.

func (*KeyAPI) Rename

func (api *KeyAPI) Rename(ctx context.Context, oldName string, newName string, opts ...caopts.KeyRenameOption) (coreiface.Key, bool, error)

Rename renames `oldName` to `newName`. Returns the key and whether another key was overwritten, or an error.

func (*KeyAPI) Self

func (api *KeyAPI) Self(ctx context.Context) (coreiface.Key, error)
type Link struct {
	Name, Hash string
	Size       uint64
}

type NameAPI

type NameAPI CoreAPI

func (*NameAPI) Publish

func (api *NameAPI) Publish(ctx context.Context, p path.Path, opts ...caopts.NamePublishOption) (coreiface.IpnsEntry, error)

Publish announces new IPNS name and returns the new IPNS entry.

func (*NameAPI) Resolve

func (api *NameAPI) Resolve(ctx context.Context, name string, opts ...caopts.NameResolveOption) (path.Path, error)

Resolve attempts to resolve the newest version of the specified name and returns its path.

func (*NameAPI) Search

func (api *NameAPI) Search(ctx context.Context, name string, opts ...caopts.NameResolveOption) (<-chan coreiface.IpnsResult, error)

type Node

type Node struct {
	Links []Link
	Data  string
}

type ObjectAPI

type ObjectAPI CoreAPI
func (api *ObjectAPI) AddLink(ctx context.Context, base ipath.Path, name string, child ipath.Path, opts ...caopts.ObjectAddLinkOption) (ipath.Resolved, error)

func (*ObjectAPI) AppendData

func (api *ObjectAPI) AppendData(ctx context.Context, path ipath.Path, r io.Reader) (ipath.Resolved, error)

func (*ObjectAPI) Data

func (api *ObjectAPI) Data(ctx context.Context, path ipath.Path) (io.Reader, error)

func (*ObjectAPI) Diff

func (api *ObjectAPI) Diff(ctx context.Context, before ipath.Path, after ipath.Path) ([]coreiface.ObjectChange, error)

func (*ObjectAPI) Get

func (api *ObjectAPI) Get(ctx context.Context, path ipath.Path) (ipld.Node, error)
func (api *ObjectAPI) Links(ctx context.Context, path ipath.Path) ([]*ipld.Link, error)

func (*ObjectAPI) New

func (api *ObjectAPI) New(ctx context.Context, opts ...caopts.ObjectNewOption) (ipld.Node, error)

func (*ObjectAPI) Put

func (api *ObjectAPI) Put(ctx context.Context, src io.Reader, opts ...caopts.ObjectPutOption) (ipath.Resolved, error)
func (api *ObjectAPI) RmLink(ctx context.Context, base ipath.Path, link string) (ipath.Resolved, error)

func (*ObjectAPI) SetData

func (api *ObjectAPI) SetData(ctx context.Context, path ipath.Path, r io.Reader) (ipath.Resolved, error)

func (*ObjectAPI) Stat

func (api *ObjectAPI) Stat(ctx context.Context, path ipath.Path) (*coreiface.ObjectStat, error)

type PinAPI

type PinAPI CoreAPI

func (*PinAPI) Add

func (api *PinAPI) Add(ctx context.Context, p path.Path, opts ...caopts.PinAddOption) error

func (*PinAPI) IsPinned

func (api *PinAPI) IsPinned(ctx context.Context, p path.Path, opts ...caopts.PinIsPinnedOption) (string, bool, error)

func (*PinAPI) Ls

func (api *PinAPI) Ls(ctx context.Context, opts ...caopts.PinLsOption) (<-chan coreiface.Pin, error)

func (*PinAPI) Rm

func (api *PinAPI) Rm(ctx context.Context, p path.Path, opts ...caopts.PinRmOption) error

Rm pin rm api

func (*PinAPI) Update

func (api *PinAPI) Update(ctx context.Context, from path.Path, to path.Path, opts ...caopts.PinUpdateOption) error

func (*PinAPI) Verify

func (api *PinAPI) Verify(ctx context.Context) (<-chan coreiface.PinStatus, error)

type ProviderAPI

type ProviderAPI CoreAPI

ProviderAPI brings Provider behavior to CoreAPI

func (*ProviderAPI) Provide

func (api *ProviderAPI) Provide(cid cid.Cid) error

Provide the given cid using the current provider

type PubSubAPI

type PubSubAPI CoreAPI

func (*PubSubAPI) Ls

func (api *PubSubAPI) Ls(ctx context.Context) ([]string, error)

func (*PubSubAPI) Peers

func (api *PubSubAPI) Peers(ctx context.Context, opts ...caopts.PubSubPeersOption) ([]peer.ID, error)

func (*PubSubAPI) Publish

func (api *PubSubAPI) Publish(ctx context.Context, topic string, data []byte) error

func (*PubSubAPI) Subscribe

type SwarmAPI

type SwarmAPI CoreAPI

func (*SwarmAPI) Connect

func (api *SwarmAPI) Connect(ctx context.Context, pi peer.AddrInfo) error

func (*SwarmAPI) Disconnect

func (api *SwarmAPI) Disconnect(ctx context.Context, addr ma.Multiaddr) error

func (*SwarmAPI) KnownAddrs

func (api *SwarmAPI) KnownAddrs(context.Context) (map[peer.ID][]ma.Multiaddr, error)

func (*SwarmAPI) ListenAddrs

func (api *SwarmAPI) ListenAddrs(context.Context) ([]ma.Multiaddr, error)

func (*SwarmAPI) LocalAddrs

func (api *SwarmAPI) LocalAddrs(context.Context) ([]ma.Multiaddr, error)

func (*SwarmAPI) Peers

type UnixfsAPI

type UnixfsAPI CoreAPI

func (*UnixfsAPI) Add

func (api *UnixfsAPI) Add(ctx context.Context, files files.Node, opts ...options.UnixfsAddOption) (path.Resolved, error)

Add builds a merkledag node from a reader, adds it to the blockstore, and returns the key representing that node.

func (*UnixfsAPI) Get

func (api *UnixfsAPI) Get(ctx context.Context, p path.Path) (files.Node, error)

func (*UnixfsAPI) Ls

func (api *UnixfsAPI) Ls(ctx context.Context, p path.Path, opts ...options.UnixfsLsOption) (<-chan coreiface.DirEntry, error)

Ls returns the contents of an IPFS or IPNS object(s) at path p, with the format: `<link base58 hash> <link size in bytes> <link name>`

Jump to

Keyboard shortcuts

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