use hop_sdk::{HopClient, HopEnvironment};
fn main() {
let message = "Hello from HOP!";
let data = message.as_bytes().to_vec();
eprintln!("Connecting to previewnet\u{2026}");
let client = HopClient::connect(HopEnvironment::Previewnet).unwrap_or_else(|e| {
eprintln!("Connection failed: {e}");
std::process::exit(1);
});
eprintln!("Sending \"{message}\" ({} bytes)\u{2026}", data.len());
let tickets = client.send(data, 1).unwrap_or_else(|e| {
eprintln!("Send failed: {e}");
client.destroy();
std::process::exit(1);
});
eprintln!("Claiming data back\u{2026}");
let received = client.claim(tickets.into_iter().next().unwrap()).unwrap_or_else(|e| {
eprintln!("Claim failed: {e}");
client.destroy();
std::process::exit(1);
});
client.destroy();
let decoded = String::from_utf8(received).expect("valid UTF-8");
println!("{decoded}");
if decoded == message {
eprintln!("Round-trip successful!");
} else {
eprintln!("Mismatch! Expected \"{message}\", got \"{decoded}\"");
std::process::exit(1);
}
}