Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use ipfsapi::IpfsApi;
- use std::str;
- use std::string::FromUtf8Error;
- use std::thread;
- use std::time::Duration;
- fn main() {
- let api = IpfsApi::new("127.0.0.1", 5001);
- while true {
- let logs = api.log_tail()
- .unwrap()
- .filter(|x| x["Operation"].as_str() == Some("handleAddProvider"))
- .filter(|x| x["Tags"]["key"].is_string());
- for log in logs {
- let hash = log["Tags"]["key"].as_str().unwrap().to_string();
- println!("{}", hash);
- thread::spawn(move || {
- parse_text(&hash)
- });
- }
- println!("Checked logs");
- thread::sleep(Duration::from_millis(1000));
- }
- }
- fn parse_text(hash: &str) -> Result<(), FromUtf8Error> {
- let api = IpfsApi::new("127.0.0.1", 5001);
- let data: Vec<u8> = api.cat(hash).unwrap().collect();
- let s = String::from_utf8(data)?;
- println!("{}", s);
- Ok(())
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement