3 releases
0.4.1-alpha.2 | Jul 26, 2020 |
---|---|
0.4.1-alpha.1 | Jul 25, 2020 |
0.4.0 | Jul 24, 2020 |
#7 in #ipfs-api
22 downloads per month
Used in 2 crates
(via ipcs-node)
17KB
346 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.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
Dependencies
~4–9MB
~167K SLoC