πŸ” CryptoUtils

Standalone Cryptocurrency Utilities Library v

Dependencies: sjcl.js β†’ crypto_utils.js
Test phrase: army van defense carry jealous true garbage claim echo media make crunch
Repository: github.com/bitrequest/crypto-utils-js

πŸ§ͺ Automated Unit Tests

πŸ› οΈ Interactive Tools

Private Key β†’ Public Key (secp256k1 + Ed25519)

Select a coin to auto-fill the private key derived from the test seed phrase

Public Key β†’ Address

Public Key β†’ Ethereum Address

Pre-filled with public key derived from the test mnemonic phrase

Public Key β†’ Bitcoin Cash Address

Pre-filled with public key derived from the test mnemonic phrase

Public Key β†’ Kaspa Address

Kaspa uses 8-character checksum (40-bit) bech32 variant with x-only pubkey. Pre-filled with test pubkey.

Private Key β†’ Nimiq Address (Ed25519 + Blake2b)

Nimiq: Ed25519 pubkey (SHA-512) β†’ Blake2b-256 β†’ first 20 bytes β†’ custom base32 + IBAN checksum. Pre-filled with test key.

Private Key β†’ Nano Address (Ed25519-Blake2b)

Nano: Ed25519 pubkey (Blake2b-512 variant) β†’ nano_ + base32(pubkey) + base32(Blake2b-5 checksum). Pre-filled with test key.

Blake2b Hash

Blake2b with variable output length. Used for Nimiq addresses (32-byte), Nano keys (64-byte) and checksums (5-byte).

NANO β†’ RAW Conversion

1 NANO = 10³⁰ RAW (30 decimal places)

Private Key β†’ WIF (Wallet Import Format)

Hex ↔ Bytes Conversion

Base58 Encoding/Decoding

Base58Check (with checksum)

Bech32 Encoding/Decoding

Hash Functions

AES-GCM Encryption/Decryption

Password is padded/trimmed to 16 bytes and converted to base64 for AES-128

LNURL (Lightning Network)

Address β†’ Script Hash (Electrum format)

String Utilities (BIP39 helpers)

Hex ↔ Number Conversion

Modular Arithmetic (secp256k1)

Uses secp256k1 prime P = 2²⁡⁢ - 2³² - 977