 Documentation
      ¶
      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
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| Godeps
       | |
| 
          
            _workspace/src/bazil.org/fuse
            
            
          
           Package fuse enables writing FUSE file systems on Linux, OS X, and FreeBSD. | Package fuse enables writing FUSE file systems on Linux, OS X, and FreeBSD. | 
| 
          
            _workspace/src/bazil.org/fuse/fs/bench
            
            
          
           Package bench contains benchmarks. | Package bench contains benchmarks. | 
| 
          
            _workspace/src/bazil.org/fuse/hellofs
            
            command
          
           Hellofs implements a simple "hello world" file system. | Hellofs implements a simple "hello world" file system. | 
| 
          
            _workspace/src/bazil.org/fuse/syscallx
            
            
          
           Package syscallx provides wrappers that make syscalls on various platforms more interoperable. | Package syscallx provides wrappers that make syscalls on various platforms more interoperable. | 
| 
          
            _workspace/src/github.com/ActiveState/tail/ratelimiter
            
            
          
           Package ratelimiter implements the Leaky Bucket ratelimiting algorithm with memcached and in-memory backends. | Package ratelimiter implements the Leaky Bucket ratelimiting algorithm with memcached and in-memory backends. | 
| 
          
            _workspace/src/github.com/briantigerchow/pubsub
            
            
          
           Package pubsub implements a simple multi-topic pub-sub library. | Package pubsub implements a simple multi-topic pub-sub library. | 
| 
          
            _workspace/src/github.com/cenkalti/backoff
            
            
          
           Package backoff implements backoff algorithms for retrying operations. | Package backoff implements backoff algorithms for retrying operations. | 
| 
          
            _workspace/src/github.com/codahale/hdrhistogram
            
            
          
           Package hdrhistogram provides an implementation of Gil Tene's HDR Histogram data structure. | Package hdrhistogram provides an implementation of Gil Tene's HDR Histogram data structure. | 
| 
          
            _workspace/src/github.com/codahale/metrics
            
            
          
           Package metrics provides minimalist instrumentation for your applications in the form of counters and gauges. | Package metrics provides minimalist instrumentation for your applications in the form of counters and gauges. | 
| 
          
            _workspace/src/github.com/codahale/metrics/runtime
            
            
          
           Package runtime registers gauges and counters for various operationally important aspects of the Go runtime. | Package runtime registers gauges and counters for various operationally important aspects of the Go runtime. | 
| 
          
            _workspace/src/github.com/crowdmob/goamz/aws
            
            
          
           goamz - Go packages to interact with the Amazon Web Services. | goamz - Go packages to interact with the Amazon Web Services. | 
| 
          
            _workspace/src/github.com/dustin/go-humanize
            
            
          
           Package humanize converts boring ugly numbers to human-friendly strings and back. | Package humanize converts boring ugly numbers to human-friendly strings and back. | 
| 
          
            _workspace/src/github.com/facebookgo/atomicfile
            
            
          
           Package atomicfile provides the ability to write a file with an eventual rename on Close. | Package atomicfile provides the ability to write a file with an eventual rename on Close. | 
| 
          
            _workspace/src/github.com/fd/go-nat
            
            
          
           Package nat implements NAT handling facilities | Package nat implements NAT handling facilities | 
| 
          
            _workspace/src/github.com/fzzy/radix/redis
            
            
          
           A simple client for connecting and interacting with redis. | A simple client for connecting and interacting with redis. | 
| 
          
            _workspace/src/github.com/fzzy/radix/redis/resp
            
            
          
           This package provides an easy to use interface for creating and parsing messages encoded in the REdis Serialization Protocol (RESP). | This package provides an easy to use interface for creating and parsing messages encoded in the REdis Serialization Protocol (RESP). | 
| 
          
            _workspace/src/github.com/gogo/protobuf/proto
            
            
          
           Package proto converts data structures to and from the wire format of protocol buffers. | Package proto converts data structures to and from the wire format of protocol buffers. | 
| 
          
            _workspace/src/github.com/h2so5/utp/ucat
            
            command
          
           package ucat provides an implementation of netcat using the go utp package. | package ucat provides an implementation of netcat using the go utp package. | 
| 
          
            _workspace/src/github.com/hashicorp/golang-lru
            
            
          
           This package provides a simple LRU cache. | This package provides a simple LRU cache. | 
| 
          
            _workspace/src/github.com/howeyc/fsnotify
            
            
          
           Package fsnotify implements file system notification. | Package fsnotify implements file system notification. | 
| 
          
            _workspace/src/github.com/huin/goupnp
            
            
          
           goupnp is an implementation of a client for various UPnP services. | goupnp is an implementation of a client for various UPnP services. | 
| 
          
            _workspace/src/github.com/huin/goupnp/dcps/internetgateway1
            
            
          
           Client for UPnP Device Control Protocol Internet Gateway Device v1. | Client for UPnP Device Control Protocol Internet Gateway Device v1. | 
| 
          
            _workspace/src/github.com/huin/goupnp/dcps/internetgateway2
            
            
          
           Client for UPnP Device Control Protocol Internet Gateway Device v2. | Client for UPnP Device Control Protocol Internet Gateway Device v2. | 
| 
          
            _workspace/src/github.com/huin/goupnp/example
            
            
          
           Serves as examples of using the goupnp library. | Serves as examples of using the goupnp library. | 
| 
          
            _workspace/src/github.com/inconshreveable/go-update
            
            
          
           go-update allows a program to update itself by replacing its executable file with a new version. | go-update allows a program to update itself by replacing its executable file with a new version. | 
| 
          
            _workspace/src/github.com/jbenet/go-base58
            
            
          
           Package base58 provides base58-check encoding. | Package base58 provides base58-check encoding. | 
| 
          
            _workspace/src/github.com/jbenet/go-ctxgroup
            
            
          
           package ctxgroup provides the ContextGroup, a hybrid between the context.Context and sync.WaitGroup, which models process trees. | package ctxgroup provides the ContextGroup, a hybrid between the context.Context and sync.WaitGroup, which models process trees. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/flatfs
            
            
          
           Package flatfs is a Datastore implementation that stores all objects in a two-level directory structure in the local file system, regardless of the hierarchy of the keys. | Package flatfs is a Datastore implementation that stores all objects in a two-level directory structure in the local file system, regardless of the hierarchy of the keys. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/fs
            
            
          
           Package fs is a simple Datastore implementation that stores keys are directories and files, mirroring the key. | Package fs is a simple Datastore implementation that stores keys are directories and files, mirroring the key. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/keytransform
            
            
          
           Package keytransform introduces a Datastore Shim that transforms keys before passing them to its child. | Package keytransform introduces a Datastore Shim that transforms keys before passing them to its child. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/measure
            
            
          
           Package measure provides a Datastore wrapper that records metrics using github.com/codahale/metrics. | Package measure provides a Datastore wrapper that records metrics using github.com/codahale/metrics. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/mount
            
            
          
           Package mount provides a Datastore that has other Datastores mounted at various key prefixes. | Package mount provides a Datastore that has other Datastores mounted at various key prefixes. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/namespace
            
            
          
           Package namespace introduces a namespace Datastore Shim, which basically mounts the entire child datastore under a prefix. | Package namespace introduces a namespace Datastore Shim, which basically mounts the entire child datastore under a prefix. | 
| 
          
            _workspace/src/github.com/jbenet/go-fuse-version
            
            
          
           package fuseversion simply exposes the version of FUSE installed in the user's machine. | package fuseversion simply exposes the version of FUSE installed in the user's machine. | 
| 
          
            _workspace/src/github.com/jbenet/go-is-domain
            
            
          
           Package isdomain package allows users to check whether strings represent domain names. | Package isdomain package allows users to check whether strings represent domain names. | 
| 
          
            _workspace/src/github.com/jbenet/go-msgio/mpool
            
            
          
           Package mpool provides a sync.Pool equivalent that buckets incoming requests to one of 32 sub-pools, one for each power of 2, 0-32. | Package mpool provides a sync.Pool equivalent that buckets incoming requests to one of 32 sub-pools, one for each power of 2, 0-32. | 
| 
          
            _workspace/src/github.com/jbenet/go-multiaddr
            
            
          
           Package multiaddr provides an implementation of the Multiaddr network address format. | Package multiaddr provides an implementation of the Multiaddr network address format. | 
| 
          
            _workspace/src/github.com/jbenet/go-multiaddr-net
            
            
          
           Package manet provides Multiaddr specific versions of common functions in stdlib's net package. | Package manet provides Multiaddr specific versions of common functions in stdlib's net package. | 
| 
          
            _workspace/src/github.com/jbenet/go-multihash/opts
            
            
          
           Package opts helps to write commands which may take multihash options. | Package opts helps to write commands which may take multihash options. | 
| 
          
            _workspace/src/github.com/jbenet/go-peerstream
            
            
          
           Package peerstream is a peer-to-peer networking library that multiplexes connections to many hosts. | Package peerstream is a peer-to-peer networking library that multiplexes connections to many hosts. | 
| 
          
            _workspace/src/github.com/jbenet/go-reuseport
            
            
          
           Package reuseport provides Listen and Dial functions that set socket options in order to be able to reuse ports. | Package reuseport provides Listen and Dial functions that set socket options in order to be able to reuse ports. | 
| 
          
            _workspace/src/github.com/jbenet/go-sockaddr/net
            
            
          
           package sockaddrnet provides conversions between net.Addr and syscall.Sockaddr | package sockaddrnet provides conversions between net.Addr and syscall.Sockaddr | 
| 
          
            _workspace/src/github.com/jbenet/go-temp-err-catcher
            
            
          
           Package temperrcatcher provides a TempErrCatcher object, which implements simple error-retrying functionality. | Package temperrcatcher provides a TempErrCatcher object, which implements simple error-retrying functionality. | 
| 
          
            _workspace/src/github.com/jbenet/goprocess
            
            
          
           Package goprocess introduces a Process abstraction that allows simple organization, and orchestration of work. | Package goprocess introduces a Process abstraction that allows simple organization, and orchestration of work. | 
| 
          
            _workspace/src/github.com/jbenet/goprocess/periodic
            
            
          
           Package periodic is part of github.com/jbenet/goprocess. | Package periodic is part of github.com/jbenet/goprocess. | 
| 
          
            _workspace/src/github.com/jbenet/goprocess/ratelimit
            
            
          
           Package ratelimit is part of github.com/jbenet/goprocess. | Package ratelimit is part of github.com/jbenet/goprocess. | 
| 
          
            _workspace/src/github.com/kardianos/osext
            
            
          
           Extensions to the standard "os" package. | Extensions to the standard "os" package. | 
| 
          
            _workspace/src/github.com/kr/binarydist
            
            
          
           Package binarydist implements binary diff and patch as described on http://www.daemonology.net/bsdiff/. | Package binarydist implements binary diff and patch as described on http://www.daemonology.net/bsdiff/. | 
| 
          
            _workspace/src/github.com/miekg/dns
            
            
          
           Package dns implements a full featured interface to the Domain Name System. | Package dns implements a full featured interface to the Domain Name System. | 
| 
          
            _workspace/src/github.com/miekg/dns/idn
            
            
          
           Package idn implements encoding from and to punycode as speficied by RFC 3492. | Package idn implements encoding from and to punycode as speficied by RFC 3492. | 
| 
          
            _workspace/src/github.com/rs/cors
            
            
          
           Package cors is net/http handler to handle CORS related requests as defined by http://www.w3.org/TR/cors/ You can configure it by passing an option struct to cors.New: c := cors.New(cors.Options{ AllowedOrigins: []string{"foo.com"}, AllowedMethods: []string{"GET", "POST", "DELETE"}, AllowCredentials: true, }) Then insert the handler in the chain: handler = c.Handler(handler) See Options documentation for more options. | Package cors is net/http handler to handle CORS related requests as defined by http://www.w3.org/TR/cors/ You can configure it by passing an option struct to cors.New: c := cors.New(cors.Options{ AllowedOrigins: []string{"foo.com"}, AllowedMethods: []string{"GET", "POST", "DELETE"}, AllowCredentials: true, }) Then insert the handler in the chain: handler = c.Handler(handler) See Options documentation for more options. | 
| 
          
            _workspace/src/github.com/satori/go.uuid
            
            
          
           Package uuid provides implementation of Universally Unique Identifier (UUID). | Package uuid provides implementation of Universally Unique Identifier (UUID). | 
| 
          
            _workspace/src/github.com/steakknife/hamming
            
            
          
           hamming distance calculations in Go https://github.com/steakknife/hamming Copyright © 2014, 2015 Barry Allard MIT license Usage The functions are named (CountBits)?(Byte|Uint64)s?. | hamming distance calculations in Go https://github.com/steakknife/hamming Copyright © 2014, 2015 Barry Allard MIT license Usage The functions are named (CountBits)?(Byte|Uint64)s?. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb
            
            
          
           Package leveldb provides implementation of LevelDB key/value database. | Package leveldb provides implementation of LevelDB key/value database. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/cache
            
            
          
           Package cache provides interface and implementation of a cache algorithms. | Package cache provides interface and implementation of a cache algorithms. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/comparer
            
            
          
           Package comparer provides interface and implementation for ordering sets of data. | Package comparer provides interface and implementation for ordering sets of data. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/errors
            
            
          
           Package errors provides common error types used throughout leveldb. | Package errors provides common error types used throughout leveldb. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/filter
            
            
          
           Package filter provides interface and implementation of probabilistic data structure. | Package filter provides interface and implementation of probabilistic data structure. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/iterator
            
            
          
           Package iterator provides interface and implementation to traverse over contents of a database. | Package iterator provides interface and implementation to traverse over contents of a database. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/journal
            
            
          
           Package journal reads and writes sequences of journals. | Package journal reads and writes sequences of journals. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/memdb
            
            
          
           Package memdb provides in-memory key/value database implementation. | Package memdb provides in-memory key/value database implementation. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/opt
            
            
          
           Package opt provides sets of options used by LevelDB. | Package opt provides sets of options used by LevelDB. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/storage
            
            
          
           Package storage provides storage abstraction for LevelDB. | Package storage provides storage abstraction for LevelDB. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/table
            
            
          
           Package table allows read and write sorted key/value. | Package table allows read and write sorted key/value. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/util
            
            
          
           Package util provides utilities used throughout leveldb. | Package util provides utilities used throughout leveldb. | 
| 
          
            _workspace/src/github.com/syndtr/gosnappy/snappy
            
            
          
           Package snappy implements the snappy block-based compression format. | Package snappy implements the snappy block-based compression format. | 
| 
          
            _workspace/src/github.com/whyrusleeping/go-logging
            
            
          
           Package logging implements a logging infrastructure for Go. | Package logging implements a logging infrastructure for Go. | 
| 
          
            _workspace/src/github.com/whyrusleeping/go-metrics
            
            
          
           Go port of Coda Hale's Metrics library <https://github.com/rcrowley/go-metrics> Coda Hale's original work: <https://github.com/codahale/metrics> | Go port of Coda Hale's Metrics library <https://github.com/rcrowley/go-metrics> Coda Hale's original work: <https://github.com/codahale/metrics> | 
| 
          
            _workspace/src/github.com/whyrusleeping/go-metrics/stathat
            
            
          
           Metrics output to StatHat. | Metrics output to StatHat. | 
| 
          
            _workspace/src/golang.org/x/crypto/blowfish
            
            
          
           Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. | Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. | 
| 
          
            _workspace/src/golang.org/x/crypto/sha3
            
            
          
           Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. | Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. | 
| 
          
            _workspace/src/golang.org/x/net/context
            
            
          
           Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. | Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. | 
| 
          
            _workspace/src/golang.org/x/net/internal/iana
            
            
          
           Package iana provides protocol number resources managed by the Internet Assigned Numbers Authority (IANA). | Package iana provides protocol number resources managed by the Internet Assigned Numbers Authority (IANA). | 
| 
          
            _workspace/src/golang.org/x/net/ipv4
            
            
          
           Package ipv4 implements IP-level socket options for the Internet Protocol version 4. | Package ipv4 implements IP-level socket options for the Internet Protocol version 4. | 
| 
          
            _workspace/src/golang.org/x/net/ipv6
            
            
          
           Package ipv6 implements IP-level socket options for the Internet Protocol version 6. | Package ipv6 implements IP-level socket options for the Internet Protocol version 6. | 
| 
          
            _workspace/src/gopkg.in/fsnotify.v1
            
            
          
           Package fsnotify provides a platform-independent interface for file system notifications. | Package fsnotify provides a platform-independent interface for file system notifications. | 
| 
          
            _workspace/src/gopkg.in/natefinch/lumberjack.v2
            
            
          
           Package lumberjack provides a rolling logger. | Package lumberjack provides a rolling logger. | 
| 
          
            _workspace/src/gopkg.in/tomb.v1
            
            
          
           The tomb package offers a conventional API for clean goroutine termination. | The tomb package offers a conventional API for clean goroutine termination. | 
| package blocks contains the lowest level of ipfs data structures, the raw block with a checksum. | package blocks contains the lowest level of ipfs data structures, the raw block with a checksum. | 
| 
          
            blockstore
            
            
          
           package blockstore implements a thin wrapper over a datastore, giving a clean interface for Getting and Putting block objects. | package blockstore implements a thin wrapper over a datastore, giving a clean interface for Getting and Putting block objects. | 
| 
          
            bloom
            
            
          
           package bloom implements a simple bloom filter. | package bloom implements a simple bloom filter. | 
| 
          
            set
            
            
          
           package set contains various different types of 'BlockSet's | package set contains various different types of 'BlockSet's | 
| 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. | 
| 
          
            worker
            
            
          
           TODO FIXME name me | TODO FIXME name me | 
| 
          
            worker/bench
            
            command
          
          
         | |
| cmd
       | |
| 
          
            ipfs
            
            command
          
           cmd/ipfs implements the primary CLI binary for ipfs | cmd/ipfs implements the primary CLI binary for ipfs | 
| 
          
            ipfs_bootstrapd
            
            command
          
          
         | |
| 
          
            ipfs_routingd
            
            command
          
          
         | |
| 
          
            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. | 
| 
          
            commands/internal/incfusever
            
            
          
           Package incfusever is only here to prevent go src tools (like godep) from thinking fuseversion is not a required package. | Package incfusever is only here to prevent go src tools (like godep) from thinking fuseversion is not a required package. | 
| 
          
            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. | 
| package diagnostics implements a network diagnostics service that allows a request to traverse the network and gather information on every node connected to it. | package diagnostics implements a network diagnostics service that allows a request to traverse the network and gather information on every node connected to it. | 
| 
          
            internal/pb
            
            
          
           Package diagnostics_pb is a generated protocol buffer package. | Package diagnostics_pb is a generated protocol buffer package. | 
| package exchange defines the IPFS Exchange interface | package exchange defines the IPFS Exchange interface | 
| 
          
            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/internal/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. | 
| 
          
            offline
            
            
          
           package offline implements an object that implements the exchange interface but returns nil values to every request. | package offline implements an object that implements the exchange interface but returns nil values to every request. | 
| 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 | 
| 
          
            chunk
            
            
          
           package chunk implements streaming block splitters | package chunk implements streaming block splitters | 
| package ipnsfs implements an in memory model of a mutable ipns filesystem, to be used by the fuse filesystem. | package ipnsfs implements an in memory model of a mutable ipns filesystem, to be used by the fuse filesystem. | 
| package merkledag implements the ipfs Merkle DAG datastructures. | package merkledag implements the ipfs Merkle DAG datastructures. | 
| 
          
            internal/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 namesys implements resolvers and publishers for the IPFS naming system (IPNS). | Package namesys implements resolvers and publishers for the IPFS naming system (IPNS). | 
| 
          
            internal/pb
            
            
          
           Package namesys_pb is a generated protocol buffer package. | Package namesys_pb is a generated protocol buffer package. | 
| p2p
       | |
| 
          
            crypto
            
            
          
           package crypto implements various cryptographic utilities used by ipfs. | package crypto implements various cryptographic utilities used by ipfs. | 
| 
          
            crypto/internal/pb
            
            
          
           Package crypto_pb is a generated protocol buffer package. | Package crypto_pb is a generated protocol buffer package. | 
| 
          
            crypto/secio
            
            
          
           package secio handles establishing secure communication between two peers. | package secio handles establishing secure communication between two peers. | 
| 
          
            crypto/secio/internal/pb
            
            
          
           Package spipe_pb is a generated protocol buffer package. | Package spipe_pb is a generated protocol buffer package. | 
| 
          
            net/mock
            
            
          
           Package mocknet provides a mock net.Network to test with. | Package mocknet provides a mock net.Network to test with. | 
| 
          
            net/swarm
            
            
          
           package swarm implements a connection muxer with a pair of channels to synchronize all network communication. | package swarm implements a connection muxer with a pair of channels to synchronize all network communication. | 
| 
          
            peer
            
            
          
           package peer implements an object used to represent peers in the ipfs network. | package peer implements an object used to represent peers in the ipfs network. | 
| 
          
            peer/addr
            
            
          
           Package addr provides utility functions to handle peer addresses. | Package addr provides utility functions to handle peer addresses. | 
| 
          
            protocol/identify/pb
            
            
          
           Package identify_pb is a generated protocol buffer package. | Package identify_pb is a generated protocol buffer package. | 
| 
          
            test/reconnects
            
            
          
           Package reconnect tests connect -> disconnect -> reconnect works | Package reconnect tests connect -> disconnect -> reconnect works | 
| Package path implements utilities for resolving paths within ipfs. | Package path implements utilities for resolving paths within ipfs. | 
| package pin implemnts structures and methods to keep track of which objects a user wants to keep stored locally. | package pin implemnts structures and methods to keep track of which objects a user wants to keep stored locally. | 
| 
          
            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... | 
| package routing defines the interface for a routing system used by ipfs. | package routing defines the interface for a routing system used by ipfs. | 
| 
          
            dht
            
            
          
           Package dht implements a distributed hash table that satisfies the ipfs routing interface. | Package dht implements a distributed hash table that satisfies the ipfs routing interface. | 
| 
          
            dht/pb
            
            
          
           Package dht_pb is a generated protocol buffer package. | Package dht_pb is a generated protocol buffer package. | 
| 
          
            kbucket
            
            
          
           package kbucket implements a kademlia 'k-bucket' routing table. | package kbucket implements a kademlia 'k-bucket' routing table. | 
| 
          
            mock
            
            
          
           Package mock provides a virtual routing server. | Package mock provides a virtual routing server. | 
| test
       | |
| 
          
            api-startup
            
            command
          
          
         | |
| 
          
            bench/bench_cli_ipfs_add
            
            command
          
          
         | |
| 
          
            bench/offline_add
            
            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. | 
| 
          
            supernode_client
            
            command
          
          
         | |
| 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 format 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 format 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 | 
| 
          
            io
            
            
          
           package unixfs/io implements convenience objects for working with the ipfs unixfs data format. | package unixfs/io implements convenience objects for working with the ipfs unixfs data format. | 
| 
          
            pb
            
            
          
           Package unixfs_pb is a generated protocol buffer package. | Package unixfs_pb is a generated protocol buffer package. | 
| package util implements various utility functions used within ipfs that do not currently have a better place to live. | package util implements various utility functions used within ipfs that do not currently have a better place to live. | 
| 
          
            eventlog/loggables
            
            
          
           Package loggables includes a bunch of transaltor functions for commonplace/stdlib objects. | Package loggables includes a bunch of transaltor functions for commonplace/stdlib objects. | 
| 
          
            testutil/ci
            
            
          
           Package ci implements some helper functions to use during tests. | Package ci implements some helper functions to use during tests. | 
| 
          
            testutil/ci/jenkins
            
            
          
           Package jenkins implements some helper functions to use during tests. | Package jenkins implements some helper functions to use during tests. | 
| 
          
            testutil/ci/travis
            
            
          
           Package travis implements some helper functions to use during tests. | Package travis implements some helper functions to use during tests. | 
 Click to show internal directories. 
   Click to hide internal directories.