semtexzv-ipfsapi

Crates.iosemtexzv-ipfsapi
lib.rssemtexzv-ipfsapi
version0.4.1-alpha.2
sourcesrc
created_at2020-07-24 20:43:25.885817
updated_at2020-07-26 09:34:30.313788
descriptionCrate for interfacing with the IPFS api
homepage
repositoryhttps://github.com/semtexzv/rust-ipfs-api
max_upload_size
id269318
size45,549
Michal Hornický (semtexzv)

documentation

https://docs.rs/ipfsapi

README

Rust IPFS API Client

Crates.io Docs.rs

A client library for the IPFS API.

This library allows you to use the local IPFS daemon from Rust.

Usage

[dependencies]
ipfsapi = "0.2"

Examples

Reading a file from IPFS

Here's an example that gets the contents of a file from IPFS and displays it.

let api = IpfsApi::new("127.0.0.1", 5001);

let bytes = api.cat("QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u").unwrap();
let data = String::from_utf8(bytes.collect()).unwrap();

println!("{}", data);

The code gets the content of the IPFS hash and displays "Hello World".

Subsribing to messages on IPFS Pubsub

let api = IpfsApi::new("127.0.0.1", 5001);

let messages = api.pubsub_subscribe("chat").unwrap();

for message in messages {
    println!("{:?}", message);
}

Implemented Functionality

  • Getting file contents from IPFS (cat)
  • Pubsub
  • IPNS publish and resolve
  • Object/Hash stats (size, etc.)
  • Version information of the daemon
  • Pinning and unpinning files
  • Shut down IPFS daemon
  • Get and put blocks
Commit count: 33

cargo fmt