Expand description
Cryptographic key pairs for the XRP Ledger
An implementation of XRP Ledger keypairs & wallet generation which supports rfc6979 and eddsa deterministic signatures.
§Examples
§Generate a random XRP Ledger address
use ripple_keypairs::Seed;
let seed = Seed::random();
let (_, public_key) = seed.derive_keypair()?;
let address = public_key.derive_address();
assert!(address.starts_with("r"));
§Encode a seed in Base58 XRP Legder format
use ripple_keypairs::{Seed, Entropy, Algorithm};
// In the real world you **must** generate random entropy
let entropy = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
let seed = Seed::new(Entropy::Array(entropy), &Algorithm::Secp256k1);
assert_eq!(seed.to_string(), "sp5fghtJtpUorTwvof1NpDXAzNwf5");
§Parse a string into a seed
use std::str::FromStr;
use ripple_keypairs::{Seed, error};
let seed = Seed::from_str("sp5fghtJtpUorTwvof1NpDXAzNwf5")?;
assert_eq!(seed, "sp5fghtJtpUorTwvof1NpDXAzNwf5".parse()?);
assert_eq!(Err(error::DecodeError), "bad seed".parse::<Seed>());
Modules§
- Errors
Structs§
- The values of this type can be treated as bytes or as hex encoded strings
- A private key that can be used to sign messages
- A public key that can be used to derive an XRP Ledger classic address and verify signatures
- A seed that can be used to generate keypairs
Enums§
- The elliptic curve digital signature algorithm with which the seed is intended to be used
- Entropy which is used to generate seed
Traits§
- Signatures can be treated as bytes or as hex encoded strings.
Type Aliases§
- Seed entropy array