
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
@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 seed phrase informations being stolen.
NB: Since its first release CryptoCalc has been downloaded 10483 times on npm.
You can support this project by opening issues, provide localization files (see 5.1.18) 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 of between Entropy
and Seed 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 to this concatenated string: Salt + Entropy source
.2.6. Multiple Entropy sources
100 d6 dices
, Mouse moves
, Images
and Fortune cookies
2.7. 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.8. Customizable options
Options includes Blockchain
, Wallet mode
(eg: Simple / HD / SWORD) and Entropy size
2.9. List of Word indexes
The crucial data in the Seed 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.10. 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.11. 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.12. 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 Seed phrase
(see an example here: Cryptoshape)
2.13. 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.14. Works on Windows
and Linux
- For Windows
: tested on Windows 10
- For Linux
: tested on [Linux Mint 2.2](running as https://linuxmint.com/) (and tested indeed on a virtual machine within VirtualBox)
2.15. 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.16. 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.17. Developed with Javascript
and ElectronJS
CryptoCalc iw 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)
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\_output
Windows
Operating system
cmd
D
then type D:
)md tools
then cd tools
)git clone
followed by the .git
URLgit clone https://github.com/ALADAS-org/cryptocalc.git
cd cryptocalc
npm install
sudo apt-get install nodejs
)_runW.bat`Linux
Operating system
sudo apt-get install nodejs
)whoami`)Dev
:
mkdir Dev
gihub
:
mkdir gihub
cd; cd Dev/github
git clone https://github.com/ALADAS-org/Cryptocalc.git
cd Cryptocalc
npm install
npm start
(or chmod +x _runX.sh
then ./_runX.sh
)Release notes
0.3.57
: This version
0.3.52
Linux Mint 2.2
: problem with icon filenamesLinux
compatibility0.3.50
Seed 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 dices
0.3.45
Mouse moves
Entropy source:
0.3.15
to 0.3.45
0.3.44
Mouse moves
0.3.43
D6 dices
(e.g. 100 rolls for 256 bits of Entropy)0.3.42
0.3.41
0.3.40
Marketcap
button (after Explore
button) in Wallet Tab Page to show the relevant coinmarketcap URL0.3.39
Math.random
with a more secure for cryptography usage (see secureRandom()
in hex_utils.js
)0.3.38
POL
cryptocurrency (POL) in Simple Wallet, HD Wallet and SWORD Wallet modesSUI
support was validated0.3.37
SUI
cryptocurrency (Sui) in HD Wallet / SWORD Wallet modesUser's Guide
You can launch CryptoCalc either by first installing it with the CryptoCalc Standalone installer (see 3.1)
or by downloading the npm package
(see 3.2) then double clicking on _runW.bat
(on Windows).
$DEFAULT_SETUP_FOLDER\resources\app\_output
: Notice that this folder won't be automatically deleted if you uninstall CryptoCalcBIP39
specification) then in the Shortened seed 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/CryptoCurrency
Fortunes
:
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 Path
is nowHardened
by default and mandatory (since0.3.18
). This is for Security purpose (see 5.2.3) TheBIP32
HD wallet tree_ is fully determined by the Entropy (or seed 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 seed phrase, Mnemonics or even SRP (Secret Recovery Passphrase).
How to Generate a new wallet with a given Entropy:
Paste a new Entropy (or seed phrase) in theEntropy
wallet 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
(Seed 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
)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
, Seedphrase
,
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
seed phrase (also called the Secret Recovery Passphrase).Blockchain Explorer
(e.g. blockchain.com)Coinmarketcap.com
for the wallet's cryptocurrencySeed phrase
(Cryptoshape)Tools/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
,Firo
BTC
wallets)NTAG213 NFC
with
144 bytes useable capacity. This is enough to store the Shortened Seedphrase,
with a 24 words Shortened Seedphrase
the maximum required capacity is 96 bytes/characters (24*4, cf. 5.1.1)
or even less (as some mnemonics have only three characters).Appendix
BIP39
: a Dictionary of 2048 wordsBIP39
(BIP
is the acronym of 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 seed phrase (also called the Secret Recovery Passphrase).
A seed phrase of only 12 words is enough is most Wallet Managers but it is much more secure to use a 24 words
seed 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 681 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's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.