e942d7533b
- Creates a keystore directory in the config - Fetches serialized keys from the keystore directory - If no keys, generates keys randomly, saves serialized keys to keystore dir.
22 lines
524 B
Rust
22 lines
524 B
Rust
use super::{PublicKey, SecretKey};
|
|
use serde_derive::{Deserialize, Serialize};
|
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
|
pub struct Keypair {
|
|
pub sk: SecretKey,
|
|
pub pk: PublicKey,
|
|
}
|
|
|
|
impl Keypair {
|
|
/// Instantiate a Keypair using SecretKey::random().
|
|
pub fn random() -> Self {
|
|
let sk = SecretKey::random();
|
|
let pk = PublicKey::from_secret_key(&sk);
|
|
Keypair { sk, pk }
|
|
}
|
|
|
|
pub fn identifier(&self) -> String {
|
|
self.pk.concatenated_hex_id()
|
|
}
|
|
}
|