Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::{fs, path::PathBuf, process, str};
- use subtle_encoding::{base64, Identity};
- use signatory::{Decode, Encode, ed25519};
- pub type SecretKeyEncoding = subtle_encoding::Base64;
- fn import_priv_validator(json_data: &str) {
- let v: serde_json::Value = serde_json::from_str(json_data).unwrap();
- let s = v["priv_key"]["value"].as_str().unwrap_or_else(|| {
- process::exit(1);
- });
- let key_pair = base64::decode(s).unwrap_or_else(|_| {
- process::exit(1);
- });
- let seed = ed25519::Seed::from_keypair(&key_pair).unwrap_or_else(|| {
- process::exit(1);
- });
- let key_encoded = seed.encode_to_string(&SecretKeyEncoding::default());
- println!("output secret key: {}", key_encoded.unwrap());
- }
- fn main() {
- let path = PathBuf::from(r"priv_validator_key.json");
- let contents = fs::read_to_string(&path).unwrap_or_else(|e| {
- println!("couldn't import file {}: {}", &path.display(), e);
- process::exit(1);
- });
- println!("{}", &contents);
- import_priv_validator(&contents);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement