bip0039 0.13.4

Another Rust implementation of BIP-0039 standard
Documentation

bip0039

Another Rust implementation of BIP-0039 standard.

Usage

Compile-time language selection

use bip0039::{Count, English, Mnemonic};

// Generate an English mnemonic with 12 words randomly
let mnemonic = <Mnemonic<English>>::generate(Count::Words12);
// Or use the default generic type (English).
let mnemonic = <Mnemonic>::generate(Count::Words12);
println!("phrase: {}", mnemonic.phrase());

// Generate the HD wallet seed from the mnemonic and the passphrase.
let seed = mnemonic.to_seed("");
assert_eq!(seed.len(), 64);
println!("seed: {}", const_hex::encode(seed));

Runtime language selection

use bip0039::{AnyLanguage, AnyMnemonic, BuiltInLanguage, Count, English};

// Generate an English mnemonic with 12 words randomly
let mnemonic = AnyMnemonic::generate(BuiltInLanguage::English, Count::Words12);
assert_eq!(mnemonic.language(), AnyLanguage::of::<English>());
println!("phrase: {}", mnemonic.phrase());

// Generate the HD wallet seed from the mnemonic and the passphrase.
let seed = mnemonic.to_seed("");
assert_eq!(seed.len(), 64);
println!("seed: {}", const_hex::encode(seed));

Documentation

See documentation and examples at https://docs.rs/bip0039.

Features

  • Support all languages in the BIP-0039 Word Lists
    • English
    • Japanese
    • Korean
    • Spanish
    • Chinese (Simplified)
    • Chinese (Traditional)
    • French
    • Italian
    • Czech
    • Portuguese
  • Support no_std environment

Performance

See benchmarks for more details

Alternatives

License

This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.