Documentation
      ¶
    
    
  
    
  
    Overview ¶
IPFS is a global, versioned, peer-to-peer filesystem
There are sub-packages within the ipfs package for various low-level utilities, which are in turn assembled into:
core/...:
The low-level API that gives consumers all the knobs they need, which we try hard to keep stable.
shell/...:
The high-level API that gives consumers easy access to common operations (e.g. create a file node from a reader without wrapping with metadata). We work really hard to keep this stable.
Then on top of the core/... and shell/... Go APIs, we have:
cmd/...:
Command-line executables
test/...:
Integration tests, etc.
To avoid cyclic imports, imports should never pull in higher-level APIs into a lower-level package. For example, you could import all of core and shell from cmd/... or test/..., but you couldn't import any of shell from core/....
      
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| 
       Godeps
        | 
      |
| 
         
          
            _workspace/src/github.com/hashicorp/golang-lru
            
            
          
           
      This package provides a simple LRU cache. 
         | 
      This package provides a simple LRU cache. | 
| 
       blocks
        | 
      |
| 
         
          
            blockstoreutil
            
            
          
           
      Package blockstoreutil provides utility functions for Blockstores. 
         | 
      Package blockstoreutil provides utility functions for Blockstores. | 
| 
       package blockservice implements a BlockService interface that provides a single GetBlock/AddBlock interface that seamlessly retrieves data either locally or from a remote peer through the exchange. 
         | 
      package blockservice implements a BlockService interface that provides a single GetBlock/AddBlock interface that seamlessly retrieves data either locally or from a remote peer through the exchange. | 
| 
       cmd
        | 
      |
| 
         
          
            ipfs
            
            command
          
           
      cmd/ipfs implements the primary CLI binary for ipfs 
         | 
      cmd/ipfs implements the primary CLI binary for ipfs | 
| 
         
          
            ipfswatch
            
            command
          
          
         
       | 
      |
| 
         
          
            seccat
            
            command
          
           
      package main provides an implementation of netcat using the secio package. 
         | 
      package main provides an implementation of netcat using the secio package. | 
| 
       Package core implements the IpfsNode object and related methods. 
         | 
      Package core implements the IpfsNode object and related methods. | 
| 
         
          
            commands
            
            
          
           
      Package commands implements the ipfs command interface Using github.com/ipfs/go-ipfs/commands to define the command line and HTTP APIs. 
         | 
      Package commands implements the ipfs command interface Using github.com/ipfs/go-ipfs/commands to define the command line and HTTP APIs. | 
| 
         
          
            coreapi
            
            
          
           
      Package coreapi provides direct access to the core commands in IPFS. 
         | 
      Package coreapi provides direct access to the core commands in IPFS. | 
| 
         
          
            coreapi/interface
            
            
          
           
      Package iface defines IPFS Core API which is a set of interfaces used to interact with IPFS nodes. 
         | 
      Package iface defines IPFS Core API which is a set of interfaces used to interact with IPFS nodes. | 
| 
         
          
            corehttp
            
            
          
           
      Package corehttp provides utilities for the webui, gateways, and other high-level HTTP interfaces to IPFS. 
         | 
      Package corehttp provides utilities for the webui, gateways, and other high-level HTTP interfaces to IPFS. | 
| 
         
          
            corerepo
            
            
          
           
      Package corerepo provides pinning and garbage collection for local IPFS block services. 
         | 
      Package corerepo provides pinning and garbage collection for local IPFS block services. | 
| 
       exchange
        | 
      |
| 
         
          
            bitswap
            
            
          
           
      package bitswap implements the IPFS exchange interface with the BitSwap bilateral exchange protocol. 
         | 
      package bitswap implements the IPFS exchange interface with the BitSwap bilateral exchange protocol. | 
| 
         
          
            bitswap/decision
            
            
          
           
      package decision implements the decision engine for the bitswap service. 
         | 
      package decision implements the decision engine for the bitswap service. | 
| 
         
          
            bitswap/message/pb
            
            
          
           
      Package bitswap_message_pb is a generated protocol buffer package. 
         | 
      Package bitswap_message_pb is a generated protocol buffer package. | 
| 
         
          
            bitswap/wantlist
            
            
          
           
      package wantlist implements an object for bitswap that contains the keys that a given peer wants. 
         | 
      package wantlist implements an object for bitswap that contains the keys that a given peer wants. | 
| 
       Package filestore implements a Blockstore which is able to read certain blocks of data directly from its original location in the filesystem. 
         | 
      Package filestore implements a Blockstore which is able to read certain blocks of data directly from its original location in the filesystem. | 
| 
         
          
            pb
            
            
          
           
      Package datastore_pb is a generated protocol buffer package. 
         | 
      Package datastore_pb is a generated protocol buffer package. | 
| 
       fuse
        | 
      |
| 
         
          
            ipns
            
            
          
           
      package fuse/ipns implements a fuse filesystem that interfaces with ipns, the naming system for ipfs. 
         | 
      package fuse/ipns implements a fuse filesystem that interfaces with ipns, the naming system for ipfs. | 
| 
         
          
            mount
            
            
          
           
      package mount provides a simple abstraction around a mount point 
         | 
      package mount provides a simple abstraction around a mount point | 
| 
         
          
            readonly
            
            
          
           
      package fuse/readonly implements a fuse filesystem to access files stored inside of ipfs. 
         | 
      package fuse/readonly implements a fuse filesystem to access files stored inside of ipfs. | 
| 
       Package importer implements utilities used to create IPFS DAGs from files and readers. 
         | 
      Package importer implements utilities used to create IPFS DAGs from files and readers. | 
| 
         
          
            balanced
            
            
          
           
      Package balanced provides methods to build balanced DAGs. 
         | 
      Package balanced provides methods to build balanced DAGs. | 
| 
         
          
            trickle
            
            
          
           
      Package trickle allows to build trickle DAGs. 
         | 
      Package trickle allows to build trickle DAGs. | 
| 
       Package merkledag implements the IPFS Merkle DAG data structures. 
         | 
      Package merkledag implements the IPFS Merkle DAG data structures. | 
| 
         
          
            pb
            
            
          
           
      Package merkledag_pb is a generated protocol buffer package. 
         | 
      Package merkledag_pb is a generated protocol buffer package. | 
| 
         
          
            traverse
            
            
          
           
      Package traverse provides merkledag traversal functions 
         | 
      Package traverse provides merkledag traversal functions | 
| 
       package mfs implements an in memory model of a mutable IPFS filesystem. 
         | 
      package mfs implements an in memory model of a mutable IPFS filesystem. | 
| 
       Package namesys implements resolvers and publishers for the IPFS naming system (IPNS). 
         | 
      Package namesys implements resolvers and publishers for the IPFS naming system (IPNS). | 
| 
       Package path contains utilities to work with ipfs paths. 
         | 
      Package path contains utilities to work with ipfs paths. | 
| 
         
          
            resolver
            
            
          
           
      Package resolver implements utilities for resolving paths within ipfs. 
         | 
      Package resolver implements utilities for resolving paths within ipfs. | 
| 
       Package pin implements structures and methods to keep track of which objects a user wants to keep stored locally. 
         | 
      Package pin implements structures and methods to keep track of which objects a user wants to keep stored locally. | 
| 
         
          
            gc
            
            
          
           
      Package gc provides garbage collection for go-ipfs. 
         | 
      Package gc provides garbage collection for go-ipfs. | 
| 
         
          
            internal/pb
            
            
          
           
      Package pb is a generated protocol buffer package. 
         | 
      Package pb is a generated protocol buffer package. | 
| 
         
          
            config
            
            
          
           
      package config implements the ipfs config file datastructures and utilities. 
         | 
      package config implements the ipfs config file datastructures and utilities. | 
| 
         
          
            fsrepo
            
            
          
           
      package fsrepo TODO explain the package roadmap... 
         | 
      package fsrepo TODO explain the package roadmap... | 
| 
       test
        | 
      |
| 
         
          
            api-startup
            
            command
          
          
         
       | 
      |
| 
         
          
            bench/bench_cli_ipfs_add
            
            command
          
          
         
       | 
      |
| 
         
          
            bench/offline_add
            
            command
          
          
         
       | 
      |
| 
         
          
            dependencies/go-sleep
            
            command
          
          
         
       | 
      |
| 
         
          
            dependencies/go-timeout
            
            command
          
          
         
       | 
      |
| 
         
          
            dependencies/ma-pipe-unidir
            
            command
          
          
         
       | 
      |
| 
         
          
            sharness/lib
            
            
          
           
      package randomdep is here to introduce a dependency in random for godep to function properly. 
         | 
      package randomdep is here to introduce a dependency in random for godep to function properly. | 
| 
       thirdparty
        | 
      |
| 
         
          
            notifier
            
            
          
           
      Package notifier provides a simple notification dispatcher meant to be embedded in larger structres who wish to allow clients to sign up for event notifications. 
         | 
      Package notifier provides a simple notification dispatcher meant to be embedded in larger structres who wish to allow clients to sign up for event notifications. | 
| 
         
          
            pollEndpoint
            
            command
          
           
      pollEndpoint is a helper utility that waits for a http endpoint to be reachable and return with http.StatusOK 
         | 
      pollEndpoint is a helper utility that waits for a http endpoint to be reachable and return with http.StatusOK | 
| 
       Package unixfs implements a data format for files in the IPFS filesystem It is not the only format in ipfs, but it is the one that the filesystem assumes 
         | 
      Package unixfs implements a data format for files in the IPFS filesystem It is not the only format in ipfs, but it is the one that the filesystem assumes | 
| 
         
          
            archive
            
            
          
           
      Package archive provides utilities to archive and compress a [Unixfs] DAG. 
         | 
      Package archive provides utilities to archive and compress a [Unixfs] DAG. | 
| 
         
          
            archive/tar
            
            
          
           
      Package tar provides functionality to write a unixfs merkledag as a tar archive. 
         | 
      Package tar provides functionality to write a unixfs merkledag as a tar archive. | 
| 
         
          
            hamt
            
            
          
           
      Package hamt implements a Hash Array Mapped Trie over ipfs merkledag nodes. 
         | 
      Package hamt implements a Hash Array Mapped Trie over ipfs merkledag nodes. | 
| 
         
          
            io
            
            
          
           
      Package io implements convenience objects for working with the ipfs unixfs data format. 
         | 
      Package io implements convenience objects for working with the ipfs unixfs data format. | 
| 
         
          
            mod
            
            
          
           
      Package mod provides DAG modification utilities to, for example, insert additional nodes in a unixfs DAG or truncate them. 
         | 
      Package mod provides DAG modification utilities to, for example, insert additional nodes in a unixfs DAG or truncate them. | 
| 
         
          
            pb
            
            
          
           
      Package unixfs_pb is a generated protocol buffer package. 
         | 
      Package unixfs_pb is a generated protocol buffer package. | 
 Click to show internal directories. 
   Click to hide internal directories. 

