use dstack_sdk::tappd_client::TappdClient;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let client = TappdClient::new(None);
println!("TappdClient created successfully!");
let response = client.derive_key("my/key/path").await?;
println!("Key derived successfully!");
println!(
"Certificate chain length: {}",
response.certificate_chain.len()
);
let ecdsa_p256_key = response.decode_key().unwrap();
println!("ECDSA P-256 key length: {}", ecdsa_p256_key.len());
let mut report_data = b"Hello, world!".to_vec();
report_data.resize(64, 0);
let response = client.get_quote(report_data).await?;
println!("Quote generated successfully!");
println!("Quote length: {}", response.quote.len());
let response = client.info().await?;
println!("Instance info retrieved successfully!");
println!("App ID: {}", response.app_id);
println!("Instance ID: {}", response.instance_id);
println!("App Name: {}", response.app_name);
Ok(())
}