From 7f151868e14feb25b1b51a8659593ed985893161 Mon Sep 17 00:00:00 2001 From: waalge Date: Sun, 26 Jan 2025 11:51:15 +0000 Subject: [PATCH] wip --- app/client.rs | 73 --------------------------------------------------- 1 file changed, 73 deletions(-) delete mode 100644 app/client.rs diff --git a/app/client.rs b/app/client.rs deleted file mode 100644 index 0a96b82..0000000 --- a/app/client.rs +++ /dev/null @@ -1,73 +0,0 @@ -use chrono::prelude::DateTime; -use cryptoxide::ed25519; -use uuid::Uuid; - -use mr_wolf_tonic::clock_client::ClockClient; -use mr_wolf_tonic::{AddReq, TimeReq}; - -pub mod mr_wolf_tonic { - tonic::include_proto!("mrwolf"); -} - -use mr_wolf::types::{mk_message, Witness}; - -fn mk_witness(keypair: [u8; 64], iou: u64) -> Witness { - let nonce = Uuid::new_v4().as_bytes().clone(); - let message = mk_message(iou, &nonce); - let sig = ed25519::signature(&message, &keypair); - Witness { iou, nonce, sig } -} - -fn mk_request(keypair: [u8; 64], id: &str, iou: u64) -> tonic::Request { - let witness = mk_witness(keypair, iou); - tonic::Request::new(TimeReq { - id: id.to_string(), - iou: witness.iou, - nonce: witness.nonce.into_iter().collect::>(), - sig: witness.sig.into_iter().collect::>(), - }) -} - -#[tokio::main] -async fn main() -> Result<(), Box> { - let mut client = ClockClient::connect("http://0.0.0.0:50051").await?; - // Subscriber generates secret and declares pub_key - let prv_key = [0u8; 32]; // private key only for example ! - let (keypair, pub_key_arr) = ed25519::keypair(&prv_key); - let pub_key = pub_key_arr.into_iter().collect::>(); - - // Provider and subscriber agree terms. - // Provider adds details to service - // And hands back subscriber id - let add_req = tonic::Request::new(AddReq { - pot: 20000, - pub_key, - }); - - let add_res = client.add(add_req).await?; - // Subscriber id - let id = add_res.into_inner().id; - - // Make a request - let request = mk_request(keypair, &id, 1); - let response = client.whats_the_time(request).await?; - let start = response.into_inner().message; - let start_time = DateTime::parse_from_str(&start, "New %+").unwrap(); - println!("ID={} UTC={:?}", id, start); - for ii in 2..20000 { - let request = mk_request(keypair, &id, ii); - let response = client.whats_the_time(request).await?; - let _utc = response.into_inner().message; - } - let request = mk_request(keypair, &id, 20000); - let response = client.whats_the_time(request).await?; - let end = response.into_inner().message; - println!("ID={} UTC={:?}", id, end); - let end_time = DateTime::parse_from_str(&end, "New %+").unwrap(); - println!( - "ID={} DIFF={:?}", - id, - end_time.signed_duration_since(start_time) - ); - Ok(()) -}