[][src]Crate ipfs_embed

IpfsEmbed is an embeddable ipfs implementation.

use ipfs_embed::Ipfs;
use ipfs_embed::core::BitswapStorage;
use ipfs_embed::db::StorageService;
use ipfs_embed::net::{NetworkConfig, NetworkService};
use libipld::DefaultParams;
use std::sync::Arc;
use std::time::Duration;
let sled_config = sled::Config::new().temporary(true);
let cache_size = 10;
let sweep_interval = Duration::from_millis(10000);
let net_config = NetworkConfig::new();
let storage = Arc::new(StorageService::open(&sled_config, cache_size, sweep_interval).unwrap());
let bitswap_storage = BitswapStorage::new(storage.clone());
let network = Arc::new(NetworkService::new(net_config, bitswap_storage).unwrap());
let ipfs = Ipfs::<DefaultParams, _, _>::new(storage, network);

Re-exports

pub use ipfs_embed_core as core;
pub use ipfs_embed_db as db;
pub use ipfs_embed_net as net;

Structs

Ipfs