rust-ipfs/examples/client1.rs
2020-03-03 13:00:21 +01:00

27 lines
782 B
Rust

use async_std::task;
use futures::join;
use ipfs::{IpfsOptions, Ipld, Types, UninitializedIpfs};
fn main() {
let options = IpfsOptions::<Types>::default();
env_logger::Builder::new()
.parse_filters(&options.ipfs_log)
.init();
task::block_on(async move {
let (ipfs, fut) = UninitializedIpfs::new(options).await.start().await.unwrap();
task::spawn(fut);
let block1: Ipld = "block1".to_string().into();
let block2: Ipld = "block2".to_string().into();
let f1 = ipfs.put_dag(block1);
let f2 = ipfs.put_dag(block2);
let (res1, res2) = join!(f1, f2);
let root: Ipld = vec![res1.unwrap(), res2.unwrap()].into();
ipfs.put_dag(root).await.unwrap();
ipfs.exit_daemon();
});
}