Docs.rs
  • rust-ipfs-0.14.0
    • rust-ipfs 0.14.0
    • Docs.rs crate page
    • MIT OR Apache-2.0
    • Links
    • Repository
    • crates.io
    • Source
    • Owners
    • dariusc93
    • Dependencies
      • anyhow ^1.0.94 normal
      • async-stream ^0.3.6 normal
      • async-trait ^0.1.82 normal
      • asynchronous-codec ^0.7.0 normal
      • base64 ^0.22.1 normal
      • byteorder ^1.5.0 normal
      • bytes ^1.9.0 normal
      • chrono ^0.4.35 normal
      • either ^1.13.0 normal
      • futures ^0.3.31 normal
      • futures-timeout ^0.1.0 normal
      • hkdf ^0.12.4 normal
      • indexmap ^2.7.0 normal
      • ipld-core ^0.4.1 normal
      • ipld-dagpb ^0.2.1 normal
      • libp2p-allow-block-list ^0.4.0 normal
      • libp2p-connection-limits ^0.4.0 normal
      • libp2p-relay-manager ^0.3.1 normal
      • libp2p-stream ^0.2.0-alpha normal optional
      • multibase ^0.9.1 normal
      • multihash ^0.19.3 normal
      • multihash-codetable ^0.1.3 normal
      • multihash-derive ^0.9.0 normal
      • p256 ^0.13.2 normal
      • parking_lot ^0.12.3 normal
      • pem ^3.0.4 normal
      • pollable-map ^0.1.0-alpha.1 normal
      • quick-protobuf ^0.8.1 normal
      • quick-protobuf-codec ^0.3.1 normal
      • rand ^0.8.5 normal
      • rand_chacha ^0.3.1 normal
      • rust-ipns ^0.6.0 normal
      • rust-unixfs ^0.5.0 normal
      • sec1 ^0.7.3 normal
      • serde ^1.0.215 normal
      • serde_ipld_dagcbor ^0.6.1 normal
      • serde_ipld_dagjson ^0.2.0 normal
      • serde_json ^1.0.133 normal
      • sha2 ^0.10.8 normal
      • thiserror ^2.0.4 normal
      • tracing ^0.1.41 normal
      • tracing-futures ^0.2.5 normal
      • unsigned-varint ^0.8.0 normal
      • void ^1.0.2 normal
      • web-time ^1.1.0 normal
      • zeroize ^1.8.1 normal
      • clap ^4.5.23 dev
      • criterion ^0.5 dev
      • hex-literal ^0.4 dev
      • rand ^0.8 dev
      • rustyline-async ^0.4 dev
      • sha2 ^0.10 dev
      • tempfile ^3.14.0 dev
      • tokio ^1 dev
      • tracing-subscriber ^0.3 dev
      • fs2 ^0.4.3 normal
      • futures-timer ^3.0.0 normal
      • hickory-resolver ^0.24.1 normal
      • libp2p ^0.54.1 normal
      • libp2p-webrtc =0.8.0-alpha normal optional
      • rcgen ^0.13.1 normal
      • rlimit ^0.10.2 normal
      • simple_x509 =1.1.0 normal
      • tokio ^1.42.0 normal
      • tokio-stream ^0.1.17 normal
      • tokio-util ^0.7.13 normal
      • futures-timer ^3.0.0 normal
      • getrandom ^0.2.15 normal
      • idb ^0.6.3 normal
      • instant ^0.1.13 normal
      • libp2p ^0.54.1 normal
      • libp2p-webrtc-websys ^0.4.0-alpha normal optional
      • send_wrapper ^0.6.0 normal
      • serde-wasm-bindgen ^0.6 normal
      • tokio ^1.42.0 normal
      • tokio-stream ^0.1.17 normal
      • tokio-util ^0.7.13 normal
      • wasm-bindgen-futures ^0.4.47 normal
    • Versions
    • 48.7% of the crate is documented
  • Go to latest version
  • Platform
    • i686-unknown-linux-gnu
    • x86_64-unknown-linux-gnu
  • Feature flags
  • docs.rs
    • About docs.rs
    • Privacy policy
  • Rust
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation

Crate rust_ipfs

rust_ipfs0.14.0

  • All Items

Crate Items

  • Re-exports
  • Modules
  • Macros
  • Structs
  • Enums
  • Traits
  • Type Aliases
  • Derive Macros

Crates

  • rust_ipfs

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.

Results

Settings
Help
    method
    rust_ipfs::Error::context
    Wrap the error value with additional context.
    method
    rust_ipfs::Ipfs::connect
    Connects to the peer
    method
    rust_ipfs::repo::RepoGetBlock::try_poll
    Pin<&mut F>, &mut Context -> Poll
    method
    rust_ipfs::repo::RepoGetBlock::poll
    Pin<&mut RepoGetBlock>, &mut Context -> Poll<Future::Output>
    method
    rust_ipfs::SubscriptionStream::poll_next
    Pin<&mut SubscriptionStream>, &mut Context -> Poll<Option<Stream::Item>>
    method
    rust_ipfs::repo::RepoGetBlocks::poll_next
    Pin<&mut RepoGetBlocks>, &mut Context -> Poll<Option<Stream::Item>>
    method
    rust_ipfs::unixfs::UnixfsAdd::poll_next
    Pin<&mut UnixfsAdd>, &mut Context -> Poll<Option<Stream::Item>>
    method
    rust_ipfs::unixfs::UnixfsCat::poll_next
    Pin<&mut UnixfsCat>, &mut Context -> Poll<Option<Stream::Item>>
    method
    rust_ipfs::unixfs::UnixfsGet::poll_next
    Pin<&mut UnixfsGet>, &mut Context -> Poll<Option<Stream::Item>>
    method
    rust_ipfs::unixfs::UnixfsLs::poll_next
    Pin<&mut UnixfsLs>, &mut Context -> Poll<Option<Stream::Item>>
    method
    rust_ipfs::repo::RepoGetBlocks::try_poll_next
    Pin<&mut S>, &mut Context -> Poll<Option<Result>>
    method
    rust_ipfs::unixfs::UnixfsCat::try_poll_next
    Pin<&mut S>, &mut Context -> Poll<Option<Result>>
    method
    rust_ipfs::p2p::bitswap::Behaviour::poll
    &mut Behaviour, &mut Context -> Poll<ToSwarm<NetworkBehaviour::ToSwarm, THandlerInEvent<Behaviour>>>
    method
    rust_ipfs::p2p::protocol::Behaviour::poll
    &mut Behaviour, &mut Context -> Poll<ToSwarm<NetworkBehaviour::ToSwarm, THandlerInEvent<Behaviour>>>
    trait method
    rust_ipfs::NetworkBehaviour::poll
    &mut NetworkBehaviour, &mut Context -> Poll<ToSwarm<NetworkBehaviour::ToSwarm>>
    Polls for things that swarm should do.
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.