Version: gx/v1.3.5

Source: https://github.com/ipfs/go-ipfs-api/

import "github.com/ipfs/go-ipfs-api"


package shell implements a remote API interface for a running ipfs daemon



const (
    DefaultPathName = ".ipfs"
    DefaultPathRoot = "~/" + DefaultPathName
    DefaultApiFile  = "api"
    EnvDir          = "IPFS_PATH"
const (
    TRaw = iota
const (
    DirectPin    = "direct"
    RecursivePin = "recursive"
    IndirectPin  = "indirect"

type Error

type Error struct {
    Command string
    Message string
    Code    int

func (*Error) Error

func (e *Error) Error() string

type IdOutput

type IdOutput struct {
    ID              string
    PublicKey       string
    Addresses       []string
    AgentVersion    string
    ProtocolVersion string

type IpfsObject

type IpfsObject struct {
    Links []ObjectLink
    Data  string

type LsLink struct {
    Hash string
    Name string
    Size uint64
    Type int

type LsObject

type LsObject struct {
    Links []*LsLink

type ObjectLink struct {
    Name, Hash string
    Size       uint64

type ObjectStats

type ObjectStats struct {
    Hash           string
    BlockSize      int
    CumulativeSize int
    DataSize       int
    LinksSize      int
    NumLinks       int

type PeerInfo

type PeerInfo struct {
    Addrs []string
    ID    string

type PeersList

type PeersList struct {
    Peers []string

type PinInfo

type PinInfo struct {
    Type string

type PubSubRecord

type PubSubRecord interface {
    // From returns the peer ID of the node that published this record
    From() peer.ID

    // Data returns the data field
    Data() []byte

    // SeqNo is the sequence number of this record
    SeqNo() int64

    //TopicIDs is the list of topics this record belongs to
    TopicIDs() []string

PubSubRecord is a record received via PubSub.

type PubSubSubscription

type PubSubSubscription struct {
    // contains filtered or unexported fields

PubSubSubscription allow you to receive pubsub records that where published on the network.

func (*PubSubSubscription) Cancel

func (s *PubSubSubscription) Cancel() error

Cancel cancels the given subscription.

func (*PubSubSubscription) Next

func (s *PubSubSubscription) Next() (PubSubRecord, error)

Next waits for the next record and returns that.

type PublishResponse

type PublishResponse struct {
    Name  string `json:"name"`
    Value string `json:"value"`

type Request

type Request struct {
    ApiBase string
    Command string
    Args    []string
    Opts    map[string]string
    Body    io.Reader
    Headers map[string]string

func NewRequest

func NewRequest(ctx context.Context, url, command string, args ...string) *Request

func (*Request) Send

func (r *Request) Send(c *http.Client) (*Response, error)

type RequestBuilder

type RequestBuilder struct {
    // contains filtered or unexported fields

RequestBuilder is an IPFS commands request builder.

func (*RequestBuilder) Arguments

func (r *RequestBuilder) Arguments(args ...string) *RequestBuilder

Arguments adds the arguments to the args.

func (*RequestBuilder) Body

func (r *RequestBuilder) Body(body io.Reader) *RequestBuilder

Body sets the request body to the given reader.

func (*RequestBuilder) BodyBytes

func (r *RequestBuilder) BodyBytes(body []byte) *RequestBuilder

BodyBytes sets the request body to the given buffer.

func (*RequestBuilder) BodyString

func (r *RequestBuilder) BodyString(body string) *RequestBuilder

BodyString sets the request body to the given string.

func (*RequestBuilder) Exec

func (r *RequestBuilder) Exec(ctx context.Context, res interface{}) error

Exec sends the request a request and decodes the response.

func (*RequestBuilder) Header

func (r *RequestBuilder) Header(name, value string) *RequestBuilder

Header sets the given header.

func (*RequestBuilder) Option

func (r *RequestBuilder) Option(key string, value interface{}) *RequestBuilder

Option sets the given option.

func (*RequestBuilder) Send

func (r *RequestBuilder) Send(ctx context.Context) (*Response, error)

Send sends the request and return the response.

type Response

type Response struct {
    Output io.ReadCloser
    Error  *Error

func (*Response) Close

func (r *Response) Close() error

func (*Response) Decode

func (r *Response) Decode(dec interface{}) error

type Shell

type Shell struct {
    // contains filtered or unexported fields

func NewLocalShell

func NewLocalShell() *Shell

func NewShell

func NewShell(url string) *Shell

func NewShellWithClient

func NewShellWithClient(url string, c *gohttp.Client) *Shell

func (*Shell) Add

func (s *Shell) Add(r io.Reader) (string, error)

Add a file to ipfs from the given reader, returns the hash of the added file

func (*Shell) AddDir

func (s *Shell) AddDir(dir string) (string, error)

AddDir adds a directory recursively with all of the files under it

func (s *Shell) AddLink(target string) (string, error)

func (*Shell) AddNoPin

func (s *Shell) AddNoPin(r io.Reader) (string, error)

AddNoPin a file to ipfs from the given reader, returns the hash of the added file without pinning the file

func (*Shell) AddWithOpts

func (s *Shell) AddWithOpts(r io.Reader, pin bool, rawLeaves bool) (string, error)

func (*Shell) BlockGet

func (s *Shell) BlockGet(path string) ([]byte, error)

func (*Shell) BlockPut

func (s *Shell) BlockPut(block []byte, format, mhtype string, mhlen int) (string, error)

func (*Shell) BlockStat

func (s *Shell) BlockStat(path string) (string, int, error)

func (*Shell) BootstrapAdd

func (s *Shell) BootstrapAdd(peers []string) ([]string, error)

func (*Shell) BootstrapAddDefault

func (s *Shell) BootstrapAddDefault() ([]string, error)

func (*Shell) BootstrapRmAll

func (s *Shell) BootstrapRmAll() ([]string, error)

func (*Shell) Cat

func (s *Shell) Cat(path string) (io.ReadCloser, error)

Cat the content at the given path. Callers need to drain and close the returned reader after usage.

func (*Shell) DagGet

func (s *Shell) DagGet(ref string, out interface{}) error

func (*Shell) DagPut

func (s *Shell) DagPut(data interface{}, ienc, kind string) (string, error)

func (*Shell) FileList

func (s *Shell) FileList(path string) (*UnixLsObject, error)

FileList entries at the given path using the UnixFS commands

func (*Shell) FindPeer

func (s *Shell) FindPeer(peer string) (*PeerInfo, error)

func (*Shell) Get

func (s *Shell) Get(hash, outdir string) error

func (*Shell) ID

func (s *Shell) ID(peer ...string) (*IdOutput, error)

ID gets information about a given peer. Arguments:

peer: peer.ID of the node to look up. If no peer is specified,

return information about the local peer.

func (*Shell) IsUp

func (s *Shell) IsUp() bool

func (*Shell) List

func (s *Shell) List(path string) ([]*LsLink, error)

List entries at the given path

func (*Shell) NewObject

func (s *Shell) NewObject(template string) (string, error)

func (*Shell) ObjectGet

func (s *Shell) ObjectGet(path string) (*IpfsObject, error)

func (*Shell) ObjectPut

func (s *Shell) ObjectPut(obj *IpfsObject) (string, error)

func (*Shell) ObjectStat

func (s *Shell) ObjectStat(key string) (*ObjectStats, error)

ObjectStat gets stats for the DAG object named by key. It returns the stats of the requested Object or an error.

func (*Shell) Patch

func (s *Shell) Patch(root, action string, args ...string) (string, error)

func (*Shell) PatchData

func (s *Shell) PatchData(root string, set bool, data interface{}) (string, error)

func (s *Shell) PatchLink(root, path, childhash string, create bool) (string, error)

func (*Shell) Pin

func (s *Shell) Pin(path string) error

Pin the given path

func (*Shell) Pins

func (s *Shell) Pins() (map[string]PinInfo, error)

Pins returns a map of the pin hashes to their info (currently just the pin type, one of DirectPin, RecursivePin, or IndirectPin. A map is returned instead of a slice because it is easier to do existence lookup by map key than unordered array searching. The map is likely to be more useful to a client than a flat list.

func (*Shell) PubSubPublish

func (s *Shell) PubSubPublish(topic, data string) (err error)

func (*Shell) PubSubSubscribe

func (s *Shell) PubSubSubscribe(topic string) (*PubSubSubscription, error)

func (*Shell) Publish

func (s *Shell) Publish(node string, value string) error

Publish updates a mutable name to point to a given value

func (*Shell) PublishWithDetails

func (s *Shell) PublishWithDetails(contentHash, key string, lifetime, ttl time.Duration, resolve bool) (*PublishResponse, error)

PublishWithDetails is used for fine grained control over record publishing

func (*Shell) Refs

func (s *Shell) Refs(hash string, recursive bool) (<-chan string, error)

func (*Shell) Request

func (s *Shell) Request(command string, args ...string) *RequestBuilder

func (*Shell) Resolve

func (s *Shell) Resolve(id string) (string, error)

Resolve gets resolves the string provided to an /ipns/[name]. If asked to resolve an empty string, resolve instead resolves the node’s own /ipns value.

func (*Shell) ResolvePath

func (s *Shell) ResolvePath(path string) (string, error)

func (*Shell) SetTimeout

func (s *Shell) SetTimeout(d time.Duration)

func (*Shell) StatsBW

func (s *Shell) StatsBW(ctx context.Context) (*p2pmetrics.Stats, error)

ObjectStat gets stats for the DAG object named by key. It returns the stats of the requested Object or an error.

func (*Shell) SwarmConnect

func (s *Shell) SwarmConnect(ctx context.Context, addr ...string) error

SwarmConnect opens a swarm connection to a specific address.

func (*Shell) SwarmPeers

func (s *Shell) SwarmPeers(ctx context.Context) (*SwarmConnInfos, error)

SwarmPeers gets all the swarm peers

func (*Shell) Unpin

func (s *Shell) Unpin(path string) error

Unpin the given path

func (*Shell) Version

func (s *Shell) Version() (string, string, error)

returns ipfs version and commit sha

type SwarmConnInfo

type SwarmConnInfo struct {
    Addr    string
    Peer    string
    Latency string
    Muxer   string
    Streams []SwarmStreamInfo

type SwarmConnInfos

type SwarmConnInfos struct {
    Peers []SwarmConnInfo

type SwarmStreamInfo

type SwarmStreamInfo struct {
    Protocol string

type UnixLsLink struct {
    Hash string
    Name string
    Size uint64
    Type string

type UnixLsObject

type UnixLsObject struct {
    Hash  string
    Size  uint64
    Type  string
    Links []*UnixLsLink

Generated by godoc2md