use gun::Gun;
use serde_json::json;
use std::sync::Arc;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let gun = Arc::new(Gun::new());
let mark_chain = gun.get("mark");
mark_chain
.put(json!({
"name": "Mark",
"email": "mark@gun.eco"
}))
.await?;
let mark_chain = gun.get("mark");
mark_chain.on(|data, _key| {
println!("realtime updates: {:?}", data);
});
for i in 0..10 {
tokio::time::sleep(tokio::time::Duration::from_millis(9)).await;
gun.get("mark").get("live").put(json!(i as f64)).await?;
}
Ok(())
}