创建钱包
let wallet = LocalWallet::new(&mut rand::thread_rng());
私钥返回钱包对象
let wallet = "私钥".parse::<LocalWallet>().unwrap();
钱包签名消息
let signature = wallet.sign_message("hello world").await?;
签名验证
if signature.verify("hello world", wallet.address()).is_ok(){
println!("ok--");
}else{
println!("fail---");
}
签名恢复钱包地址
let recovered = signature.recover("hello world")?;
assert_eq!(recovered,wallet.address());
签名恢复RSV对象
let sign = "签名字符串".parse::<Signature>()?;
let r = sign.r;
let s = sign.s;
let v = sign.v;