Crates.io | slip44 |
lib.rs | slip44 |
version | 0.1.4 |
source | src |
created_at | 2021-10-03 10:30:45.681309 |
updated_at | 2021-11-11 10:07:11.163434 |
description | Mapping between SLIP-0044 coin types and the associated metadata. |
homepage | https://docs.rs/slip44 |
repository | https://github.com/shekhirin/slip44 |
max_upload_size | |
id | 459681 |
size | 218,703 |
Mapping between SLIP-0044 coin types and the associated metadata
Add the following dependency to your Cargo manifest...
[dependencies]
slip44 = "0.1.3"
...and see the docs or What can I do? section below for how to use it.
use std::{convert::TryFrom, str::FromStr};
use slip44::{Coin, Symbol};
const BITCOIN_ID: u32 = Coin::Bitcoin.id(); // Coin ID is constant
fn main() {
assert_eq!(BITCOIN_ID, 0);
assert_eq!(Coin::Bitcoin.id(), 0);
assert_eq!(Coin::Bitcoin.ids(), vec![0]); // Coin may have multiple IDs (e.g. Credits)
assert_eq!(Coin::Bitcoin.name(), "Bitcoin");
assert_eq!(Coin::Bitcoin.link(), Some("https://bitcoin.org/".to_string()));
assert_eq!(Coin::Bitcoin.to_string(), "Bitcoin");
assert_eq!(Coin::try_from(0), Ok(Coin::Bitcoin)); // Try to get Coin from its ID
assert_eq!(Coin::from_str("Bitcoin"), Ok(Coin::Bitcoin));
assert_eq!(Coin::from(Symbol::BTC), Coin::Bitcoin); // Get Coin from its Symbol (can't fail, all symbols have associated coins)
assert_eq!(Symbol::BTC.to_string(), "BTC");
assert_eq!(Symbol::try_from(0), Ok(Symbol::BTC)); // Try to get coin Symbol from its ID
assert_eq!(Symbol::try_from(Coin::Bitcoin), Ok(Symbol::BTC)); // Try to convert Coin to Symbol (can fail if no Symbol for Coin is specified)
assert_eq!(Symbol::from_str("BTC"), Ok(Symbol::BTC));
}