27 lines
782 B
Rust
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();
|
|
});
|
|
}
|