Cryptocurrency Wallet Compact Library
Project description
CRYPTOWALL: THE SIMPLEST CRYPTOCURRENCY WALLET LIBRARY
SUPPORTED COINS: BTC, ETH, BCH, LTC, DOGE, DASH, XRP, SOL, TON
Installation
pip install cryptowall
Usage
import cryptowall as cw
cw.create_wallet("BCH", "VeryStrongPassword", "./tmp")
Functions
- generate_hex_private_key()
Generate a cryptographically secure random 32-byte private key.
Returns a 64-character hex string valid for all supported coins. - hex_to_wif(hex_priv: str, coin: str, compressed: bool)
Convert hex private key to Wallet Import Format (WIF) for BTC, BCH, LTC, DOGE, DASH. - convert_private_key(hex_priv: str, coin: str)
Convert a hex private key to the native format(s) used by coin.
Returns a dict with at least 'hex' and coin-specific format keys. - generate_rsa_keypair(key_size: int)
Generate an RSA key pair.
Returns (pem_private_key, pem_public_key) as PEM strings. - encrypt_private_key(hex_priv: str, password: str)
Encrypt a hex private key using a hybrid RSA plus AES-GCM scheme:- Derive a 256-bit AES key from password via PBKDF2-HMAC-SHA256,
- Encrypt the private key bytes with AES-256-GCM,
- Generate a fresh 2048-bit RSA key pair,
- RSA-OAEP encrypt the AES key plus salt together.
Returns a dict with all material needed for decryption except the RSA private key, which the caller must store securely.
- decrypt_private_key(encrypted: Dict[str, str], password: str)
Reverse of encrypt_private_key, encrypted must be the dict returned by encrypt_private_key.
Returns the hex private key string. - generate_public_key_and_address(hex_priv: str, coin: str)
Derive the public key and wallet address for coin from a hex private key.
Returns a dict with 'public_key' and 'address' (plus any extras). - save_wallet_to_json(coin: str, hex_priv: str, password: str, output_path: str)
Full pipeline:- Encrypt the hex private key,
- Derive public key and address,
- Write JSON file with public key, address, encrypted private key.
Returns the path of the written JSON file.
The RSA private key (required for decryption) is stored in a separate _rsa_private_key.pem file.
- create_wallet(coin: str, password: str, output_dir: str)
Generate a complete wallet for coin:- Random private key,
- All key formats,
- Public key and address,
- Encrypted private key,
- Saved JSON and PEM files.
Returns a summary dict.
Detailed tips, tricks, and examples, can be found at project's repository https://github.com/asinerum/cryptowall
(C) 2026 Asinerum Conlang Project
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cryptowall-1.0.0.tar.gz
(8.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cryptowall-1.0.0.tar.gz.
File metadata
- Download URL: cryptowall-1.0.0.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3b22d20ce0c8e0abf1b5135a6a96acef79db903ab2cbd3aad1f38c959eb79fa
|
|
| MD5 |
6845da67bfdd88295419c53be6063bbb
|
|
| BLAKE2b-256 |
efdf279f0a63d690e7d1de4e72b147afd44f7f01e8f196dc8b332395495600e2
|
File details
Details for the file cryptowall-1.0.0-py3-none-any.whl.
File metadata
- Download URL: cryptowall-1.0.0-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8431c0c8bf27d7cab4f3b79eef65a9a24265f3840a548d0c205119a91520a083
|
|
| MD5 |
3b91f9d621123b24d2a10caae005709e
|
|
| BLAKE2b-256 |
ec286319016fff7ff3087afb9883d999b62d27f59f9ec80759d6702eee7f512d
|