| Crates.io | rustywallet-cli |
| lib.rs | rustywallet-cli |
| version | 0.1.2 |
| created_at | 2025-12-31 16:03:15.536336+00 |
| updated_at | 2026-01-01 09:37:22.63811+00 |
| description | Command-line tool for cryptocurrency wallet operations |
| homepage | |
| repository | https://github.com/pfrfrfr/rustywallet |
| max_upload_size | |
| id | 2014928 |
| size | 49,957 |
A secure, cross-platform command-line tool for cryptocurrency wallet operations supporting Bitcoin, Ethereum, and other blockchain networks.
cargo install rustywallet-cli
git clone https://github.com/username/rustywallet-cli
cd rustywallet-cli
cargo install --path .
generate - Generate Private KeysGenerate cryptographically secure private keys.
# Generate private key in hex format (default)
rustywallet generate
# Generate private key in WIF format for mainnet
rustywallet generate --format wif --network mainnet
# Generate private key in WIF format for testnet
rustywallet generate --format wif --network testnet
Options:
--format: Output format (hex or wif, default: hex)--network: Network for WIF format (mainnet or testnet, default: mainnet)mnemonic - Mnemonic OperationsGenerate and validate BIP39 mnemonic phrases.
# Generate 12-word mnemonic (default)
rustywallet mnemonic
# Generate 24-word mnemonic
rustywallet mnemonic --words 24
# Generate mnemonic and show seed
rustywallet mnemonic --words 12 --show-seed
# Validate existing mnemonic
rustywallet mnemonic --validate "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about"
# Generate with custom entropy length
rustywallet mnemonic --words 15
Options:
--words: Number of words (12, 15, 18, 21, 24, default: 12)--show-seed: Display the seed along with mnemonic--validate: Validate an existing mnemonic phraseaddress - Derive AddressesDerive cryptocurrency addresses from private keys.
# Generate SegWit address (default)
rustywallet address --key a1b2c3d4e5f6...
# Generate Legacy P2PKH address
rustywallet address --key a1b2c3d4e5f6... --type legacy
# Generate Taproot address
rustywallet address --key a1b2c3d4e5f6... --type taproot
# Generate Ethereum address
rustywallet address --key a1b2c3d4e5f6... --type ethereum
# Specify network for Bitcoin addresses
rustywallet address --key a1b2c3d4e5f6... --type segwit --network testnet
Options:
--key: Private key in hex format (required)--type: Address type (legacy, segwit, taproot, ethereum, default: segwit)--network: Network (mainnet or testnet, default: mainnet)hd - HD Wallet DerivationHierarchical deterministic wallet operations using BIP32/BIP44 standards.
# Default BIP44 Bitcoin path (m/44'/0'/0'/0/0)
rustywallet hd --mnemonic "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about"
# Custom derivation path for Ethereum
rustywallet hd --mnemonic "abandon..." --path "m/44'/60'/0'/0/0" --address-type ethereum
# With passphrase protection
rustywallet hd --mnemonic "abandon..." --passphrase "secret123"
# Generate multiple addresses
rustywallet hd --mnemonic "abandon..." --count 5
# Testnet derivation
rustywallet hd --mnemonic "abandon..." --network testnet
Options:
--mnemonic: BIP39 mnemonic phrase (required)--path: Derivation path (default: m/44'/0'/0'/0/0)--address-type: Address type (legacy, segwit, taproot, ethereum, default: segwit)--passphrase: Optional passphrase for seed generation--count: Number of addresses to generate (default: 1)--network: Network (mainnet or testnet, default: mainnet)sign - Sign MessagesSign messages using private keys with different signing standards.
# Bitcoin message signing (BIP-137)
rustywallet sign --key a1b2c3d4e5f6... --message "Hello Bitcoin" --format bitcoin
# Ethereum personal_sign (EIP-191)
rustywallet sign --key a1b2c3d4e5f6... --message "Hello Ethereum" --format ethereum
# Sign with specific address type for Bitcoin
rustywallet sign --key a1b2c3d4e5f6... --message "Hello" --format bitcoin --address-type legacy
Options:
--key: Private key in hex format (required)--message: Message to sign (required)--format: Signing format (bitcoin or ethereum, required)--address-type: Bitcoin address type for signature (legacy, segwit, taproot, default: segwit)verify - Verify SignaturesVerify message signatures against addresses.
# Verify Bitcoin signature
rustywallet verify --address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa --message "Hello Bitcoin" --signature "base64signature..." --format bitcoin
# Verify Ethereum signature
rustywallet verify --address 0x742d35Cc6634C0532925a3b8D4C9db96590c4 --message "Hello Ethereum" --signature "0x1234..." --format ethereum
Options:
--address: Address to verify against (required)--message: Original message that was signed (required)--signature: Signature to verify (required)--format: Signature format (bitcoin or ethereum, required)# 1. Generate a mnemonic
rustywallet mnemonic --words 12
# Output: abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about
# 2. Derive HD wallet addresses
rustywallet hd --mnemonic "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about" --count 3
# 3. Generate a standalone private key
rustywallet generate --format hex
# 4. Get address from private key
rustywallet address --key a1b2c3d4e5f6789... --type segwit
# 5. Sign a message
rustywallet sign --key a1b2c3d4e5f6789... --message "Hello World" --format bitcoin
# 6. Verify the signature
rustywallet verify --address bc1q... --message "Hello World" --signature "signature..." --format bitcoin
# Bitcoin operations
rustywallet generate --format wif --network mainnet
rustywallet address --key <key> --type taproot
rustywallet sign --key <key> --message "Bitcoin message" --format bitcoin
# Ethereum operations
rustywallet hd --mnemonic "..." --path "m/44'/60'/0'/0/0" --address-type ethereum
rustywallet sign --key <key> --message "Ethereum message" --format ethereum
This project is licensed under the MIT License - see the LICENSE file for details.