CLI for relayer

This commit is contained in:
hu55a1n1 2024-02-23 14:28:52 -08:00
parent 4f6bcde865
commit 5f11d004b0
2 changed files with 25 additions and 5 deletions

View file

@ -0,0 +1,10 @@
use clap::Parser;
use tonic::transport::Endpoint;
#[derive(Debug, Parser)]
#[command(author, version, about, long_about = None)]
pub struct Cli {
/// RPC server address
#[clap(long, default_value = "http://localhost:11090")]
pub enclave_addr: Endpoint,
}

View file

@ -1,13 +1,23 @@
use quartz_proto::quartz::{core_client::CoreClient, SessionCreateRequest};
mod cli;
use std::{fs::File, io::Write};
use clap::Parser;
use quartz_proto::quartz::{core_client::CoreClient, InstantiateRequest};
use quartz_relayer::types::InstantiateResponse;
use crate::{cli::Cli};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut client = CoreClient::connect("http://localhost:11090").await?;
let args = Cli::parse();
let request = tonic::Request::new(SessionCreateRequest {});
let mut client = CoreClient::connect(args.enclave_addr).await?;
let response = client.instantiate(InstantiateRequest {}).await?;
let response: InstantiateResponse = response.into_inner().try_into()?;
let response = client.session_create(request).await?;
println!("{:?}", response.into_inner());
let mut quote_file = File::create("test.quote")?;
quote_file.write_all(response.quote())?;
Ok(())
}