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

pub use self::path::IpfsPath;
pub use self::repo::PinKind;
pub use self::repo::PinMode;
pub use self::repo::RepoTypes;
pub use libp2p;

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

Bitswap statistics
A description of currently active connection.
The Error type, a wrapper around a dynamic error type.
The facade for the Ipfs node.
Ipfs node options used to configure the node to be created with UninitializedIpfs.
The (opaque) key of a record.
The ID of a single listener.
Representation of a Multiaddr.
A Multiaddr paired with a discrete PeerId. The Multiaddr can contain a Protocol::P2p, but it’s not as easy to work with, and some functionalities don’t support it being contained within the Multiaddr.
A wrapper for Multiaddr that does not contain Protocol::P2p.
Identifier of a peer of the network.
Stream of a pubsub messages. Implements [FusedStream].
In-memory testing configuration used in tests.
Default node configuration, currently with persistent block store and data store for pins.
Configured Ipfs which can only be started.

Enums

Represents the result of a Kademlia query.
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

Represents the configuration of the Ipfs node, its backing blockstore and datastore.
A NetworkBehaviour defines the behaviour of the local node on the network.

Type Definitions

Derive Macros

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