
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
@aladas-org/cryptocalc
Advanced tools

Purpose
CryptoCalc is a Cryptocurrency wallet generator provided as a standalone non custodial desktop application.
These wallets can be Non Deterministic (Simple Wallet) or Hierarchical Deterministic (BIP32).
Even though there is already similar tools online, the purpose is to provide these features
locally on your computer (non custodial) in order to reduce the risk of your Private Key / WIF
or Secret phrase informations being stolen.
NB: Since its first release CryptoCalc has been downloaded 13098 times on npm.
You can support this project by reporting bugs (or asking for enhancements) with Issues, provide localization files (see 5.1.19) or even by donating to Aladas, a non profit organization whose primary goal is to protect wild bees.
Features
2.1. Support of HD / Bip32 (multiple wallets)
2.2. Selection of Entropy size (between 128 and 256 bits)
2.3. Dynamic conversion between Entropy and Secret phrase
2.4. File/Save/Open.. commands
These commands allow edition of Wallet informations after saving (these informations are saved as a .wits, a JSON format file)
2.5. Salted Entropy source
Entropy value is indeed computed by combining the Salt (currenly a dynamically generated UUID) with the value provided by the Entropy source
SHA256 hash function is applied to this: Salt + Entropy source2.6. Security Layers
Bip38 support (first method 'Non-EC')2.7. Multiple Entropy sources
100 d6 dices, Mouse moves, Images and Fortune cookies
2.8. QR code generation
For Wallet address, Private Key (also WIF if applicable) and Mnemonics. There is also an xtras folder with the
SVG versions of these QR codes as well as more experimental QR code formats (rectangular Micro QR code and Ultracode which has colored modules)
2.9. Customizable options
Options includes Blockchain, Wallet mode (eg: Simple / HD / SWORD) and Entropy size
2.10. List of Word indexes
The crucial data in the Secret phrase is indeed the list of Word indexes (indexes in the BIP39 wordlist ),
is explicitly displayed so if the language is changed these word indexes are the same.
2.11. Internet connection status
Because of the Cold wallet / Non custodial purpose of Cryptocalc, it is not recommended to generate
cryptocurrency wallets while being online. The status is displayed on the right of the main horizontal toolbar,
it's a red "connected" icon when online and a green "disconnected" icon when offline (the highly recommended way to use Cryptocalc).
2.12. Localization
Translations of GUI labels in the user's language (only English and French files provided currently but the localization
feature allows translations in other languages as well, they are in JSON format eg. gui-msg-en.json).
2.13. Dynamic links
- Address wallet in the appropriate Blockchain Explorer (e.g. blockchain.com)
- Informations in Coinmarketcap.com for the wallet's cryptocurrency
- 3D representation of the Secret phrase (see an example here: Cryptoshape)
2.14. Standalone installer
It is published on SourceForge) once downloaded the
installer will install Cryptocalc as a .exe local standalone desktop application (see 3.1.1) with all its prerequisites.
This allows users to install Cryptocalc without installing NodeJS, git and npm and using command line instructions (described in 3.2)
2.15. Tested on Windows and Linux
- Windows: tested on Windows 10
- Linux: tested on Linux Mint 22.2 (NB: tested on a virtual machine within VirtualBox)
2.16. Cryptocurrencies: 23 supported Cryptocurrencies
BTC (Bitcoin), ETH (Ethereum), XRP (Ripple), BNB (Binance Smart Chain), SOL (Solana),
DOGE (Dogecoin), TRX (TRON), ADA (Cardano), XLM (Stellar), SUI (Sui), BCH (Bitcoin Cash), AVAX (Avalanche), TON (Toncoin),
LTC (Litecoin), ETC (Ethereum Classic), POL (Polygon), VET (VeChain), BSV (Bitcoin SV), DASH (Dash), RVN (Ravencoin),
ZEN (Horizen), LUNA (Terra) and FIRO (Firo).
A list of the Top 50 market cap cryptocurrencies is provided (_doc/top_50_marketcap_coins.txt),
the fist column a indicates (with *) if it is supported in CryptoCalc.
Note 1: BNB support is on Binance Smart Chain (in this blockchain BNB is a BEP-20 token, see 6.3.4)
Note 2: it's LUNA 2.O (on Terra blockchain) not LUNA Classic
Note 3: SUI support was validated with 'Suiet' (Sui wallet), a Chrome extension
2.17. Languages: 18 supported languages
Officially supported in Bip39
English, French, Spanish, Italian, Czech, Portuguese, Simplified Chinese, Traditional Chinese, Japanese and Korean.
Notice that English is the only supported langage by electronic cold wallets (eg. Ledger or Trezor).
Non official languages
Deutsch, Russian, Esperanto, Latin, Greek, Hindi, Gujarati and Bengali.
Notice that English has around 1.5 billion speakers, Mandarin has around 1.1 billion speakers while the India triad (Hindi, Bengali and Gujarati) has around 1 billion speakers.
2.18. Developed with Javascript and ElectronJS
CryptoCalc is written in Javascript (both client side and server side) and is built on top of ElectronJS.
ElectronJS is used in many modern and popular Desktop applications
(e.g. Visual Studio Code, Discord, WhatsApp,
Notion, Obsidian, etc..).
Setup
Inno Setup and following the Howto
provided in the _inno_setup subfolder (Howto build cryptocalc_setup.txt)C:\Users\$CURRENT_USER\AppData\Local\Programs\Cryptocalc$DEFAULT_SETUP_FOLDER\resources\app\_outputWindows Operating system
cmdD then type D:)md tools then cd tools)git clone followed by the .git URL:
git clone https://github.com/ALADAS-org/cryptocalc.gitcd cryptocalcnpm install_runW.bat (W means Windows)Linux Operating system
sudo apt-get install nodejs)dev:
mkdir devgithub:
mkdir gihubsudo apt-get install nodejssudo apt update; apt install gitsudo apt update; apt install npmxdg-utils (X Desktop Group)
sudo apt-get install xdg-utilscd; cd dev/githubgit clone https://github.com/ALADAS-org/Cryptocalc.gitcd Cryptocalcnpm installchmod 777 ./_run_X.shnpm start./_run_X.sh
X is a reference to LinuX (and the family of uniX like Operating Systems)Release notes
0.4.8: This version
LinuxCryptocalc_ico.ico0.4.7
Bip38 feature (since implementation of 'Progress Bar' as a feedback for encrypt/decrypt time)0.4.6
0.4.5
Z because it is the new version. This new version of the
logo is also published on the SourceForge installer0.4.4
Bip38 feature:
0.4.0
4 to reflect the fact that Bip38 support is a taller "step forward"README.md)0.3.65
BIP38 (passphrase encrypted private key, see 6.3.5) for an additional security layer by Encrypting the Private Key.Save command (in Main menu and Main Toolbar) is disabled while it should be enabled.
This was identified in some use cases with File/New followed by File/Open.README.md).html_utils.js: Node replaced by Element in all functions because it is a better terminology
for HTML entities (eg. INPUT,'TEXTAREA', etc...).www/js/model and View related code
to www/js/view (cf. MVC Design Pattern)
also as MVC may be recursive, wallet_info.js (which is a is Model) bas been moved to www/js/view/modelpassword (Bip32 / HD Wallet mode) replaced by Passphrase because it is a better terminologywallet_info.txt:
WIF always providedjs/model/wallet_inf_tmpl.js)Help/About... dialog to a more consistent text ("A cryptocurrency wallet generator")0.3.63
Linux: when saving, the [Show] button does nothingLinux, you must also now also install xdg-utils (see 3.2.b)0.3.62: GUI Updates
0.3.60
0.3.52
Linux Mint 22.2: problem with icon filenamesLinux compatibility0.3.50
Secret phrase (this is a web page
which is indeed a copy of a companion project (CryptoShape)Password with Passphrase in HD Wallet mode0.3.49
README.md)0.3.48
Mouse moves Entropy source :
XOR operation) each mouse point
(provided by the user) with a random byte (generated with Crypto.getRandomValues())0.3.47
0.3.46
D6 dices0.3.45
Mouse moves Entropy source:
0.3.15 to 0.3.450.3.44
Mouse moves0.3.43
D6 dices (e.g. 100 rolls for 256 bits of Entropy)User's Guide
You can launch CryptoCalc either by first installing it with the CryptoCalc Standalone installer (see 3.1)
or by using the Wizard's Lair path (see 3.2): install NodeJs, git then install the CryptoCalc project and launch it
with a double click on _runW.bat (W means Windows) or _runX.sh (X means Linux).
$DEFAULT_SETUP_FOLDER\resources\app\_output: Notice that this folder won't be automatically deleted if you uninstall CryptoCalcBIP39 specification) then in the Shortened secret phrase each mnemonic is represented
only by its 4 first characters (with the first character in Uppercase as a mean to separate mnemonics).NTAG213 NFC (see 5.2.3).D6 Dices, Mouse moves, Image or Fortunes
D6 Dices: default source, the number of rolls depends on Entropy size (e.g. 100 rolls for 256 bits)Mouse moves: entropy bytes are generated when the user moves the mouse pointeImages
png, jpg or svg) from you local folders.www/img folder.www/img/CryptoCurrencyFortunes:
Wallet tab page)
Derivation Path used by HD Wallets). So a it's a good fit to
Give it a Try and start creating your Cryptocurrency Wallets with minimum knowledge.Please notice that the
Derivation Pathis nowHardenedby default and mandatory (since0.3.18). This is for Security purpose (see 5.2.3) TheBIP32HD wallet tree_ is fully determined by the Entropy (or Secret phrase which is equivalent) and an optional Password. The Entropy may be represented by a more human friendly representation: the Mnemonics Sequence which may also be called a Secret phrase, Mnemonics, Seed phrase, Secret or even SRP (Secret Recovery Passphrase).
How to Generate a new wallet with a given Entropy:
Paste a new Entropy (or Secret phrase) in theEntropywallet tab. Notice that this will hide the Entropy Source and Salt fields (meaningless in this situation).
You can then change either the Account or Address Index fields (the maximum number of digits is 9 so you can input a decimal value between 0 and 999999999, 100.000 possible values for each field) in the Wallet tab page. This will show a [Refresh] button to recompute the wallet once you have finished. Pushing the [Refresh] button (or hitting either [Return] or [Enter] keys while the cursor is in either Account or Address Index field) will recompute the wallet address (and Private key or WIF) accordingly.
SWORD is an acronym which means Simple Wallet Over Randomized Deterministic,
it's an hybrid between Simple Wallet and HD Wallet because it hides the Derivation Path logic
(which contains Account and Address Index), thus you don't need to care or understand the principles
of Hierarchical Deterministic wallets, but it allows to generate all the cryptocurrencies provided by HD Wallet.Cardano HD wallets, the Account and Address Index parameters are not taken
into account by the Wallet Managers which I have tested (namely Guarda and Yoroi) because they ask for
the Mnemonics (Secret phrase in CryptoCalc). This is why in CryptoCalc, these parameters are hard-coded
to Zero (for Cardano HD wallets only).Help menu (Help/Resources/Ian Coleman BIP39)BIP38 (passphrase encrypted private key, see 6.3.5) is now supported for an additional security layer by Encrypting the Private Key.Tool/Bip38 Encrypt/Decrypt) is provided to ease the retrieval of
the Private Key from the Bip38 Encrypted PK (or conversely the encryption of the Private Key to the Bip38 Encrypted PK).Bip38 passphrase is provided, a Bip38 Encrypted PK is generated when Saving the current wallet (see 5.1.11)
A new QR code is generated (Bip38 Encrypted PK) as both a PNG file and an SVG file (in xtras subfolder of the generated
wallet folder under _output).
Note 1: Notice that only the first method ('NON-EC') is supported.Refresh icon, like in the main toolbar).
Important Notice: Once a password is provided, you must use the [Apply] button to recompute the HD hierarchy,
this is the reason why Save is disabled (in the main toolbar and in the 'File' menu) until you click on the [Apply] button.UUID currently, this is 128 bits of Entropy) to ensure that the Entropy will be different at each Generation even if the Entropy Source value is the same
(e.g. reusing the same image or fortune cookie). Thus the Entropy value will be unique at each press of [Generate] button.Wallet tab page. There's also an [Explorer...] button which allows to check
the generated address in the appropriate Blockchain Explorer.Wifi ON red icon) or not connected (Wifi OFF green icon)Save Wallet InformationsFile/Save (or the Save icon in the main toolbar), you can save the Wallet Informations in a timestamped
subfolder (eg. 2024_10_07_21h-4m-4s-3_BTC_EN) under _output folder.
This subfolder contains wallet_info.txt and a wallet.json with the informations displayed in Entropy and Wallet tab pages.
png images) for Address, Private Key, Secret phrase,
Entropy and WIF (if applicable).xtras subfolder where these QR codes are provided
in the svg format. There is also a Rectangular Micro QR code (rMQR) of the
Entropy (Rectangular Micro QR Code, R15x59 or R15x77 version depending on
Entropy size) and an experimental Ultracode color QR code of the Entropy.QRQR
an Android QR Code reader published by Arara on the Google Play Store.Entropy field of CryptoCalc.Entropy Size and
Derivation path (if applicable, don't forget to use the [Refresh] button)
than those used when the wallet was created (these informations
are provided either in the wallet_info.txt or in wallet_info.wits).Open Wallet Informations of a previously saved wallet
.txt but also as a .wits file (JSON format)..wits file can be opened either with File.Open... menu item or 'Open...' icon
in the toolbar. It can be also be opened in Cryptocalc.exe by double clicking on the .wits
(File extension to Application feature): this will launchlc Cryptocalc.exe (cf. 3.1 for installing
Cryptocalc.exe with the CryptoCalc Standalone installer) /File.Save As... which will save the wallet with a different timestamp than the original one.Account and/or the Address Index (dont forget to push
the [Refresh] button). Now you can save the new wallet with File.Save As... and if you didn't change the Entropy
then this new wallet will belong to the same Bip32 HD Wallet Tree (see A.2) than the original one.Guarda
Guarda was chosen mainly to validate that a generated wallet by CryptoCalc is accepted and thus validated.BIP39 wordlist (see also 6.1.1).
You can choose to display these indexes in Decimal or Binary
(in Binary you can check that the computed Checksum bits are added at the end
of the converted Entropy to determine the index of the last word).BIP32 hierarchy that is determined by the
Secret phrase (also called the Secret Recovery Passphrase).Blockchain Explorer (e.g. blockchain.com)Coinmarketcap.com for the wallet's cryptocurrencySecret phrase (Cryptoshape)
The whitepaper The description of this 3D representation is in this whitepaperTools/Options)Default Blockchain, Wallet Mode and Entropy Size.
These values are defined in www/config/options.json file.www/config/defaults/options.json)l10n) feature is the translation of GUI Labels to adapt to the user's language, it' called the locale (eg. en).
A locale name can be composed of a base language, country (territory) of use and optionnally a codeset (eg. de_CH.UTF-8).
The locale is provided as part of your machine's environment. CryptoCalc only uses the 2 letter language part (eg. en).
Localization is enabled by a JSon file in the www/js/L10n folder (eg. gui-msg-en.json).en and fr are provided.Guarda you can import
a wallet generated by CryptoCalc:
BTC,ETH,XRP,ADA,DOGE,LTC,SOL,AVX,TRON,BCH,DASH,FiroBTC wallets)BIP38 Encryption of the Private Key
The first method (NON-EC) of BIP38 adds a security layer by encrypting the Private Key with a Passphrase.
The Bip38 Encrypted Private Key allows to subcontract the printing of a Paper Wallet with premium features
(eg. Watermark, Embossing, Hologram, Custom Credit card, etc..) without disclosing the Private Key to the subcontractor (and providing the Passphrase to your customer via a different channel than the delivery
of the Printed paper wallet).NTAG213 NFC with
144 bytes useable capacity. This is enough to store the Shortened Secret phrase,
with a 24 words Shortened Secret phrase
the maximum required capacity is 96 bytes/characters (24*4, cf. 5.1.2)
or even less (as some mnemonics have only three characters).Appendix
BIP39: a Dictionary of 2048 wordsBIP39 (BIP is the acronym for Bitcoin Improvement Proposal) is a specification regarding:
BIP32: Hierarchic Deterministic walletsBIP32 specifies how to generate wallets with are all derived from the same Entropy
or Secret phrase (also called the Secret Recovery Passphrase).
A Secret phrase of only 12 words is enough is most Wallet Managers but it is much more secure to use a 24 words
Secret phrase if possible (e.g. Ledger hardware wallet manager).m/44'/60'/0'/0/0' (a Hardened Derivation Path):
BIP44 specification (44')FAQs
Cryptocurrency wallet generator
The npm package @aladas-org/cryptocalc receives a total of 866 weekly downloads. As such, @aladas-org/cryptocalc popularity was classified as not popular.
We found that @aladas-org/cryptocalc demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.