extern crate futures;
extern crate hyper;
extern crate ipfs_api;
use futures::Future;
use ipfs_api::IpfsClient;
fn main() {
println!("connecting to localhost:5001...");
let client = IpfsClient::default();
let local = client.swarm_addrs_local().map(|local| {
println!();
println!("your addrs:");
for addr in local.strings {
println!(" {}", addr);
}
});
let connected = client.swarm_peers().map(|connected| {
println!();
println!("connected:");
for peer in connected.peers {
let streams: Vec<&str> = peer.streams.iter().map(|s| &s.protocol[..]).collect();
println!(" addr: {}", peer.addr);
println!(" peer: {}", peer.peer);
println!(" latency: {}", peer.latency);
println!(" muxer: {}", peer.muxer);
println!(" streams: {}", streams.join(", "));
println!();
}
});
hyper::rt::run(
local
.and_then(|_| connected)
.map_err(|e| eprintln!("{}", e)),
);
}