[−][src]Crate ripple_keypairs
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
error | Errors |
Structs
HexBytes | The values of this type can be treated as bytes or as hex encoded strings |
PrivateKey | A private key that can be used to sign messages |
PublicKey | A public key that can be used to derive an XRP Ledger classic address and verify signatures |
Seed | A seed that can be used to generate keypairs |
Enums
Algorithm | The elliptic curve digital signature algorithm with which the seed is intended to be used |
Entropy | Entropy which is used to generate seed |
Traits
Signature | Signatures can be treated as bytes or as hex encoded strings. |
Type Definitions
EntropyArray | Seed entropy array |