Crate rust_ipfs

source ·
Expand description

IPFS node implementation

Ipfs is a peer-to-peer system with content addressed functionality. The main entry point for users of this crate is the Ipfs facade, which allows access to most of the implemented functionality.

This crate passes a lot of the interface-ipfs-core test suite; most of that functionality is in ipfs-http crate. The crate has some interoperability with the go-ipfs and js-ipfs implementations.

ipfs is an early alpha level crate: APIs and their implementation are subject to change in any upcoming release at least for now. The aim of the crate is to become a library-first production ready implementation of an Ipfs node.

Re-exports

Modules

  • ipfs.dag interface implementation around Ipfs.
  • Crate-wide errors.
  • IPNS functionality around Ipfs.
  • P2P handling for IPFS nodes.
  • IpfsPath related functionality for content addressed paths with links.
  • refs or the references of dag-pb and other supported IPLD formats functionality.
  • Storage implementation(s) backing the crate::Ipfs.
  • Adaptation for ipfs-unixfs crate functionality on top of crate::Ipfs.

Macros

  • Easy way for a user to create a Multiaddr.

Structs

Enums

  • Identity keypair of a node.
  • Protocol describes all possible multiaddress protocols.
  • The public key of a node’s identity keypair.
  • Error associated with publishing a gossipsub message.
  • A quorum w.r.t. the configured replication factor specifies the minimum number of distinct nodes that must be successfully contacted in order for a query to succeed.

Traits

Type Definitions

Derive Macros

  • Generates a delegating NetworkBehaviour implementation for the struct this is used for. See the trait documentation for better description.