use p2panda_core::{Body, Header, Operation, SigningKey, Timestamp, validate_operation};
fn main() {
let signing_key = SigningKey::generate();
let body = Body::new("Hello, Sloth!".as_bytes());
let mut header = Header {
version: 1,
verifying_key: signing_key.verifying_key(),
signature: None,
payload_size: body.size(),
payload_hash: Some(body.hash()),
timestamp: Timestamp::now(),
seq_num: 0,
backlink: None,
extensions: None::<()>,
};
header.sign(&signing_key);
let operation = Operation {
hash: header.hash(),
header,
body: Some(body),
};
assert!(validate_operation(&operation).is_ok());
}