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 block::Block;
pub use self::p2p::BehaviourEvent;
pub use self::p2p::KadResult;
pub use self::path::IpfsPath;
pub use self::repo::PinKind;
pub use self::repo::PinMode;
pub use libp2p;

Modules§

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

Macros§

multiaddr
Easy way for a user to create a Multiaddr.

Structs§

AddPeerOpt
ConnectionLimits
The configurable connection limits.
Error
Just re-export anyhow for now.
Ipfs
The facade for the Ipfs node.
Key
The (opaque) key of a record.
Keypair
Identity keypair of a node.
ListenerId
The ID of a single listener.
MessageId
Multiaddr
Representation of a Multiaddr.
OptionalStreamProtocol
PeerId
Identifier of a peer of the network.
PublicKey
The public key of a node’s identity keypair.
SubscriptionStream
Stream of a pubsub messages. Implements FusedStream.
UninitializedIpfs
Configured Ipfs which can only be started.

Enums§

ConnectionEvents
DhtMode
FDLimit
PeerConnectionEvents
Protocol
Protocol describes all possible multiaddress protocols.
PublishError
Error associated with publishing a gossipsub message.
PubsubEvent
Quorum
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.
RepoProvider
StorageType

Traits§

IntoAddPeerOpt
IntoRequest
IntoStreamProtocol
NetworkBehaviour
A NetworkBehaviour defines the behaviour of the local node on the network.

Type Aliases§

UninitializedIpfsDefault

Derive Macros§

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