Struct ipfs_api::IpfsClient [] [src]

pub struct IpfsClient { /* fields omitted */ }

Asynchronous Ipfs client.

Methods

impl IpfsClient
[src]

[src]

Creates a new IpfsClient.

[src]

Creates an IpfsClient connected to localhost:5001.

impl IpfsClient
[src]

[src]

Add file to Ipfs.

Examples

use ipfs_api::IpfsClient;
use std::io::Cursor;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let data = Cursor::new("Hello World!");
let req = client.add(data);

[src]

Returns the current ledger for a peer.

Examples

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.bitswap_ledger("QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ");

[src]

Triggers a reprovide.

Examples

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.bitswap_reprovide();

[src]

Returns some stats about the bitswap agent.

Examples

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.bitswap_stat();

[src]

Remove a given block from your wantlist.

Examples

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.bitswap_unwant("QmXdNSQx7nbdRvkjGCEQgVjVtVwsHvV8NmV2a8xzQVwuFA");

[src]

Shows blocks on the wantlist for you or the specified peer.

Examples

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.bitswap_wantlist(Some("QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"));

[src]

Gets a raw IPFS block.

Examples

use futures::stream::Stream;
use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let hash = "QmXdNSQx7nbdRvkjGCEQgVjVtVwsHvV8NmV2a8xzQVwuFA";
let req = client.block_get(hash).concat2();

[src]

Store input as an IPFS block.

Examples

use ipfs_api::IpfsClient;
use std::io::Cursor;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let data = Cursor::new("Hello World!");
let req = client.block_put(data);

[src]

Removes an IPFS block.

Examples

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.block_rm("QmXdNSQx7nbdRvkjGCEQgVjVtVwsHvV8NmV2a8xzQVwuFA");

[src]

Prints information about a raw IPFS block.

Examples

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.block_stat("QmXdNSQx7nbdRvkjGCEQgVjVtVwsHvV8NmV2a8xzQVwuFA");

[src]

Add default peers to the bootstrap list.

Examples

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.bootstrap_add_default();

[src]

Lists peers in bootstrap list.

Examples

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.bootstrap_list();

[src]

Removes all peers in bootstrap list.

Examples

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.bootstrap_rm_all();

[src]

Returns the contents of an Ipfs object.

Examples

use futures::stream::Stream;
use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let hash = "QmXdNSQx7nbdRvkjGCEQgVjVtVwsHvV8NmV2a8xzQVwuFA";
let req = client.cat(hash).concat2();

[src]

List available commands that the server accepts.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.commands();

[src]

Opens the config file for editing (on the server).

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.config_edit();

[src]

Replace the config file.

use ipfs_api::IpfsClient;
use std::io::Cursor;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let config = Cursor::new("{..json..}");
let req = client.config_replace(config);

[src]

Show the current config of the server.

Returns an unparsed json string, due to an unclear spec.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.config_show();

[src]

Returns information about a dag node in Ipfs.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.dag_get("QmXdNSQx7nbdRvkjGCEQgVjVtVwsHvV8NmV2a8xzQVwuFA");

[src]

Query the DHT for all of the multiaddresses associated with a Peer ID.

use futures::stream::Stream;
use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let peer = "QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM";
let req = client.dht_findpeer(peer).collect();

[src]

Find peers in the DHT that can provide a specific value given a key.

use futures::stream::Stream;
use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let key = "QmXdNSQx7nbdRvkjGCEQgVjVtVwsHvV8NmV2a8xzQVwuFA";
let req = client.dht_findprovs(key).collect();

[src]

Query the DHT for a given key.

use futures::stream::Stream;
use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let key = "QmXdNSQx7nbdRvkjGCEQgVjVtVwsHvV8NmV2a8xzQVwuFA";
let req = client.dht_get(key).collect();

[src]

Announce to the network that you are providing a given value.

use futures::stream::Stream;
use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let key = "QmXdNSQx7nbdRvkjGCEQgVjVtVwsHvV8NmV2a8xzQVwuFA";
let req = client.dht_provide(key).collect();

[src]

Write a key/value pair to the DHT.

use futures::stream::Stream;
use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.dht_put("test", "Hello World!").collect();

[src]

Find the closest peer given the peer ID by querying the DHT.

use futures::stream::Stream;
use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let peer = "QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM";
let req = client.dht_query(peer).collect();

[src]

Clear inactive requests from the log.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.diag_cmds_clear();

[src]

Set how long to keep inactive requests in the log.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.diag_cmds_set_time("1m");

[src]

Print system diagnostic information.

Note: There isn't good documentation on what this call is supposed to return. It might be platform dependent, but if it isn't, this can be fixed to return an actual object.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.diag_sys();

[src]

Resolve DNS link.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.dns("ipfs.io", true);

[src]

List directory for Unix filesystem objects.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.file_ls("/ipns/ipfs.io");

[src]

Copy files into MFS.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.files_cp("/path/to/file", "/dest");

[src]

Flush a path's data to disk.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.files_flush(None);
let req = client.files_flush(Some("/tmp"));

[src]

List directories in MFS.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.files_ls(None);
let req = client.files_ls(Some("/tmp"));

[src]

Make directories in MFS.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.files_mkdir("/test", false);
let req = client.files_mkdir("/test/nested/dir", true);

[src]

Copy files into MFS.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.files_mv("/test/tmp.json", "/test/file.json");

[src]

Read a file in MFS.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.files_read("/test/file.json");

[src]

Remove a file in MFS.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.files_rm("/test/dir", true);
let req = client.files_rm("/test/file.json", false);

[src]

Display a file's status in MDFS.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.files_stat("/test/file.json");

[src]

Write to a mutable file in the filesystem.

use ipfs_api::IpfsClient;
use std::fs::File;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let file = File::open("test.json").unwrap();
let req = client.files_write("/test/file.json", true, true, file);

[src]

List blocks that are both in the filestore and standard block storage.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.filestore_dups();

[src]

List objects in filestore.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.filestore_ls(Some("QmYPP3BovR2m8UqCZxFbdXSit6SKgExxDkFAPLqiGsap4X"));

[src]

Verify objects in filestore.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.filestore_verify(None);

[src]

Download Ipfs object.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.get("/test/file.json");

[src]

Returns information about a peer.

If peer is None, returns information about you.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.id(None);
let req = client.id(Some("QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM"));

[src]

Create a new keypair.

use ipfs_api::{IpfsClient, KeyType};
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.key_gen("test", KeyType::Rsa, 64);

[src]

List all local keypairs.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.key_list();

[src]

Rename a keypair.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.key_rename("key_0", "new_name", false);

[src]

Remove a keypair.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.key_rm("key_0");

[src]

Change the logging level for a logger.

use ipfs_api::{IpfsClient, Logger, LoggingLevel};
use std::borrow::Cow;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.log_level(Logger::All, LoggingLevel::Debug);
let req = client.log_level(
    Logger::Specific(Cow::Borrowed("web")),
    LoggingLevel::Warning);

[src]

List all logging subsystems.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.log_ls();

[src]

Read the event log.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.log_tail();

[src]

List the contents of an Ipfs multihash.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.ls(None);
let req = client.ls(Some("/ipfs/QmVrLsEDn27sScp3k23sgZNefVTjSAL3wpgW1iWPi4MgoY"));

[src]

Publish an IPFS path to IPNS.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.name_publish(
    "/ipfs/QmVrLsEDn27sScp3k23sgZNefVTjSAL3wpgW1iWPi4MgoY",
    false,
    Some("12h"),
    None,
    None);

[src]

Resolve an IPNS name.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.name_resolve(
    Some("/ipns/ipfs.io"),
    true,
    false);

[src]

Output the raw bytes of an Ipfs object.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.object_data("/ipfs/QmVrLsEDn27sScp3k23sgZNefVTjSAL3wpgW1iWPi4MgoY");

[src]

Returns the diff of two Ipfs objects.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.object_diff(
    "/ipfs/QmVrLsEDn27sScp3k23sgZNefVTjSAL3wpgW1iWPi4MgoY",
    "/ipfs/QmXdNSQx7nbdRvkjGCEQgVjVtVwsHvV8NmV2a8xzQVwuFA");

[src]

Returns the data in an object.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.object_get("/ipfs/QmVrLsEDn27sScp3k23sgZNefVTjSAL3wpgW1iWPi4MgoY");

Returns the links that an object points to.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.object_links("/ipfs/QmVrLsEDn27sScp3k23sgZNefVTjSAL3wpgW1iWPi4MgoY");

[src]

Create a new object.

use ipfs_api::{IpfsClient, ObjectTemplate};
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.object_new(None);
let req = client.object_new(Some(ObjectTemplate::UnixFsDir));

[src]

Returns the stats for an object.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.object_stat("/ipfs/QmVrLsEDn27sScp3k23sgZNefVTjSAL3wpgW1iWPi4MgoY");

[src]

Pins a new object.

The "recursive" option tells the server whether to pin just the top-level object, or all sub-objects it depends on. For most cases you want it to be true.

Does not yet implement the "progress" agument because reading it is kinda squirrelly.

Examples

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.pin_add("QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ", true);

[src]

Returns a list of pinned objects in local storage.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.pin_ls(None, None);
let req = client.pin_ls(
    Some("/ipfs/QmVrLsEDn27sScp3k23sgZNefVTjSAL3wpgW1iWPi4MgoY"),
    None);
let req = client.pin_ls(None, Some("direct"));

[src]

Removes a pinned object from local storage.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.pin_rm(
    "/ipfs/QmVrLsEDn27sScp3k23sgZNefVTjSAL3wpgW1iWPi4MgoY",
    false);
let req = client.pin_rm(
    "/ipfs/QmVrLsEDn27sScp3k23sgZNefVTjSAL3wpgW1iWPi4MgoY",
    true);

[src]

Pings a peer.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.ping("QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64", None);
let req = client.ping("QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64", Some(15));

[src]

List subscribed pubsub topics.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.pubsub_ls();

[src]

List peers that are being published to.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.pubsub_peers(None);
let req = client.pubsub_peers(Some("feed"));

[src]

Publish a message to a topic.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.pubsub_pub("feed", "Hello World!");

[src]

Subscribes to a pubsub topic.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.pubsub_sub("feed", false);
let req = client.pubsub_sub("feed", true);

[src]

Gets a list of local references.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.refs_local();

[src]

Shutdown the Ipfs daemon.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.shutdown();

[src]

Returns bitswap stats.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.stats_bitswap();

[src]

Returns bandwidth stats.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.stats_bw();

[src]

Returns repo stats.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.stats_repo();

[src]

Return a list of local addresses.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.swarm_addrs_local();

[src]

Return a list of peers with open connections.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.swarm_peers();

[src]

Add a tar file to Ipfs.

Note: data should already be a tar file. If it isn't the Api will return an error.

use ipfs_api::IpfsClient;
use std::fs::File;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let tar = File::open("/path/to/file.tar").unwrap();
let req = client.tar_add(tar);

[src]

Export a tar file from Ipfs.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.tar_cat("/ipfs/QmVrLsEDn27sScp3k23sgZNefVTjSAL3wpgW1iWPi4MgoY");

[src]

Returns information about the Ipfs server version.

use ipfs_api::IpfsClient;
use tokio_core::reactor::Core;

let mut core = Core::new().unwrap();
let client = IpfsClient::default(&core.handle());
let req = client.version();