13 releases
0.4.0 | Oct 1, 2022 |
---|---|
0.3.0 | Aug 4, 2019 |
0.2.2 | May 11, 2018 |
0.2.1 | Mar 12, 2018 |
0.1.5 | Oct 18, 2017 |
#2155 in Network programming
5,839 downloads per month
23KB
490 lines
Rust IPFS API Client
A client library for the IPFS API.
This library allows you to use the local IPFS daemon from Rust.
Usage
[dependencies]
ipfsapi = "0.4"
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
Dependencies
~3–4.5MB
~82K SLoC