use p2panda_core::{Body, Header, Operation, PrivateKey, validate_operation};
fn main() {
let private_key = PrivateKey::new();
let body = Body::new("Hello, Sloth!".as_bytes());
let mut header = Header {
version: 1,
public_key: private_key.public_key(),
signature: None,
payload_size: body.size(),
payload_hash: Some(body.hash()),
timestamp: 0,
seq_num: 0,
backlink: None,
previous: vec![],
extensions: None::<()>,
};
header.sign(&private_key);
let operation = Operation {
hash: header.hash(),
header,
body: Some(body),
};
assert!(validate_operation(&operation).is_ok());
}