Zeronet Sign

Easily make rust structures signable as ZeroNet content files

``` use serdederive::{Serialize, Deserialize}; use zeronetsign::Sign; use zeronetsignderive::*; use zeronet_cryptography;

pub fn is_default(t: &T) -> bool { t == &T::default() }

[derive(Serialize, Deserialize, Sign, Default)]

struct MyStruct { data: String, #[serde(skipserializingif = "isdefault")] #[sign(signature)] sign: String, #[sign(skip)] skippedfield: bool, }

fn main () { let mut mystruct = MyStruct { data: "randomdata".tostring(), sign: String::new(), skippedfield: true, };

let key = "5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss";
let result = my_struct.sign(key);

assert!(result.is_ok()); } ```