use p2panda_rs::entry::encode::encode_entry;
use p2panda_rs::entry::EntryBuilder;
use p2panda_rs::identity::KeyPair;
use p2panda_rs::operation::encode::encode_operation;
use p2panda_rs::operation::OperationBuilder;
fn main() -> Result<(), Box<dyn std::error::Error>> {
pub const SCHEMA_ID: &str =
"profile_0020c65567ae37efea293e34a9c7d13f8f2bf23dbdc3b5c7b9ab46293111c48fc78b";
let key_pair = KeyPair::new();
let operation = OperationBuilder::new(&SCHEMA_ID.parse()?)
.fields(&[("username", "panda".into())])
.build()?;
let encoded_operation = encode_operation(&operation)?;
let entry = EntryBuilder::new().sign(&encoded_operation, &key_pair)?;
let encoded_entry = encode_entry(&entry)?;
println!("{} {}", encoded_entry, encoded_operation);
Ok(())
}