summaryrefslogtreecommitdiffstats
path: root/ipfs-api/examples
diff options
context:
space:
mode:
authorFerris Tseng <ferristseng@fastmail.fm>2017-10-25 22:42:29 -0400
committerFerris Tseng <ferristseng@fastmail.fm>2017-10-25 22:42:29 -0400
commitec44a1db8ba7973386bca7fca7b51f1a5647f69e (patch)
tree4d473d4c9a60ba67fdb5e3c6970f7551966d032b /ipfs-api/examples
parent6c1d62c1541b9ceb6d88d04fcb0190182845ade7 (diff)
add dns example
Diffstat (limited to 'ipfs-api/examples')
-rw-r--r--ipfs-api/examples/dns.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/ipfs-api/examples/dns.rs b/ipfs-api/examples/dns.rs
new file mode 100644
index 0000000..20c47e7
--- /dev/null
+++ b/ipfs-api/examples/dns.rs
@@ -0,0 +1,30 @@
+extern crate ipfs_api;
+extern crate tokio_core;
+
+use ipfs_api::IpfsClient;
+use tokio_core::reactor::Core;
+
+// Creates an Ipfs client, resolves ipfs.io, and lists the contents of it.
+//
+fn main() {
+ println!("connecting to localhost:5001...");
+
+ let mut core = Core::new().expect("expected event loop");
+ let client = IpfsClient::default(&core.handle());
+
+ let req = client.dns("ipfs.io", false);
+ let dns = core.run(req).expect("dns should resolve");
+
+ println!("dns resolves to ({})", &dns.path);
+ println!("");
+
+ let req = client.file_ls(&dns.path[..]);
+ let contents = core.run(req).expect("api should return path contents");
+
+ println!("found contents:");
+ for directory in contents.objects.values() {
+ for file in directory.links.iter() {
+ println!("[{}] ({} bytes)", file.name, file.size);
+ }
+ }
+}