[−][src]Enum bip39::MnemonicType
pub enum MnemonicType {
Words12,
Words15,
Words18,
Words21,
Words24,
}Determines the number of words that will be present in a Mnemonic phrase
Also directly affects the amount of entropy that will be used to create a Mnemonic,
and therefore the cryptographic strength of the HD wallet keys/addresses that can be derived from
it using the Seed.
For example, a 12 word mnemonic phrase is essentially a friendly representation of a 128-bit key, while a 24 word mnemonic phrase is essentially a 256-bit key.
If you know you want a specific phrase length, you can use the enum variant directly, for example
MnemonicType::Words12.
You can also get a MnemonicType that corresponds to one of the standard BIP39 key sizes by
passing arbitrary usize values:
use bip39::{MnemonicType}; let mnemonic_type = MnemonicType::for_key_size(128).unwrap();
Variants
Implementations
impl MnemonicType[src][−]
pub fn for_word_count(size: usize) -> Result<MnemonicType, Error>[src][−]
Get a MnemonicType for a mnemonic phrase with a specific number of words
Specifying a word count not provided for by the BIP39 standard will return an Error
of kind ErrorKind::InvalidWordLength.
Example
use bip39::{MnemonicType}; let mnemonic_type = MnemonicType::for_word_count(12).unwrap();
pub fn for_key_size(size: usize) -> Result<MnemonicType, Error>[src][−]
Get a MnemonicType for a mnemonic phrase representing the given key size as bits
Specifying a key size not provided for by the BIP39 standard will return an Error
of kind ErrorKind::InvalidKeysize.
Example
use bip39::{MnemonicType}; let mnemonic_type = MnemonicType::for_key_size(128).unwrap();
pub fn for_phrase(phrase: &str) -> Result<MnemonicType, Error>[src][−]
Get a MnemonicType for an existing mnemonic phrase
This can be used when you need information about a mnemonic phrase based on the number of
words, for example you can get the entropy value using MnemonicType::entropy_bits.
Specifying a phrase that does not match one of the standard BIP39 phrase lengths will return
an Error of kind ErrorKind::InvalidWordLength. The phrase will not be validated in any
other way.
Example
use bip39::{MnemonicType}; let test_mnemonic = "park remain person kitchen mule spell knee armed position rail grid ankle"; let mnemonic_type = MnemonicType::for_phrase(test_mnemonic).unwrap(); let entropy_bits = mnemonic_type.entropy_bits();
pub fn total_bits(&self) -> usize[src][−]
Return the number of entropy+checksum bits
Example
use bip39::{MnemonicType}; let test_mnemonic = "park remain person kitchen mule spell knee armed position rail grid ankle"; let mnemonic_type = MnemonicType::for_phrase(test_mnemonic).unwrap(); let total_bits = mnemonic_type.total_bits();
pub fn entropy_bits(&self) -> usize[src][−]
Return the number of entropy bits
Example
use bip39::{MnemonicType}; let test_mnemonic = "park remain person kitchen mule spell knee armed position rail grid ankle"; let mnemonic_type = MnemonicType::for_phrase(test_mnemonic).unwrap(); let entropy_bits = mnemonic_type.entropy_bits();
pub fn checksum_bits(&self) -> u8[src][−]
Return the number of checksum bits
Example
use bip39::{MnemonicType}; let test_mnemonic = "park remain person kitchen mule spell knee armed position rail grid ankle"; let mnemonic_type = MnemonicType::for_phrase(test_mnemonic).unwrap(); let checksum_bits = mnemonic_type.checksum_bits();
pub fn word_count(&self) -> usize[src][−]
Return the number of words
Example
use bip39::{MnemonicType}; let mnemonic_type = MnemonicType::Words12; let word_count = mnemonic_type.word_count();
Trait Implementations
impl Clone for MnemonicType[src][+]
impl Copy for MnemonicType[src]
impl Debug for MnemonicType[src][+]
impl Default for MnemonicType[src][+]
impl Display for MnemonicType[src][+]
Auto Trait Implementations
impl RefUnwindSafe for MnemonicType
impl Send for MnemonicType
impl Sync for MnemonicType
impl Unpin for MnemonicType
impl UnwindSafe for MnemonicType
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,
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[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone, [src][+]
T: Clone,
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>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>, [src][+]
V: MultiLane<T>,