#wallet #ed25519 #mnemonic #cli

app duke-crypto-cli

CLI tool for generating mnemonics and ED25519 key pairs

1 unstable release

0.1.0 Nov 10, 2025

#1030 in Command line utilities

MIT/Apache

26KB
475 lines

Duke Crypto

A Rust workspace containing cryptographic utilities for generating BIP39 mnemonics and ED25519 key pairs.

Projects

duke-crypto-core

A library crate providing:

  • BIP39 mnemonic phrase generation
  • ED25519 key pair generation
  • Key pair generation from mnemonic phrases
  • Base58 encoding/decoding for keys
  • Message signing and verification

duke-crypto-cli

A command-line tool for generating mnemonics and key pairs.

Installation

From crates.io (after publishing)

cargo install duke-crypto-cli

From source

git clone https://github.com/yourusername/duke-crypto
cd duke-crypto
cargo build --release

Usage

CLI Tool

Generate a new mnemonic:

duke-crypto mnemonic

Generate a new key pair:

duke-crypto keypair

Generate a key pair from a mnemonic:

duke-crypto from-mnemonic "your twelve word mnemonic phrase here"

Sign a message:

duke-crypto sign <private_key> "message to sign"

Verify a signature:

duke-crypto verify <public_key> "message" <signature>

Library Usage

Add to your Cargo.toml:

[dependencies]
duke-crypto-core = "0.1.0"

Example:

use duke_crypto_core::*;

// Generate a mnemonic
let mnemonic = generate_mnemonic();
println!("Mnemonic: {}", mnemonic);

// Generate a key pair from mnemonic
let mnemonic_obj = mnemonic_from_phrase(&mnemonic)?;
let (signing_key, verifying_key) = generate_keypair_from_mnemonic(&mnemonic_obj);

// Encode keys
let private_key = encode_private_key(&signing_key);
let public_key = encode_public_key(&verifying_key);

// Sign and verify
let message = b"Hello, world!";
let signature = sign_message(&signing_key, message);
assert!(verify_signature(&verifying_key, message, &signature));

Requirements

  • Rust 1.70 or later

License

Licensed under either of

at your option.

Dependencies

~4.5–6.5MB
~145K SLoC