use std::{thread, time};
use reqwest::Client;
use podping_api::{
self,
podping::{
api::{get_head_block_number, get_operations, get_payloads},
request::BlockId,
},
};
#[tokio::main]
async fn main() -> std::io::Result<()> {
let client = Client::new();
let mut head_block = get_head_block_number(&client).await.unwrap();
let mut block = head_block;
println!("Press ^C to quit.");
loop {
println!("Block Number: {:?}", block);
let operations = get_operations(&client, &BlockId::new(block)).await.unwrap();
let payloads = get_payloads(operations, &BlockId::new(block)).await;
println!("Payloads: {:?}", payloads.clone());
block = head_block + 1;
tracing::warn!("Block advanced!");
while block > head_block {
if let Ok(block_response) = get_head_block_number(&client).await {
head_block = block_response;
}
thread::sleep(time::Duration::from_secs(1));
}
}
#[allow(unreachable_code)]
Ok(())
}