Socket
Book a DemoInstallSign in
Socket

@aladas-org/cryptocalc

Package Overview
Dependencies
Maintainers
2
Versions
106
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aladas-org/cryptocalc

Cryptocurrency wallet generator

Source
npmnpm
Version
0.3.57
Version published
Weekly downloads
685
291.43%
Maintainers
2
Weekly downloads
 
Created
Source

CryptoCalc 0.3.57

  • 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

    • The formula applies the 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

    • 3.1. Fast and Furious (advised for end users)
      • 3.1.1. Download CryptoCalc installer from SourceForge (NB: the installer was generated with electron packager and Inno Setup.
        Notice that the installer is not signed so Windows Defender Smartscreen will require that you validate yourself the application source. If you don't trust the installer (because it is not signed as this is a 350$ cost per year), you can either:
        • 3.1.1.a. Rebuild yourself the Installer by downloading Inno Setup and following the Howto provided in the _inno_setup subfolder (Howto build cryptocalc_setup.txt)
        • 3.1.1.b. Else you can proceed to Wizard's Lair setup (see 3.2)
      • 3.1.2. Default setup folder is C:\Users\$CURRENT_USER\AppData\Local\Programs\Cryptocalc
      • 3.1.3. Default subfolder where Wallet informations are saved:
        • $DEFAULT_SETUP_FOLDER\resources\app\_output
    • 3.2. Wizard's Lair (advised for custom local setup and/or software developers)
      • 3.2.a. On Windows Operating system
        • 3.2.a.1. Prerequisites
        • 3.2.a.2. Open a command line interpreter
          • Use Windows Menu Start then input cmd
          • Change current disk to where you plan to install (eg. if its D then type D:)
          • Change current directory to where you to install (eg. md tools then cd tools)
        • 3.2.a.3. Import CryptoCalc from github
          • Open the GitHub CryptoCalc repository
          • Use the [<> Code v] green button
          • Copy the displayed .git URL
          • In the command line interpreter, type git clone followed by the .git URL
            -.g. git clone https://github.com/ALADAS-org/cryptocalc.git
          • Type cd cryptocalc
          • Type npm install
          • You can launch CryptoCalc with a double clik on (eg. sudo apt-get install nodejs)_runW.bat`
      • 3.2.b. On Linux Operating system
        • 3.2.b.1. Linux distribution
          • CryptoCalc was tested on [Linux Mint 2.2](running as https://linuxmint.com/) but installed as a virtual machine within VirtualBox.
            Notice that the Cinnamon desktop was chosed.
        • 3.2.b.2. Open a command shell
          • This will open a window where you can input commands (eg. (eg. sudo apt-get install nodejs)whoami`)
          • Create a subdirectory to use it as a workspace, I suggest that you name it Dev:
            • mkdir Dev
          • Change current directory to this new subdirectory:
            • `cd Dev
          • Create a subdirectory for iporting Github projects, I suggest that you name it gihub:
            • mkdir gihub
          • Change current directory to this new subdirectory:
            • `cd github
        • 3.2.b.2. Prerequisites
          • Install NodeJS:
            • sudo apt-get install nodejs
          • Install Git
            • sudo apt update; apt install git
        • 3.2.b.3. Import CryptoCalc from Github
          • cd; cd Dev/github
          • git clone https://github.com/ALADAS-org/Cryptocalc.git
          • cd Cryptocalc
          • npm install
          • You can launch CryptoCalc with npm start (or chmod +x _runX.sh then ./_runX.sh)
  • Release notes

    • 0.3.57: This version
      • Trying to fix Bullet list hell related to how Github renders them
      • Rewrite/Updates in this README:
        • Instructions to install on Linux (see 3.2.b)
        • More explanations on the usage of Guarda
    • 0.3.52
      • Fixes in this README
      • First tests on Linux Mint 2.2: problem with icon filenames
      • Fix in icon filenames for Linux compatibility
    • 0.3.50
      • Added a dynamic link button [3D] to display a 3D representation of the Seed phrase (this is a web page which is indeed a copy of a companion project (CryptoShape)
      • Added a link for Donations
      • Rewrite/Updates in this README
      • Replaced Password with Passphrase in HD Wallet mode
    • 0.3.49
      • Added support of Bengali for the Seed phrase
      • Fixes in the documentation (this README.md)
    • 0.3.48
      • Improvements in Mouse moves Entropy source :
        • In manual mode: more entropy data in Entropy source by 'mixing' (XOR operation) each mouse point (provided by the user) with a random byte (generated with Crypto.getRandomValues())
        • Consistent graphics between manual ([New points...]) and automatic ([Generate]) mode
    • 0.3.47
      • Fixed Gujarati wordlist to remove words containing ':', '-', or '/'
    • 0.3.46
      • Added support of Gujarati for the Seed phrase
      • Default Entropy source is now D6 dices
    • 0.3.45
      • Added informations for Mouse moves Entropy source:
        • Renamed [New Entropy] to [New points...]
        • Explanations for manual (with [New points...]) vs automatic generation (with [Generate])
      • Updated screenshots from 0.3.15 to 0.3.45
    • 0.3.44
      • New Entropy source: Mouse moves
    • 0.3.43
      • New Entropy source: D6 dices (e.g. 100 rolls for 256 bits of Entropy)
    • 0.3.42
      • Conversion of new wordlists (DE, RU, EO, LA, EL, HI) in .txt format to submit as proposals for official BIP39 repository
    • 0.3.41
      • Added support of Greek for the Seed phrase
    • 0.3.40
      • Added Marketcap button (after Explore button) in Wallet Tab Page to show the relevant coinmarketcap URL
    • 0.3.39
      • Replaced default random generator Math.random with a more secure for cryptography usage (see secureRandom() in hex_utils.js)
    • 0.3.38
      • Added POL cryptocurrency (POL) in Simple Wallet, HD Wallet and SWORD Wallet modes
      • Documentation missing: added note on how SUI support was validated
    • 0.3.37
      • Added SUI cryptocurrency (Sui) in HD Wallet / SWORD Wallet modes
  • User'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).

    • 5.1. Features
      • 5.1.1. Cryptocalc Standalone installer
        • 5.1.1.a: Downloadl CryptoCalc installer
        • 5.1.1.b. Default subfolder where Wallet informations are saved:
          $DEFAULT_SETUP_FOLDER\resources\app\_output: Notice that this folder won't be automatically deleted if you uninstall CryptoCalc
      • 5.1.2. Generate Entropy from Entropy Source
        Use [Generate] button to draw a random image (cf. 5.1.3) which then will be used as the Entropy (with the Salt) to generate a new seed phrase (between 12 and 24 words) which is derived to get the Private Key from which the Wallet Address is obtained (NB: Private Key and Wallet Address are in the Wallet Tab). There is also a conversion to the Shortened seed phrase: as only the 4 first characters of each mnemonic are meaningful (cf. BIP39 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).
        NB: As some mnemonics are only 3 characters long, the abbreviation will of course only be whole mnemonic.
        Here is an example below:
        seed phrase
              rent expand super sea summer pull catalog mobile proud solve oven goose
        Shortened Seedphrase
              RentExpaSupeSeaSummPullCataMobiProuSolvOvenGoos
        NB: Please notice that the Shortened seed phrase is not meant to be used to import a wallet in a Wallet Manager, it's only a trick to compress the seed phrase and make it easier to store on a device with limited memory like a NTAG213 NFC (see 5.2.3).
      • 5.1.3. Entropy Source : 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 pointe
        • Images
          • You can Drag'n'Drop images (png, jpg or svg) from you local folders.
          • Image samples are provided in www/img folder.
          • When using [Generate], Cryptocurrency logos are drawn from www/img/CryptoCurrency
        • Fortunes:
          • Fortune cookies are drawn from a compilation of 12803 quotes
      • 5.1.4. Choose Wallet_Mode: Simple Wallet, HD Wallet or SWORD Wallet (choice is in the Wallet tab page)
        • 5.1.4.a. Simple Wallet
          This is the default Wallet Mode. In this mode, each wallet is separated. (no need to understand the principles of the HD Wallet Wallet Tree and the purpose of the 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.
          On the other hand it's less secure than HD Wallets (especially if you use low security entropy text like you firstname, city/birth year etc.... Indeed its will be vulnerable to dictionary attacks ) and it becomes clumsy if you need to split your assets between many wallets.
        • 5.1.4.b. HD Wallet
          This Wallet Mode allows to create / manage a whole hierarchy of Wallets (HD is the acronym for Hierarchical Deterministic) in the same BIP32 tree.

        Please notice that the Derivation Path is now Hardened by default and mandatory (since 0.3.18). This is for Security purpose (see 5.2.3) The BIP32 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 the Entropy 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.

        • 5.1.4.c. SWORD Wallet
          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.
        • 5.1.4.d. Please notice that for 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).
        • 5.1.4.e. You can check generated HD Wallets with Ian Coleman BIP39 homepage
          It's URL is provided as an item in the Help menu (Help/Resources/Ian Coleman BIP39)
      • 5.1.5. Passphrase feature (HD Wallet only)
        With a passphrase a completely different HD hierarchy is generated. You can either input or generate (with the [Generate] button represented by a 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.
      • 5.1.6. Salted Entropy
        Entropy is generated from Entropy Source and adding a Salt (a generated 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.
      • 5.1.7. Choose Entropy Size
        The Entropy Size is between 128 to 256 bits (32 to 64 hexadecimal digits). This is equivalent to a Seedphrase size between 12 and 24 words. Changing Entropy Size impacts the Seedphrase size and conversely.
      • 5.1.8. Wallet Address
        Wallet Address is displayed in the Wallet tab page. There's also an [Explorer...] button which allows to check the generated address in the appropriate Blockchain Explorer.
      • 5.1.9. Internet Connection Status
        This is to secure Offline wallet creation (non custodial). An icon at the right of the Main Toolbar shows if the Internet is connected (Wifi ON red icon) or not connected (Wifi OFF green icon)
      • 5.1.10. Save Wallet Informations
        With File/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.
        • 5.1.10.a. When you save the current generated wallet a Popup dialog confirms the saving and allows to show where it is saved.
        • 5.1.10.b. The Wallet Informations subfolder contains QR Codes (png images) for Address, Private Key, Seedphrase, Entropy and WIF (if applicable).
          Notice that there is a 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.
        • 5.1.10.c: How to retrieve a Wallet Address from the Rectangular Micro QR Code
          • 5.1.10.c.I: Notice that most Android QR Code reader apps will not be compatible with Rectangular Micro QR Code but it works with QRQR an Android QR Code reader published by Arara on the Google Play Store.
          • 5.1.10.c.II: Then convert the Entropy to the matching seed phrase by doing a copy/paste in the Entropy field of CryptoCalc.
            Caution: Take care to set CryptoCalc with the same 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).
      • 5.1.11. Open Wallet Informations of a previously saved wallet
        • 5.1.11.a. Wallet informations are saved both as a .txt but also as a .wits file (JSON format).
        • 5.1.11.b. A .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) /
        • 5.1.11.c. Once opened, a wallet can't be saved on itself (it is to prevent accidental overwrite of the original wallet), but you can use File.Save As... which will save the wallet with a different timestamp than the original one.
        • 5.1.11.d. Notice that for a HD Wallet you can change the 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.
      • 5.1.12. Import a wallet in Guarda
        An item in the menu (Help / Resources / Guarda) eases importing a wallet in a Wallet Manager application
      • Notes on Guarda
        • It is a Non custodial wallet because the Private Keys are stored on you local computer so keep in mind that you are responsible to take care and make basckups by yourself (eg. if you reinstall the Operating system without having made a security backup then your Private Keys and then your assets will be lost).
        • It is a Hot wallet because it is is also a web service which allows to send funds to another wallet and also to change a cryptocurrency in another (eg ETH to SOL).
        • Guarda was chosen mainly to validate that a generated wallet by CryptoCalc is accepted and thus validated.
      • 5.1.13. Select Seedphrase Language
        You can select the Wordlist Language (eg. English, French, Deutsh, etc...). Please notice that only English is accepted for most Wallet Manager applications. Changing Wordlist Language is indeed a mean to add an "obfuscation/information hiding" step
        in order to make it harder to steal your Secret Recovery Passphrase because it should be translated to English to be used with a Wallet Manager.
        NB: it is important to highlight that indeed the crucial information is the list of Word Indexes. Thats's why translation between languages is easy in CryptoCalc because the reference is the Word Indexes (see 6.1.14) not the words.
      • 5.1.14. Display of Word Indexes
        The Word Indexes are between 0 and 2047, it is the index of each of the Seed phrase words in the 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).
      • 5.1.15. Display of the BIP32 Derivation Path
        The BIP32 Derivation Path is displayed in the Wallet tab page. You can edit the Account or Address Index fields to generate new wallets which belong to the same BIP32 hierarchy that is determined by the seed phrase (also called the Secret Recovery Passphrase).
      • 5.1.16. 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 (Cryptoshape)
      • 5.1.17. Change/Reset of Options (Tools/Options)
        Currently it allows to set default values for Default Blockchain, Wallet Mode and Entropy Size. These values are defined in www/config/options.json file.
        It is also possible to reset Options to Default Options (defined in www/config/defaults/options.json)
      • 5.1.18. Localization
        Localization (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).
        Notice that currently only en and fr are provided.
    • 5.2. Use cases
      • 5.2.1. Generate a new Wallet and import it in a Wallet manager
        With a Wallet Manager like Guarda you can import a wallet generated by CryptoCalc:
        • Choose Wallet Mode: Simple Wallet, HD Wallet or SWORD
        • Choose a coin: BTC,ETH,XRP,ADA,DOGE,LTC,SOL,AVX,TRON,BCH,DASH,Firo
        • Enter Private Key (NB: or WIF for BTC wallets)
      • 5.2.3. Store Shortened Seedphrase in a NFC SmartRing
        The entry level SmartRings (price range: 7..15$) contains a 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).
      • 5.2.4. Store Master password
        This is similar to the previous case, but the Shortened Seedphrase can be used as a Master password for a Password Manager or for tools like PGP Tool which provides encryption/decryption of your documents.
  • Appendix

    • 6.1. BIP39: a Dictionary of 2048 words
      BIP39 (BIP is the acronym of Bitcoin Improvement Proposal) is a specification regarding:
      • 6.1.1. A Dictionary of 2048 mnemonics
        The Dictionary (also called a wordlist) contains 2048 English mnemonics (words) each with a their unique 4 starting characters (or 3 if the mnemonic is 3 characters long). This dictionary exists also in other languages (e.g. French, Deutsh, Spanish, Italian_, Portuguese, etc...) but Wallet Managers (e.g. Guarda, Metamask, Atomic Wallet, etc...) and Hardware Wallets (eg. Ledger, Trezor, Tangem, etc...) will only accept English words.
      • 6.1.2. Conversion of seed phrase from and to Entropy The seed phrase is obtained by drawing words (also called or menemonics) from the dictionary. Drawing a word is indeed choosing an index between 0 and 2047. This index can be represented by 11 bits in Binary (because 2^11 = 2048).
        • Conversion from Entropy to seed phrase The Entropy is represented in Binary and divided in 11 bits segements but the entropy is a multiple of 8 bits (128, 160, 192, 224, 256) there are "missing bits" for choosing the last word. These "missing bits" are provided by computing the Entropy Checksum. e.g. For an Entropy Size of 128 bits (converted to a 12 words seed phrase), 132 bits are needed (11 * 12), so the Entropy Checksum provides the missing 4 bits.
        • Conversion from seed phrase to Entropy For each word its index is retrieved from the Dictionary, its value is represented as a 11 bits segment and a number of bits corresponding to tne Entropy Checksum are removed at the end of the concatenation of 11 bits segments. e.g. For a seed phrase of 12 words (converted to a 128 bits Entropy), 132 bits are obtained from the Word Indexes (11 * 12), and because the Entropy Checksum is 4 bits long then the 4 bits at the end are removed.
      • Reference
        BIP39 — Mnemonic Generation with detailed explanation
    • 6.2. BIP32: Hierarchic Deterministic wallets
      BIP32 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).
      Example: meaning of each part for m/44'/60'/0'/0/0' (a Hardened Derivation Path):
      • Start at the master key (m)
      • Follow the BIP44 specification (44')
      • Derive the key for Ethereum (for which Coin type is 60) (60')
      • Access the first account (0')
      • Choose the external chain, used for public addresses (0)
      • And finally, generate the first address in this sequence (0')
    • 6.3. References

Keywords

cryptocurrency

FAQs

Package last updated on 09 Sep 2025

Did you know?

Socket

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.

Install

Related posts