 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package core implements the IpfsNode object and related methods.
Packages underneath core/ provide a (relatively) stable, low-level API to carry out most IPFS-related tasks. For more details on the other interfaces and how core/... fits into the bigger IPFS picture, see:
$ godoc github.com/ipfs/go-ipfs
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConstructPeerHostOpts ¶ added in v0.4.8
type ConstructPeerHostOpts struct {
	AddrsFactory      p2pbhost.AddrsFactory
	DisableNatPortMap bool
	DisableRelay      bool
	EnableRelayHop    bool
	ConnectionManager connmgr.ConnManager
}
    type IpfsNode ¶
type IpfsNode struct {
	// Self
	Identity peer.ID // the local node's identity
	Repo repo.Repo
	// Local node
	Pinning         pin.Pinner             // the pinning manager
	Mounts          Mounts                 `optional:"true"` // current mount state, if any.
	PrivateKey      ic.PrivKey             `optional:"true"` // the local node's private Key
	PNetFingerprint libp2p.PNetFingerprint `optional:"true"` // fingerprint of private network
	// Services
	Peerstore            pstore.Peerstore          `optional:"true"` // storage for other Peer instances
	Blockstore           bstore.GCBlockstore       // the block store (lower level)
	Filestore            *filestore.Filestore      `optional:"true"` // the filestore blockstore
	BaseBlocks           node.BaseBlocks           // the raw blockstore, no filestore wrapping
	GCLocker             bstore.GCLocker           // the locker used to protect the blockstore during gc
	Blocks               bserv.BlockService        // the block service, get/add blocks.
	DAG                  ipld.DAGService           // the merkle dag service, get/add objects.
	IPLDFetcherFactory   fetcher.Factory           `name:"ipldFetcher"`   // fetcher that paths over the IPLD data model
	UnixFSFetcherFactory fetcher.Factory           `name:"unixfsFetcher"` // fetcher that interprets UnixFS data
	Reporter             *metrics.BandwidthCounter `optional:"true"`
	Discovery            mdns.Service              `optional:"true"`
	FilesRoot            *mfs.Root
	RecordValidator      record.Validator
	// Online
	PeerHost      p2phost.Host            `optional:"true"` // the network host (server+client)
	Peering       *peering.PeeringService `optional:"true"`
	Filters       *ma.Filters             `optional:"true"`
	Bootstrapper  io.Closer               `optional:"true"` // the periodic bootstrapper
	Routing       routing.Routing         `optional:"true"` // the routing system. recommend ipfs-dht
	DNSResolver   *madns.Resolver         // the DNS resolver
	Exchange      exchange.Interface      // the block exchange + strategy (bitswap)
	Namesys       namesys.NameSystem      // the name system, resolves paths to hashes
	Provider      provider.System         // the value provider system
	IpnsRepub     *ipnsrp.Republisher     `optional:"true"`
	GraphExchange graphsync.GraphExchange `optional:"true"`
	PubSub   *pubsub.PubSub             `optional:"true"`
	PSRouter *psrouter.PubsubValueStore `optional:"true"`
	DHT       *ddht.DHT       `optional:"true"`
	DHTClient routing.Routing `name:"dhtc" optional:"true"`
	P2P *p2p.P2P `optional:"true"`
	Process goprocess.Process
	// Flags
	IsOnline bool `optional:"true"` // Online is set when networking is enabled.
	IsDaemon bool `optional:"true"` // Daemon is set when running on a long-running daemon.
	// contains filtered or unexported fields
}
    IpfsNode is IPFS Core module. It represents an IPFS instance.
func (*IpfsNode) Bootstrap ¶
func (n *IpfsNode) Bootstrap(cfg bootstrap.BootstrapConfig) error
Bootstrap will set and call the IpfsNodes bootstrap function.
       Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| 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. | 
| Package coreapi provides direct access to the core commands in IPFS. | Package coreapi provides direct access to the core commands in IPFS. | 
| 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. | 
 Click to show internal directories. 
   Click to hide internal directories.