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 ¶
- func NewCoreAPI(n *core.IpfsNode, opts ...options.ApiOption) (coreiface.CoreAPI, error)
- func RmBlocks(blocks bs.GCBlockstore, cids []cid.Cid, opts RmBlocksOpts) (<-chan interface{}, error)
- type BlockAPI
- func (api *BlockAPI) Get(ctx context.Context, p path.Path) (io.Reader, error)
- func (api *BlockAPI) Put(ctx context.Context, src io.Reader, opts ...caopts.BlockPutOption) (coreiface.BlockStat, error)
- func (api *BlockAPI) Rm(ctx context.Context, p path.Path, opts ...caopts.BlockRmOption) error
- func (api *BlockAPI) Stat(ctx context.Context, p path.Path) (coreiface.BlockStat, error)
- type BlockStat
- type CoreAPI
- func (api *CoreAPI) Block() coreiface.BlockAPI
- func (api *CoreAPI) Dag() coreiface.APIDagService
- func (api *CoreAPI) Dht() coreiface.DhtAPI
- func (api *CoreAPI) Key() coreiface.KeyAPI
- func (api *CoreAPI) Name() coreiface.NameAPI
- func (api *CoreAPI) Object() coreiface.ObjectAPI
- func (api *CoreAPI) Pin() coreiface.PinAPI
- func (api *CoreAPI) PubSub() coreiface.PubSubAPI
- func (api *CoreAPI) ResolveNode(ctx context.Context, p path.Path) (ipld.Node, error)
- func (api *CoreAPI) ResolvePath(ctx context.Context, p path.Path) (path.Resolved, error)
- func (api *CoreAPI) Swarm() coreiface.SwarmAPI
- func (api *CoreAPI) Unixfs() coreiface.UnixfsAPI
- func (api *CoreAPI) WithOptions(opts ...options.ApiOption) (coreiface.CoreAPI, error)
- type DhtAPI
- func (api *DhtAPI) FindPeer(ctx context.Context, p peer.ID) (peer.AddrInfo, error)
- func (api *DhtAPI) FindProviders(ctx context.Context, p path.Path, opts ...caopts.DhtFindProvidersOption) (<-chan peer.AddrInfo, error)
- func (api *DhtAPI) Provide(ctx context.Context, path path.Path, opts ...caopts.DhtProvideOption) error
- type Link
- type Node
- type ObjectAPI
- func (api *ObjectAPI) AddLink(ctx context.Context, base ipath.Path, name string, child ipath.Path, ...) (ipath.Resolved, error)
- func (api *ObjectAPI) AppendData(ctx context.Context, path ipath.Path, r io.Reader) (ipath.Resolved, error)
- func (api *ObjectAPI) Data(ctx context.Context, path ipath.Path) (io.Reader, error)
- func (api *ObjectAPI) Diff(ctx context.Context, before ipath.Path, after ipath.Path) ([]coreiface.ObjectChange, error)
- 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 (api *ObjectAPI) New(ctx context.Context, opts ...caopts.ObjectNewOption) (ipld.Node, error)
- 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 (api *ObjectAPI) SetData(ctx context.Context, path ipath.Path, r io.Reader) (ipath.Resolved, error)
- func (api *ObjectAPI) Stat(ctx context.Context, path ipath.Path) (*coreiface.ObjectStat, error)
- type PubSubAPI
- func (api *PubSubAPI) Ls(ctx context.Context) ([]string, error)
- func (api *PubSubAPI) Peers(ctx context.Context, opts ...caopts.PubSubPeersOption) ([]peer.ID, error)
- func (api *PubSubAPI) Publish(ctx context.Context, topic string, data []byte) error
- func (api *PubSubAPI) Subscribe(ctx context.Context, topic string, opts ...caopts.PubSubSubscribeOption) (coreiface.PubSubSubscription, error)
- type RemovedBlock
- type RmBlocksOpts
- type SwarmAPI
- func (api *SwarmAPI) Connect(ctx context.Context, pi peer.AddrInfo) error
- func (api *SwarmAPI) Disconnect(ctx context.Context, addr ma.Multiaddr) error
- func (api *SwarmAPI) KnownAddrs(context.Context) (map[peer.ID][]ma.Multiaddr, error)
- func (api *SwarmAPI) ListenAddrs(context.Context) ([]ma.Multiaddr, error)
- func (api *SwarmAPI) LocalAddrs(context.Context) ([]ma.Multiaddr, error)
- func (api *SwarmAPI) Peers(context.Context) ([]coreiface.ConnectionInfo, error)
- type UnixfsAPI
- func (api *UnixfsAPI) Add(ctx context.Context, files files.Node, opts ...options.UnixfsAddOption) (path.Resolved, error)
- func (api *UnixfsAPI) Get(ctx context.Context, p path.Path) (files.Node, error)
- func (api *UnixfsAPI) Ls(ctx context.Context, p path.Path, opts ...options.UnixfsLsOption) (<-chan coreiface.DirEntry, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCoreAPI ¶
NewCoreAPI creates new instance of IPFS CoreAPI backed by go-ipfs Node.
func RmBlocks ¶
func RmBlocks(blocks bs.GCBlockstore, cids []cid.Cid, opts RmBlocksOpts) (<-chan interface{}, error)
RmBlocks removes the blocks provided in the cids slice. It returns a channel where objects of type RemovedBlock are placed, when not using the Quiet option. Block removal is asynchronous and will skip any pinned blocks.
Types ¶
type BlockAPI ¶
type BlockAPI CoreAPI
type CoreAPI ¶
type CoreAPI struct {
// contains filtered or unexported fields
}
func (*CoreAPI) Block ¶
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) Object ¶
Object returns the ObjectAPI interface implementation backed by the go-ipfs node
func (*CoreAPI) PubSub ¶
PubSub returns the PubSubAPI interface implementation backed by the go-ipfs node
func (*CoreAPI) ResolveNode ¶
ResolveNode resolves the path `p` using Unixfs resolver, gets and returns the resolved Node.
func (*CoreAPI) ResolvePath ¶
ResolvePath resolves the path `p` using Unixfs resolver, returns the resolved path.
func (*CoreAPI) Swarm ¶
Swarm returns the SwarmAPI interface implementation backed by the go-ipfs node
type ObjectAPI ¶
type ObjectAPI CoreAPI
func (*ObjectAPI) AppendData ¶
type RemovedBlock ¶
type RmBlocksOpts ¶
RmBlocksOpts is used to wrap options for RmBlocks().
type SwarmAPI ¶
type SwarmAPI CoreAPI
func (*SwarmAPI) Disconnect ¶
func (*SwarmAPI) KnownAddrs ¶
func (*SwarmAPI) ListenAddrs ¶
func (*SwarmAPI) LocalAddrs ¶
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.