[−][src]Struct ripple_keypairs::Seed
A seed that can be used to generate keypairs
Examples
Generate a new seed
use ripple_keypairs::{Seed, Entropy, Algorithm}; let seed = Seed::new(Entropy::Random, &Algorithm::Secp256k1); assert!(seed.to_string().starts_with("s"));
Implementations
impl Seed
[src]
pub fn new(entropy: Entropy, kind: &'static Algorithm) -> Self
[src]
Generate a new seed
Examples
use ripple_keypairs::{Seed, Entropy, Algorithm}; let seed_secp256k1 = Seed::new(Entropy::Random, &Algorithm::Secp256k1); assert!(seed_secp256k1.to_string().starts_with("s")); assert_eq!(seed_secp256k1.as_kind(), &Algorithm::Secp256k1); let seed_ed25519 = Seed::new(Entropy::Random, &Algorithm::Ed25519); assert!(seed_ed25519.to_string().starts_with("s")); assert_eq!(seed_ed25519.as_kind(), &Algorithm::Ed25519);
Panics
Panics only if something goes wrong with the random generator
when using the Entropy::Random
parameter.
pub fn random() -> Self
[src]
Generate a random seed
The algorithm defaults to Secp256k1.
Examples
use ripple_keypairs::{Seed, Algorithm}; let seed = Seed::random(); assert_eq!(seed.as_kind(), &Algorithm::Secp256k1); assert_ne!(Seed::random(), Seed::random());
pub fn derive_keypair(&self) -> Result<(PrivateKey, PublicKey)>
[src]
Derive a public and private key from a seed
Examples
use ripple_keypairs::Seed; let seed = Seed::random(); let (private_key, public_key) = seed.derive_keypair()?; let msg = "Test message"; assert_eq!(public_key.verify(&msg, &private_key.sign(&msg)), Ok(()));
Errors
May return error::DeriveKeyPairError
if the derived keypair
did not generate a verifiable signature
pub fn as_entropy(&self) -> &EntropyArray
[src]
Seed as EntropyArray
Examples
use ripple_keypairs::{Seed, Entropy, Algorithm, EntropyArray}; let seed = Seed::new(Entropy::Array([0; 16]), &Algorithm::Secp256k1); assert_eq!(seed.as_entropy(), &[0; 16]); assert_eq!(seed.as_entropy(), <Seed as AsRef<EntropyArray>>::as_ref(&seed));
Traits
This method is used in AsRef
trait.
pub fn as_kind(&self) -> &Algorithm
[src]
Trait Implementations
impl AsRef<[u8; 16]> for Seed
[src]
fn as_ref(&self) -> &EntropyArray
[src]
impl AsRef<Algorithm> for Seed
[src]
impl Clone for Seed
[src]
impl Copy for Seed
[src]
impl Debug for Seed
[src]
impl Display for Seed
[src]
impl Eq for Seed
[src]
impl FromStr for Seed
[src]
type Err = Error
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Self>
[src]
impl Hash for Seed
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl PartialEq<Seed> for Seed
[src]
impl StructuralEq for Seed
[src]
impl StructuralPartialEq for Seed
[src]
Auto Trait Implementations
impl RefUnwindSafe for Seed
[src]
impl Send for Seed
[src]
impl Sync for Seed
[src]
impl Unpin for Seed
[src]
impl UnwindSafe for Seed
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,