1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
//! //! This is a Rust implementation of the [bip39][bip39-standard] standard for Bitcoin HD wallet //! mnemonic phrases. //! //! //! [bip39-standard]: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki //! //! ## Quickstart //! //! ```rust //! use bip39::{Mnemonic, MnemonicType, Language, Seed}; //! //! /// determines the number of words in the mnemonic phrase //! let mnemonic_type = MnemonicType::Type12Words; //! //! /// create a new randomly generated mnemonic phrase //! let mnemonic = match Mnemonic::new(mnemonic_type, Language::English, "") { //! Ok(b) => b, //! Err(e) => { println!("e: {}", e); return } //! }; //! //! /// get the phrase as a string //! let phrase = mnemonic.get_string(); //! println!("phrase: {}", phrase); //! //! /// get the HD wallet seed //! let seed = mnemonic.get_seed(); //! //! // get the HD wallet seed as raw bytes //! let seed_bytes: &[u8] = seed.as_ref(); //! //! // get the HD wallet seed as a hex string //! let seed_hex: &str = seed.as_hex(); //! //! // get an owned Seed instance //! let owned_seed: Seed = seed.to_owned(); //! //! ``` //! #[macro_use] extern crate error_chain; #[macro_use] extern crate lazy_static; extern crate data_encoding; extern crate bitreader; extern crate bit_vec; extern crate ring; mod mnemonic; mod error; mod mnemonic_type; mod language; mod util; mod seed; mod crypto; pub use language::Language; pub use mnemonic::Mnemonic; pub use mnemonic_type::MnemonicType; pub use seed::Seed; pub use error::Error; pub use error::ErrorKind;