@aladas-org/cryptocalc
Version:
Cryptocurrency wallet generator
721 lines (640 loc) • 71.5 kB
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cryptocalc — README</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=IBM+Plex+Sans:wght@300;400;600;700&display=swap');
:root {
--bg: #0d1117;
--surface: #161b22;
--surface2: #1c2330;
--border: #30363d;
--accent: #58a6ff;
--accent2: #3fb950;
--accent3: #f78166;
--accent4: #d2a8ff;
--accent5: #ffa657;
--text: #e6edf3;
--text-muted: #8b949e;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
background: var(--bg);
color: var(--text);
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
line-height: 1.7;
padding: 48px 24px;
}
.container {
max-width: 1000px;
margin: 0 auto;
}
header {
margin-bottom: 40px;
border-bottom: 1px solid var(--border);
padding-bottom: 28px;
}
.top-badge {
display: inline-flex;
align-items: center;
gap: 6px;
font-family: 'IBM Plex Mono', monospace;
font-size: 11px;
padding: 3px 10px;
border-radius: 20px;
background: #1f3a5f;
color: var(--accent);
border: 1px solid #1f4080;
letter-spacing: .05em;
margin-bottom: 14px;
}
h1 {
font-size: 42px;
font-weight: 700;
color: var(--text);
margin-bottom: 8px;
letter-spacing: -.02em;
line-height: 1.2;
}
h1 span { color: var(--accent); }
.version {
color: var(--accent2);
font-family: 'IBM Plex Mono', monospace;
font-size: 16px;
margin-bottom: 20px;
}
.stats {
display: flex;
gap: 20px;
flex-wrap: wrap;
margin: 20px 0;
}
.stat-item {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 8px;
padding: 8px 16px;
font-size: 13px;
}
.stat-item .label {
color: var(--text-muted);
margin-right: 8px;
}
.stat-item .value {
color: var(--accent);
font-family: 'IBM Plex Mono', monospace;
font-weight: 600;
}
/* Sections */
.section {
margin: 40px 0;
scroll-margin-top: 20px;
}
.section h2 {
font-size: 24px;
font-weight: 600;
color: var(--accent);
margin-bottom: 20px;
padding-bottom: 8px;
border-bottom: 1px solid var(--border);
font-family: 'IBM Plex Mono', monospace;
}
.section h2::before {
content: '◆';
color: var(--accent2);
margin-right: 10px;
font-size: 18px;
}
.section h3 {
font-size: 18px;
font-weight: 600;
color: var(--text);
margin: 25px 0 15px;
}
.section h4 {
font-size: 16px;
font-weight: 600;
color: var(--accent4);
margin: 20px 0 10px;
}
.section p {
margin: 15px 0;
color: var(--text-muted);
}
.section strong {
color: var(--accent2);
}
.section code {
font-family: 'IBM Plex Mono', monospace;
font-size: 13px;
background: var(--surface2);
color: var(--accent3);
padding: 2px 6px;
border-radius: 4px;
border: 1px solid var(--border);
}
.section pre {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 8px;
padding: 16px 20px;
overflow-x: auto;
font-family: 'IBM Plex Mono', monospace;
font-size: 13px;
color: var(--accent2);
margin: 20px 0;
}
.section ul, .section ol {
margin: 15px 0 15px 25px;
color: var(--text-muted);
}
.section li {
margin: 8px 0;
}
.section li strong {
color: var(--accent);
}
.section hr {
border: none;
border-top: 1px solid var(--border);
margin: 30px 0;
}
.note-box {
background: var(--surface);
border-left: 3px solid var(--accent4);
padding: 16px 20px;
border-radius: 0 8px 8px 0;
margin: 20px 0;
color: var(--text-muted);
}
.note-box strong {
color: var(--accent4);
}
.badge {
display: inline-block;
background: var(--surface2);
border: 1px solid var(--border);
border-radius: 20px;
padding: 2px 10px;
font-size: 11px;
color: var(--text-muted);
margin-right: 8px;
}
.badge.blue { color: var(--accent); border-color: var(--accent); }
.badge.green { color: var(--accent2); border-color: var(--accent2); }
.badge.purple { color: var(--accent4); border-color: var(--accent4); }
footer {
margin-top: 60px;
padding-top: 20px;
border-top: 1px solid var(--border);
font-size: 12px;
color: var(--text-muted);
font-family: 'IBM Plex Mono', monospace;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px;
}
.donate-btn {
display: inline-block;
margin: 20px 0;
}
.donate-btn img {
border-radius: 8px;
border: 1px solid var(--border);
transition: all .2s;
}
.donate-btn img:hover {
border-color: var(--accent2);
transform: translateY(-2px);
}
.gif-container {
margin: 20px 0;
border: 1px solid var(--border);
border-radius: 8px;
overflow: hidden;
background: var(--surface);
}
.gif-container img {
max-width: 100%;
display: block;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
font-size: 13px;
}
th {
text-align: left;
padding: 10px 12px;
background: var(--surface2);
color: var(--text);
font-family: 'IBM Plex Mono', monospace;
font-size: 11px;
letter-spacing: .05em;
text-transform: uppercase;
}
td {
padding: 10px 12px;
border-bottom: 1px solid var(--border);
color: var(--text-muted);
}
tr:hover td {
background: var(--surface);
}
</style>
</head>
<body>
<div class="container">
<header>
<div class="top-badge">⬡ CRYPTOCALC</div>
<h1>CryptoCalc <span>README</span></h1>
<div class="version">Version 0.5.10</div>
<div class="stats">
<div class="stat-item"><span class="label">Downloads:</span><span class="value">16,792</span></div>
<div class="stat-item"><span class="label">Cryptocurrencies:</span><span class="value">23</span></div>
<div class="stat-item"><span class="label">Languages:</span><span class="value">18</span></div>
<div class="stat-item"><span class="label">Unit Tests:</span><span class="value">694</span></div>
<div class="stat-item"><span class="label">E2E Tests:</span><span class="value">2</span></div>
</div>
</header>
<!-- GIF -->
<div class="gif-container">
<img src="../_doc/Screenshots/Entropy_Wallet_0_4_5_EN.gif?raw=true" alt="CryptoCalc Demo">
</div>
<!-- SECTION 1: PURPOSE -->
<div class="section" id="purpose">
<h2>1. Purpose</h2>
<p><strong>CryptoCalc</strong> is a <em>Cryptocurrency wallet generator</em> provided as a standalone non custodial desktop application. These wallets can be <em>Non Deterministic</em> (<em>Simple Wallet</em>) or <em>Hierarchical Deterministic</em> (<code>BIP32</code>). Even though there are 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 <em>Private Key</em> / <em>WIF</em> or <em>Secret phrase</em> information being stolen.</p>
<p>NB: Since its first release <em>CryptoCalc</em> has been downloaded 16792 times on <a href="https://www.npmjs.com/" style="color: var(--accent);">npm</a>.</p>
<p>You can support this project by testing and reporting bugs (or asking for enhancements) with <a href="https://github.com/ALADAS-org/Cryptocalc/issues" style="color: var(--accent);">Issues</a>, provide localization files (see 5.1.19).</p>
<p>Cryptocalc is developed by <a href="https://aladas.org/?page_id=61" style="color: var(--accent);">Aladas</a>, a non profit organization whose primary goal is to protect Wild bees.</p>
</div>
<!-- SECTION 2: FEATURES -->
<div class="section" id="features">
<h2>2. Features</h2>
<h3>2.0. Recently added features</h3>
<ul>
<li><strong>Help Enhancement:</strong> the <code>Help menu</code> provides now an HTML version of <code>README.md</code> and a documentation of test protocols.</li>
<li>Added <code>Unit tests</code>: these tests use <a href="https://jestjs.io/fr/" style="color: var(--accent);">Jest</a> unit test framework. It is an ongoing work (694 tests ATM). Use <code>npm test</code> to run the unit tests (to open a CLI console, double click on <code>_open_cmd_window.bat</code>).</li>
<li>Added <code>e2e tests</code> (Real user scenario testing): these tests use <a href="https://playwright.dev/" style="color: var(--accent);">Playwright</a>.</li>
<li><code>Wallets Database</code>: you can now populate a <code>SQLite</code> database by importing the <em>Wallet informations</em> (<code>.wits</code> files in timestamped subfolders under <code>_output</code> folder).</li>
<li>Added support of <code>Bip84</code> purpose in the <code>Bip32 derivation path</code>.</li>
</ul>
<h3>2.1. Support of HD / Bip32 (multiple wallets)</h3>
<p>Added support of <code>Bip84</code> purpose in the <code>Bip32 derivation path</code> (HD Wallet). Notice that it is usable only with <code>Bitcoin</code> and <code>Litecoin</code>.</p>
<h3>2.2. Selection of <code>Entropy size</code> (between 128 and 256 bits)</h3>
<h3>2.3. Dynamic conversion between <code>Entropy</code> and <code>Secret phrase</code></h3>
<h3>2.4. <code>File/Save/Open..</code> commands</h3>
<p>These commands allow edition of <em>Wallet informations</em> after saving (these informations are saved as a <code>.wits</code>, a <code>JSON</code> format file).</p>
<h3>2.5. Salted Entropy source</h3>
<p><code>Entropy</code> value is indeed computed by combining the <code>Salt</code> (currently a dynamically generated <code>UUID</code>) with the value provided by the <code>Entropy source</code>.</p>
<ul>
<li><code>SHA256</code> hash function is applied to this: <code>Salt + Entropy source</code>.</li>
</ul>
<h3>2.6. Security Layers</h3>
<ul>
<li><code>Bip38</code> support (first method 'Non-EC').</li>
</ul>
<h3>2.7. Multiple Entropy sources</h3>
<p><code>100 d6 dices</code>, <code>Mouse moves</code>, <code>Images</code> and <code>Fortune cookies</code>.</p>
<h3>2.8. QR code generation</h3>
<p>For <em>Wallet address</em>, <em>Private Key</em> (also <em>WIF</em> if applicable) and <em>Mnemonics</em>. There is also an <code>xtras</code> folder with the SVG versions of these QR codes as well as more <em>experimental</em> QR code formats (<em>rectangular Micro QR code</em> and <em>Ultracode</em> which has colored modules).</p>
<h3>2.9. Customizable options</h3>
<p>Options includes <code>Blockchain</code>, <code>Wallet mode</code> (eg: Simple / HD / SWORD) and <code>Entropy size</code>.</p>
<h3>2.10. Wallets Database</h3>
<p>A <a href="https://sqlite.org/" style="color: var(--accent);">SQLite</a> Database is populated by importing <code>.wits</code> files (<em>Wallet informations</em> in a <code>JSON</code> format file). Then the SQLite Database can be explored with <a href="https://dbeaver.io/" style="color: var(--accent);">DBeaver</a>.</p>
<h3>2.11. Visual feedback of the <code>Passphrase Strength</code> (<code>Bip32/Bip38</code>)</h3>
<h3>2.12. List of <code>Word indexes</code></h3>
<p>The crucial data in the <code>Secret phrase</code> is indeed the list of <code>Word indexes</code> (indexes in the <code>BIP39</code> wordlist), is explicitly displayed so if the language is changed these word indexes are the same.</p>
<h3>2.13. Internet connection status</h3>
<p>Because of the <em>Cold wallet</em> / <em>Non custodial</em> 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).</p>
<h3>2.14. Localization</h3>
<p>Translations of GUI labels in the user's language (only <em>English</em> and <em>French</em> files provided currently but the localization feature allows translations in other languages as well, they are in <code>JSON</code> format eg. <code>gui-msg-en.json</code>).</p>
<h3>2.15. Dynamic links</h3>
<ul>
<li>Address wallet in the appropriate <code>Blockchain Explorer</code> (e.g. <a href="https://www.blockchain.com/fr/explorer" style="color: var(--accent);">blockchain.com</a>).</li>
<li>Informations in <code>Coinmarketcap.com</code> for the wallet's cryptocurrency.</li>
<li>3D representation of the <code>Secret phrase</code> (see an example here: <a href="https://aladas-org.github.io/aladas.github.io/" style="color: var(--accent);">Cryptoshape</a>).</li>
</ul>
<h3>2.16. Dedicated Tools</h3>
<ul>
<li>The first dedicated tool is <code>Secret phrase Translator</code>, it allows to import a generated wallet with a <em>Secret phrase</em> in a non <code>Bip39</code> official language (eg. <code>Russian</code>) and translate it to its equivalent in <code>English</code> (because <em>Wallet Managers</em> support only English).</li>
</ul>
<h3>2.17. Standalone installer</h3>
<p>It is published on <a href="https://sourceforge.net/projects/aladas-cryptocalc/" style="color: var(--accent);">SourceForge</a>. Once downloaded the installer will install <em>Cryptocalc</em> as a <code>.exe</code> local standalone desktop application (see 3.1.1) with all its prerequisites. This allows users to install <em>Cryptocalc</em> without installing <code>NodeJS</code>, <code>git</code> and <code>npm</code> and using command line instructions (described in 3.2).</p>
<h3>2.18. Tested on <code>Windows</code> and <code>Linux</code></h3>
<ul>
<li><code>Windows</code>: tested on <code>Windows 10</code>.</li>
<li><code>Linux</code>: tested on <a href="https://linuxmint.com/" style="color: var(--accent);">Linux Mint 22.2</a> (NB: tested on a virtual machine within <a href="https://www.virtualbox.org/" style="color: var(--accent);">VirtualBox</a>).</li>
</ul>
<h3>2.19. Cryptocurrencies: 23 supported Cryptocurrencies</h3>
<p><code>BTC</code> (Bitcoin), <code>ETH</code> (Ethereum), <code>XRP</code> (Ripple), <code>BNB</code> (Binance Smart Chain), <code>SOL</code> (Solana), <code>DOGE</code> (Dogecoin), <code>TRX</code> (TRON), <code>ADA</code> (Cardano), <code>XLM</code> (Stellar), <code>SUI</code> (Sui), <code>BCH</code> (Bitcoin Cash), <code>AVAX</code> (Avalanche), <code>TON</code> (Toncoin), <code>LTC</code> (Litecoin), <code>ETC</code> (Ethereum Classic), <code>POL</code> (Polygon), <code>VET</code> (VeChain), <code>BSV</code> (Bitcoin SV), <code>DASH</code> (Dash), <code>RVN</code> (Ravencoin), <code>ZEN</code> (Horizen), <code>LUNA</code> (Terra) and <code>FIRO</code> (Firo).</p>
<ul>
<li>A list of the <em>Top 50 market cap</em> cryptocurrencies is provided (<code>_doc/top_50_marketcap_coins.txt</code>), the first column indicates (with <code>*</code>) if it is supported in <em>CryptoCalc</em>.</li>
<li>Note 1: <code>BNB</code> support is on <em>Binance Smart Chain</em> (in this blockchain <code>BNB</code> is a <code>BEP-20</code> token, see 6.3.4).</li>
<li>Note 2: it's <code>LUNA 2.O</code> (on <em>Terra</em> blockchain) not <code>LUNA Classic</code>.</li>
<li>Note 3: <code>SUI</code> support was validated with 'Suiet' (Sui wallet), a Chrome extension.</li>
</ul>
<h3>2.20. Languages: 18 supported languages</h3>
<ul>
<li><strong>Officially supported in <code>Bip39</code>:</strong><br>
<em>English</em>, <em>French</em>, <em>Spanish</em>, <em>Italian</em>, <em>Czech</em>, <em>Portuguese</em>, <em>Simplified Chinese</em>, <em>Traditional Chinese</em>, <em>Japanese</em> and <em>Korean</em>.<br>
Notice that <em>English</em> is the only supported language by electronic cold wallets (eg. <em>Ledger</em> or <em>Trezor</em>).</li>
<li><strong>Non official languages:</strong><br>
<em>Deutsch</em>, <em>Russian</em>, <em>Esperanto</em>, <em>Latin</em>, <em>Greek</em>, <em>Hindi</em>, <em>Gujarati</em> and <em>Bengali</em>.</li>
</ul>
<p>Notice that <em>English</em> has around 1.5 billion speakers, <em>Mandarin</em> has around 1.1 billion speakers while the <em>India triad</em> (<em>Hindi</em>, <em>Bengali</em> and <em>Gujarati</em>) has around 1 billion speakers.</p>
<h3>2.21. Developed with <code>Javascript</code> and <a href="https://www.electronjs.org/" style="color: var(--accent);">ElectronJS</a></h3>
<p><em>CryptoCalc</em> is written in <code>Javascript</code> (both <em>client side</em> and <em>server side</em>) and is built on top of <em>ElectronJS</em>. <em>ElectronJS</em> is used in many modern and popular <a href="https://en.wikipedia.org/wiki/List_of_software_using_Electron" style="color: var(--accent);">Desktop applications</a> (e.g. <a href="https://code.visualstudio.com/" style="color: var(--accent);">Visual Studio Code</a>, <a href="https://discord.com/" style="color: var(--accent);">Discord</a>, <a href="https://www.whatsapp.com/" style="color: var(--accent);">WhatsApp</a>, <a href="https://www.notion.com/" style="color: var(--accent);">Notion</a>, <a href="https://obsidian.md/" style="color: var(--accent);">Obsidian</a>, etc.).</p>
</div>
<!-- SECTION 3: SETUP -->
<div class="section" id="setup">
<h2>3. Setup</h2>
<h3>3.1. <em>Fast and Furious</em> (advised for end users)</h3>
<ul>
<li><strong>3.1.1.</strong> Download <a href="https://sourceforge.net/projects/aladas-cryptocalc/files/latest/download" style="color: var(--accent);">CryptoCalc installer</a> from <em>SourceForge</em> (NB: the installer was generated with <a href="https://www.npmjs.com/package/@electron/packager" style="color: var(--accent);">electron packager</a> and <a href="https://jrsoftware.org/isinfo.php" style="color: var(--accent);">Inno Setup</a>). Notice that the installer is not signed so <em>Windows Defender Smartscreen</em> 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:
<ul>
<li><strong>3.1.1.a.</strong> Rebuild yourself the <em>Installer</em> by downloading <code>Inno Setup</code> and following the <em>Howto</em> provided in the <code>_inno_setup</code> subfolder (<code>Howto build cryptocalc_setup.txt</code>).</li>
<li><strong>3.1.1.b.</strong> Else you can proceed to <em>Wizard's Lair</em> setup (see 3.2).</li>
</ul>
</li>
<li><strong>3.1.2.</strong> Default setup folder is <code>C:\Users\$CURRENT_USER\AppData\Local\Programs\Cryptocalc</code>.</li>
<li><strong>3.1.3.</strong> Default subfolder where <em>Wallet informations</em> are saved: <code>$DEFAULT_SETUP_FOLDER\resources\app\_output</code>.</li>
</ul>
<h3>3.2. <em>Wizard's Lair</em> (more advised for custom local setup and/or geeks or software developers)</h3>
<h4>3.2.a. On <code>Windows</code> Operating system</h4>
<ul>
<li><strong>Prerequisites</strong>
<ul>
<li>Install <a href="https://nodejs.org/en/" style="color: var(--accent);">NodeJS</a>.</li>
<li>Install <a href="https://git-scm.com/" style="color: var(--accent);">Git</a>.</li>
</ul>
</li>
<li><strong>Open a <em>command line interpreter</em></strong>
<ul>
<li>Use Windows Menu <em>Start</em> then input <code>cmd</code>.</li>
<li>Change <em>current disk</em> to where you plan to install (eg. if its <code>D</code> then type <code>D:</code>).</li>
<li>Change <em>current directory</em> to where you to install (eg. <code>md tools</code> then <code>cd tools</code>).</li>
</ul>
</li>
<li><strong>Import <em>CryptoCalc</em> from <em>github</em></strong>
<ul>
<li>Open the <a href="https://github.com/ALADAS-org/cryptocalc" style="color: var(--accent);">GitHub <em>CryptoCalc</em> repository</a>.</li>
<li>Use the [<> Code v] green button.</li>
<li>Copy the displayed <a href="https://github.com/ALADAS-org/cryptocalc.git" style="color: var(--accent);">.git URL</a>.</li>
<li>In the <em>command line interpreter</em>, type <code>git clone</code> followed by the <code>.git</code> URL: <code>git clone https://github.com/ALADAS-org/cryptocalc.git</code>.</li>
<li>Type <code>cd cryptocalc</code>.</li>
<li>Type <code>npm install</code>.</li>
<li>You can launch <em>CryptoCalc</em> with a double click on <code>_run_Cryptocalc_W.bat</code> (<code>W</code> means <em>Windows</em>).</li>
</ul>
</li>
</ul>
<h4>3.2.b. On <code>Linux</code> Operating system</h4>
<ul>
<li><strong>Linux distribution</strong>
<ul>
<li><em>CryptoCalc</em> was tested on <a href="https://linuxmint.com/" style="color: var(--accent);">Linux Mint 22.2</a> and tested as a virtual machine within <a href="https://www.virtualbox.org/" style="color: var(--accent);">VirtualBox</a>. Notice that the <em>Cinnamon</em> desktop was chosen.</li>
</ul>
</li>
<li><strong>Open a <em>command shell</em></strong>
<ul>
<li>This will open a window where you can input commands (eg. <code>sudo apt-get install nodejs</code>).</li>
<li>Create a <em>subdirectory</em> to use it as a <em>workspace</em>, I suggest that you name it <code>dev</code>: <code>mkdir dev</code>.</li>
<li>Change <em>current directory</em> to this new <em>subdirectory</em>: <code>cd dev</code>.</li>
<li>Create a <em>subdirectory</em> for <a href="https://github.com/" style="color: var(--accent);">Github</a> projects, I suggest that you name it <code>github</code>: <code>mkdir github</code>.</li>
<li>Change <em>current directory</em> to this new <em>subdirectory</em>: <code>cd github</code>.</li>
</ul>
</li>
<li><strong>Prerequisites</strong>
<ul>
<li>Install <a href="https://nodejs.org/en/" style="color: var(--accent);">NodeJS</a>: <code>sudo apt-get install nodejs</code>.</li>
<li>Install <a href="https://git-scm.com/" style="color: var(--accent);">Git</a>: <code>sudo apt update; sudo apt install git</code>.</li>
<li>Install <a href="https://www.npmjs.com/" style="color: var(--accent);">npm</a>: <code>sudo apt update; sudo apt install npm</code>.</li>
<li>Install <code>xdg-utils</code> (<a href="https://www.freedesktop.org/wiki/" style="color: var(--accent);">X Desktop Group</a>): <code>sudo apt-get install xdg-utils</code>.</li>
</ul>
</li>
<li><strong>Import <em>CryptoCalc</em> from <a href="https://github.com/" style="color: var(--accent);">Github</a></strong>
<ul>
<li><code>cd; cd dev/github</code>.</li>
<li><code>git clone https://github.com/ALADAS-org/Cryptocalc.git</code>.</li>
<li><code>cd Cryptocalc</code>.</li>
<li><code>npm install</code>.</li>
<li><code>chmod 777 ./_run_Cryptocalc_X.sh</code>.</li>
<li>You can launch <em>CryptoCalc</em> with either:
<ul>
<li><code>npm start</code>.</li>
<li><code>./_run_Cryptocalc_X.sh</code> (<code>X</code> is a reference to <em>LinuX</em> and the family of <em>uniX</em> like <em>Operating Systems</em>).</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<!-- SECTION 4: RELEASE NOTES -->
<div class="section" id="releases">
<h2>4. Release notes</h2>
<ul>
<li><strong><code>0.5.10</code>:</strong> This version
<ul>
<li><strong>Help Enhancement:</strong> the <code>Help menu</code> provides now an HTML version of <code>README.md</code> and a documentation of test protocols.</li>
<li>Updates in Unit tests running on <a href="https://jestjs.io/fr/" style="color: var(--accent);">Jest</a>: Updates in <code>Unit tests</code>: 694 tests.</li>
<li>Added "e2e" tests (Real user scenario testing) running on <a href="https://playwright.dev/" style="color: var(--accent);">Playwright</a>: Two "e2e" tests added.</li>
</ul>
</li>
<li><strong><code>0.5.9</code>:</strong>
<ul>
<li>Enhancement in Unit tests: Updates in <code>Unit tests</code>: 344 tests (<code>Simple Wallet</code>, <code>HD Wallet</code>, <code>Bip32_utils</code>, <code>Bip39_utils</code>, <code>Bip38_utils</code>) passed.</li>
</ul>
</li>
<li><strong><code>0.5.8</code>:</strong>
<ul>
<li>Enhancement in Unit tests: Updates in <code>Unit tests</code>: 291 tests (<code>Simple Wallet</code>, <code>HD Wallet</code>, <code>Bip32_utils</code>, <code>Bip39_utils</code>) passed.</li>
</ul>
</li>
<li><strong><code>0.5.7</code>:</strong>
<ul>
<li>Enhancement in Unit tests: Updates in <code>Unit tests</code>: 177 tests (<code>Simple Wallet</code>, <code>HD Wallet</code> and <code>BI32</code>) passed.</li>
</ul>
</li>
<li><strong><code>0.5.6</code>:</strong>
<ul>
<li>Enhancement in Unit tests: Updates in <code>Unit tests</code>: 142 tests ("Simple Wallet" and "HD Wallet") passed.</li>
</ul>
</li>
<li><strong><code>0.5.5</code>:</strong>
<ul>
<li>Enhancement in Unit tests: Updates in <code>Unit tests</code>: use <code>npm test</code> to run the unit tests (to open a CLI console, double click on <code>_open_cmd_window.bat</code>).</li>
</ul>
</li>
<li><strong><code>0.5.4</code>:</strong>
<ul>
<li>New Feature: Added <code>Unit tests</code> (these tests use <a href="https://jestjs.io/fr/" style="color: var(--accent);">Jest</a> unit test framework), it is an ongoing work (ATM only a test for <code>Simple Wallet</code>).</li>
</ul>
</li>
<li><strong><code>0.5.1</code>:</strong>
<ul>
<li>Terminology Fix: Terminology <code>Bip32 passphrase</code> is the wrong terminology, it has been replaced by <code>Bip39 passphrase</code>.</li>
<li>New Feature: Added support of <code>Bip84</code> purpose in the <code>Bip32 derivation path</code> (HD Wallet). Notice that it is usable only with <code>Bitcoin</code> and <code>Litecoin</code>.</li>
<li>Ergonomy Fix: Previously: When you wanted to define a <code>Bip39 passphrase</code>, you had to explicitly use the [Apply] button to recompute the <em>Bip32 Hierarchy</em>. Thus the [Apply] button was often overlooked and the <code>Bip39 passphrase</code> was not taken into account. This situation can be qualified as an <code>Ergonomy Bug</code>. Now: With the <code>Ergonomy fix</code>, the <code>Bip39 passphrase</code> is a <code>readonly</code> field so to enter a value you must use the [Edit] button (a button with a 'Pen' icon) then you either use [Apply] (to explicitly ask "Use the Bip39 passphrase and recompute the Bip32 Hierarchy") or [Cancel] (to explicitly ask "Don't Change the Bip39 passphrase").</li>
<li>Small Ergonomy upgrade: The [Clear] button (for the input of <code>Bip39 passphrase</code> or <code>Bip38 passphrase</code>) is now an icon (a 'Cross' shape).</li>
<li>Documentation: There is now only the <em>most straightforward way</em> to explore the <code>SQLite Database</code> which is with <a href="https://dbeaver.io/" style="color: var(--accent);">DBeaver</a>.</li>
</ul>
</li>
<li><strong><code>0.5.0</code>:</strong>
<ul>
<li>New Feature: <code>Tools/Database Management</code>: A <a href="https://sqlite.org/" style="color: var(--accent);">SQLite</a> Database is populated by importing the <code>.wits</code> files (in <code>_output</code> generated subfolder). Then the Database can be explored by <a href="https://www.adminer.org/en/" style="color: var(--accent);">Adminer</a> (a <a href="https://www.php.net/" style="color: var(--accent);">PHP</a> application, successor of <a href="https://www.phpmyadmin.net/" style="color: var(--accent);">phpMyAdmin</a>). The <code>Http server/SQLite/PHP</code> stack is supported by <a href="https://github.com/cztomczak/phpdesktop" style="color: var(--accent);">phpdesktop</a>. See <code>document _00_README_PhPDesktop-AdMiner-SQLite.txt</code> (in <code>www\js\_main\db\Howto AdMiner</code>) for the setup guide. Note: you can also use <a href="https://dbeaver.io/" style="color: var(--accent);">DBeaver</a>, which provides much more features like the visualization of the <em>DB Schema</em>.</li>
<li>Bug Fixes: <code>.wits</code> files (in <code>_output</code> generated subfolder) were missing fields of <code>wallet_info.txt</code>: namely <code>Bip38 Encrypted PK</code> and <code>Derivation Path</code>. <em>Event Handlers</em> were added multiple times in <em>Dialog Boxes</em>. Now fixed in <code>Tools/Bip38 Encrypt/Decrypt</code>, <code>Tools/Bip38 Secret phrase Translator</code> and the more recent <code>Tools/Database Management</code>. Updated <code>SUI</code> required module (<code>@mysten/sui</code> instead of <code>@mysten/sui.js</code>).</li>
</ul>
</li>
<li><strong><code>0.4.25</code>:</strong>
<ul>
<li>Enhancement: in <code>Tools/Secret phrase Translator</code>: a <em>special language</em> (<code>Word Indexes</code>) is now provided to get the indexes of the words in the <em>Secret phrase</em> (they are independent from the language).</li>
<li>Bug Fix: When you provide a Bip32 passphrase, <code>File/Save As...</code> was not disabled (it should be disabled until you use the [Apply] button to recompute the wallet addresses in the Bip32 hierarchy).</li>
</ul>
</li>
<li><strong><code>0.4.24</code>:</strong>
<ul>
<li>Bug Fix: in <code>Tools/Bip38 Encrypt/Decrypt</code>: the <code>Encrypt/Decrypt</code> state value was not get/set properly.</li>
</ul>
</li>
<li><strong><code>0.4.23</code>:</strong>
<ul>
<li>A dedicated tool in <code>Tools/Secret phrase Translator</code> eases importation of a generated wallet in a <em>Wallet Manager</em>. Use case: You can use a <em>Secret phrase</em> in a non <code>Bip39</code> official language (eg. <code>Russian</code>) and translate it to its equivalent in <code>English</code> which allows to import the generated wallet in a <em>Wallet Manager</em> (because <em>Wallet Managers</em> support only English).</li>
<li>Changes in <em>Tools/Bip38 Encrypt/Decrypt dialog</em>: <em>Progress bar</em> is now displayed again (when pushing [Compute] button). Length of Dialog window is shorter.</li>
<li>Changes in <em>Passphrase strength</em> (<code>Bip39/Bip38</code>): Adjectives changed to <em>Very Weak</em>, <em>Weak</em>, <em>Good</em>, <em>Strong</em>, <em>Very Strong</em>. Minimum bar length is now 5% (for a score of 0 / <em>Very Weak</em>).</li>
</ul>
</li>
<li><strong><code>0.4.22</code>:</strong>
<ul>
<li>Enhancement: <code>Strength</code> evaluation of <code>Bip39/Bip38 Passphrase</code> (see 5.1.7) was not enough reliable, because it was a computation of Entropy (in bits) and not taking into account the <em>guessable</em> cases (eg. <code>aaaaaa</code>, <code>123456789</code>, frequently used words used in passwords and even usage of <em>Leetspeak</em>). It has been replaced by <a href="https://www.npmjs.com/package/zxcvbn" style="color: var(--accent);"><code>zxcvbn</code></a>, a popular and much more reliable solution (it is provided by <a href="https://www.dropbox.com/" style="color: var(--accent);"><em>DropBox</em></a>).</li>
</ul>
</li>
<li><strong><code>0.4.21</code>:</strong>
<ul>
<li>Bug Fix: <code>Bip39</code> and <code>Bip38</code> changing to same color when <code>passphrase strength</code> is different.</li>
<li>Documentation Fix: Update see in 5.1.7 because this sub feature was not documented: When hovering on <code>strength adjective</code>, the strength (in bits) is displayed in an info bubble.</li>
</ul>
</li>
<li><strong><code>0.4.20</code>:</strong>
<ul>
<li>New Feature: <code>Passphrase Strength</code> for <code>Bip39/Bip38</code> (see 5.1.7).</li>
<li>Bug Fix: it was possible to input a 9 digits value in <code>account</code> and <code>address index</code> fields, which was a range of 1 billion (<code>10^9</code>) possible values for each field. Now the range is 1.000.000 ([0..999999]).</li>
<li>Documentation Fix: in 5.1.4.b. number of possible values for <code>account</code> and <code>address index</code> is now 1 million ([0..999999]).</li>
</ul>
</li>
<li><strong><code>0.4.10</code>:</strong>
<ul>
<li>Ergonomy: A <em>Progress Bar</em> is also displayed when saving a wallet with a <code>BIP38 Passphrase</code>. This is also to give a feedback to the user why it takes more time.</li>
<li>Documentation Fixes: Changes in 'BIP38' instructions (see 5.1.5). Instructions to install and run on <code>Linux</code>.</li>
<li>Icon Fix: Mirror on <code>Cryptocalc_ico.ico</code>.</li>
<li>Refactoring: <code>html_components</code> (folder for <em>Html modules</em> like <em>MenuBar</em>, <em>ToolBar</em>, <em>StatusBar</em> and <em>Dialog boxes</em>) renamed to <code>vizjets</code>. <code>js/renderer/const_renderer.js</code> moved to <code>js/view/const_gui.js</code>.</li>
</ul>
</li>
<li><strong><code>0.4.7</code>:</strong>
<ul>
<li>Bug Fix: regression in <code>Bip38</code> feature (since implementation of 'Progress Bar' as a feedback for encrypt/decrypt time). Update of <a href="https://sourceforge.net/projects/aladas-cryptocalc/" style="color: var(--accent);">Cryptocalc installer</a> on <a href="https://sourceforge.net" style="color: var(--accent);">SourceForge</a>.</li>
</ul>
</li>
<li><strong><code>0.4.6</code>:</strong>
<ul>
<li>Update of <a href="https://sourceforge.net/projects/aladas-cryptocalc/" style="color: var(--accent);">Cryptocalc installer</a> on <a href="https://sourceforge.net" style="color: var(--accent);">SourceForge</a>.</li>
</ul>
</li>
<li><strong><code>0.4.5</code>:</strong>
<ul>
<li>Updates of images: Update of screenshots. Logo images mirrored to be like a <code>Z</code> because it is the new version. This new version of the logo is also published on the <a href="https://sourceforge.net/projects/aladas-cryptocalc/" style="color: var(--accent);">SourceForge installer</a>.</li>
</ul>
</li>
<li><strong><code>0.4.4</code>:</strong>
<ul>
<li>Enhancements in <code>Bip38</code> feature: Default difficulty set to 16384 (the recommended default). A Progress bar now shows a better feedback on the time needed to encrypt / decrypt.</li>
</ul>
</li>
<li><strong><code>0.4.0</code>:</strong>
<ul>
<li>Minor Version number changed to <code>4</code> to reflect the fact that <code>Bip38</code> support is a taller "step forward". Documentation Fixes: in this document (<code>README.md</code>).</li>
</ul>
</li>
<li><strong><code>0.3.65</code>:</strong>
<ul>
<li>New Feature: Support of <code>BIP38</code> (<em>passphrase encrypted private key</em>, see 6.3.5) for an additional security layer by Encrypting the Private Key. NB: Please notice that only the first encryption method ('NON-EC') is supported (see also 5.2.2).</li>
<li>Bug Fixes: <code>Save</code> command (in <em>Main menu</em> and <em>Main Toolbar</em>) is disabled while it should be enabled. This was identified in some use cases with <code>File/New</code> followed by <code>File/Open</code>.</li>
<li>Documentation Fixes: Update, fixes and some rewrites of this document (<code>README.md</code>).</li>
<li>Refactoring: In <code>html_utils.js</code>: <code>Node</code> replaced by <code>Element</code> in all functions because it is a better terminology for HTML entities (eg. <code>INPUT</code>,'TEXTAREA', etc...). Move of <em>Model</em> related code to <code>www/js/model</code> and <em>View</em> related code to <code>www/js/view</code> (cf. <a href="https://www.geeksforgeeks.org/system-design/mvc-design-pattern/" style="color: var(--accent);"><code>MVC</code> <em>Design Pattern</em></a>) also as <code>MVC</code> may be recursive, <code>wallet_info.js</code> (which is a is <em>Model</em>) has been moved to <code>www/js/view/model</code>.</li>
<li>Usability: <code>password</code> (Bip32 / HD Wallet mode) replaced by <code>Passphrase</code> because it is a better terminology. In <code>wallet_info.txt</code>: <code>WIF</code> always provided. Order of "fields" is now predefined (see <code>js/model/wallet_inf_tmpl.js</code>). Changed Label for <code>Help/About...</code> dialog to a more consistent text ("A cryptocurrency wallet generator").</li>
</ul>
</li>
<li><strong><code>0.3.63</code>:</strong>
<ul>
<li>Fixed bug found on <code>Linux</code>: when saving, the [Show] button does nothing. Fixed a Bug found when testing the [Show] button because the output folder is showed not the <em>latest wallet subfolder</em>. Note that on <code>Linux</code>, you must also now install <code>xdg-utils</code> (see 3.2.b).</li>
</ul>
</li>
<li><strong><code>0.3.62</code>:</strong>
<ul>
<li>GUI Updates: A Label Online/Offline is now at the left of the <em>Internet connection status</em> icon. <em>Seed phrase</em> renamed to <em>Secret phrase</em> because it seems it is the more user friendly terminology (among <em>Mnemonics</em>, <em>Seed phrase</em>, <em>Secret</em>, <em>Passphrase</em> and <em>Secret Recovery Passphrase</em>). Added a link (see 5.1.18) to the whitepaper of the <em>3D representation of a Secret phrase</em>.</li>
</ul>
</li>
</ul>
</div>
<!-- SECTION 5: USER'S GUIDE -->
<div class="section" id="users-guide">
<h2>5. User's Guide</h2>
<p>You can launch <em>CryptoCalc</em> either by first installing it with the <em>CryptoCalc Standalone installer</em> (see 3.1) or by using the <code>Wizard's Lair</code> path (see 3.2): install <code>NodeJs</code>, <code>git</code> then install the <em>CryptoCalc</em> project and launch it with a double click on <code>_run_Cryptocalc_W.bat</code> (<code>W</code> means <em>Windows</em>) or <code>_run_Cryptocalc_X.sh</code> (<code>X</code> means <em>Linux</em>).</p>
<h3>5.1. Features</h3>
<h4>5.1.1. <em>Cryptocalc Standalone installer</em></h4>
<ul>
<li><strong>5.1.1.a:</strong> Download <a href="https://sourceforge.net/projects/aladas-cryptocalc/" style="color: var(--accent);">CryptoCalc installer</a>.</li>
<li><strong>5.1.1.b.</strong> Default subfolder where <em>Wallet informations</em> are saved: <code>$DEFAULT_SETUP_FOLDER\resources\app\_output</code>: Notice that this folder won't be automatically deleted if you uninstall <em>CryptoCalc</em>.</li>
</ul>
<h4>5.1.2. Generate <em>Entropy</em> from <em>Entropy Source</em></h4>
<p>Use [Generate] button to draw a random image (cf. 5.1.3) which then will be used as the <em>Entropy</em> (with the <em>Salt</em>) to generate a new <em>Secret phrase</em> (between 12 and 24 words) which is derived to get the <em>Private Key</em> from which the <em>Wallet Address</em> is obtained (NB: <em>Private Key</em> and <em>Wallet Address</em> are in the <em>Wallet</em> Tab). There is also a conversion to the <em>Shortened secret phrase</em>: as only the 4 first characters of each <em>mnemonic</em> are meaningful (cf. <code>BIP39</code> specification) then in the <em>Shortened secret phrase</em> each <em>mnemonic</em> is represented only by its 4 first characters (with the first character in Uppercase as a mean to separate <em>mnemonics</em>). NB: As some <em>mnemonics</em> are only 3 characters long, the abbreviation will of course only be whole <em>mnemonic</em>. Here is an example below:</p>
<p><em>Secret phrase</em><br>
rent expand super sea summer pull catalog mobile proud solve oven goose<br>
<em>Shortened secret phrase</em><br>
RentExpaSupeSeaSummPullCataMobiProuSolvOvenGoos<br>
NB: Please notice that the <em>Shortened Secret phrase</em> is not meant to be used to import a wallet in a <em>Wallet Manager</em>, it's only a trick to <em>compress</em> the <em>Secret phrase</em> and make it easier to store on a device with limited memory like a <code>NTAG213 NFC</code> (see 5.2.3).</p>
<h4>5.1.3. <em>Entropy Source</em> : <code>D6 Dices</code>, <code>Mouse moves</code>, <code>Image</code> or <code>Fortunes</code></h4>
<ul>
<li><code>D6 Dices</code>: default source, the number of rolls depends on <em>Entropy size</em> (e.g. 100 rolls for 256 bits).</li>
<li><code>Mouse moves</code>: entropy bytes are generated when the user moves the mouse pointer.</li>
<li><code>Images</code>: You can <em>Drag'n'Drop</em> images (<code>png</code>, <code>jpg</code> or <code>svg</code>) from your local folders. Image samples are provided in <code>www/img</code> folder. When using [Generate], <em>Cryptocurrency logos</em> are drawn from <code>www/img/CryptoCurrency</code>.</li>
<li><code>Fortunes</code>: <em>Fortune cookies</em> are drawn from a compilation of 12803 quotes.</li>
</ul>
<h4>5.1.4. Choose <em>Wallet Mode</em>: <em>Simple Wallet</em>, <em>HD Wallet</em> or <em>SWORD Wallet</em> (choice is in the <code>Wallet</code> tab page)</h4>
<ul>
<li><strong>5.1.4.a. <em>Simple Wallet</em></strong><br>
This is the default <em>Wallet Mode</em>. In this mode, each wallet is separated. (no need to understand the principles of the <em>HD Wallet Wallet Tree</em> and the purpose of the <code>Derivation Path</code> used by <em>HD Wallets</em>). So it's a good fit to <em>Give it a Try</em> and start creating your <em>Cryptocurrency Wallets</em> with minimum knowledge. On the other hand it's less secure than <em>HD Wallets</em> (especially if you use low security entropy text like your firstname, city/birth year etc.... Indeed it will be vulnerable to <a href="https://en.wikipedia.org/wiki/Dictionary_attack" style="color: var(--accent);"><em>dictionary attacks</em></a>) and it becomes clumsy if you need to split your assets between many wallets.</li>
<li><strong>5.1.4.b. <em>HD Wallet</em></strong><br>
This <em>Wallet Mode</em> allows to create / manage a whole hierarchy of Wallets (<em>HD</em> is the acronym for <em>Hierarchical Deterministic</em>) in the same <em>BIP32 tree</em>.
<blockquote style="color: var(--text-muted); border-left: 2px solid var(--accent4); padding-left: 15px; margin: 10px 0;">Please notice that the <code>Derivation Path</code> is now <code>Hardened</code> by default and mandatory (since <code>0.3.18</code>). This is for <em>Security</em> purpose (see 5.2.3).</blockquote>
The <code>BIP32</code> HD wallet tree is fully determined by the <em>Entropy</em> (or <em>Secret phrase</em> which is equivalent) and an optional <em>Password</em>. The <em>Entropy</em> may be represented by a more human friendly representation: the <em>Mnemonics Sequence</em> which may also be called a <em>Secret phrase</em>, <em>Mnemonics</em>, <em>Seed phrase</em>, <em>Secret</em> or even <em>SRP</em> (<em>Secret Recovery Passphrase</em>).
<blockquote style="color: var(--text-muted); border-left: 2px solid var(--accent4); padding-left: 15px; margin: 10px 0;">
<strong>How to Generate a new wallet with a given <em>Entropy</em>:</strong><br>
Paste a new <em>Entropy</em> (or <em>Secret phrase</em>) in the <code>Entropy</code> wallet tab. Notice that this will hide the <em>Entropy Source</em> and <em>Salt</em> fields (meaningless in this situation).<br>
You can then change either the <em>Account</em> or <em>Address Index</em> fields (the maximum number of digits is 6 so you can input a decimal value between 0 and 999999, 1.000.000 possible values for each field) in the <em>Wallet</em> tab page. This will show a [Refresh] button to recompute the wallet once you have finished.<br>
Pushing the [Refresh] button (or hitting either [Return] or [Enter] keys while the cursor is in either <em>Account</em> or <em>Address Index</em> field) will recompute the wallet address (and <em>Private key</em> or <em>WIF</em>) accordingly.
</blockquote></li>
<li><strong>5.1.4.c. <em>SWORD Wallet</em></strong><br>
<code>SWORD</code> is an acronym which means <code>Simple Wallet Over Randomized Deterministic</code>, it's a hybrid between <code>Simple Wallet</code> and <code>HD Wallet</code> because it hides the <code>Derivation Path</code> logic (which contains <code>Account</code> and <code>Address Index</code>), thus you don't need to care or understand the principles of <em>Hierarchical Deterministic</em> wallets, but it allows to generate all the cryptocurrencies provided by <code>HD Wallet</code>.</li>
<li><strong>5.1.4.d.</strong> Please notice that for <code>Cardano</code> HD wallets, the <code>Account</code> and <code>Address Index</code> parameters are not taken into account by the <em>Wallet Managers</em> which I have tested (namely <code>Guarda</code> and <code>Yoroi</code>) because they ask for the <code>Mnemonics</code> (<code>Secret phrase</code> in <em>CryptoCalc</em>). This is why in <em>CryptoCalc</em>, these parameters are <em>hard-coded</em> to Zero (for <code>Cardano</code> HD wallets only).</li>
<li><strong>5.1.4.e.</strong> You can check generated <em>HD Wallets</em> with <em>Ian Coleman BIP39</em> homepage. Its <a href="https://iancoleman.io/bip39/" style="color: var(--accent);">URL</a> is provided as an item in the <code>Help menu</code> (<code>Help/Resources/Ian Coleman BIP39</code>).</li>
</ul>
<h4>5.1.5. 'BIP38' Encryption of the <em>Private Key</em></h4>
<ul>
<li><code>BIP38</code> (<em>passphrase encrypted private key</em>, see 6.3.5) is supported for an added security layer by Encrypting the <em>Private Key</em>.</li>
<li>How to: just input a value in <code>Bip38 passphrase</code> field then use the [Save] button (or <code>File/Save</code> menu item, cf 5.1.12). This generates a <code>Bip38 Encrypted PK</code>.</li>
<li>Note 1: Notice that only the first method ('NON-EC': <em>encrypt the private Key with the passphrase</em>) is supported.</li>
<li>Note 2: Notice that the level of security is proportional to the length and complexity (diversity of characters like [A..Z][a..z][0..9] and special characters) of the <code>passphrase</code> (like with a password).</li>
<li>Note 3: A new QR code is generated (<code>Bip38 Encrypted PK</code>) as both a <code>PNG</code> file and an <code>SVG</code> file (in <code>xtras</code> subfolder of the generated wallet folder under <code>_output</code>).</li>
<li>Note 4: The <em>Private Key</em> is still provided (both in <code>wallet_info.txt</code> and as a QR code), but notice it is your responsibility to not disclose the <em>Private Key</em> (the <code>Bip38 Encrypted PK</code> may be disclosed in some use cases cf. 5.3.2).</li>
<li>Note 5: A new <em>Tool</em> (in <em>Main menu</em> : <code>Tool/Bip38 Encrypt/Decrypt</code>) is provided to decrypt the <em>Private Key</em> from the <em>Bip38 Encrypted PK</em> (or conversely encrypt the <em>Private Key</em> to the <em>Bip38 Encrypted PK</em>).</li>
</ul>
<h4>5.1.6. <em>Bip39 Passphrase feature</em> (<em>HD Wallet</em> only)</h4>
<p>The <code>Bip39 passphrase</code> is like an optional <code>password</code>. If you decide to define it, then it will generate a completely different <code>Bip32 hierarchy</code> (HD Wallet). The ergonomy has been fixed so now to input a <code>Bip39 passphrase</code> you must use the [Edit] button (a 'Pen' shape) and use the [Apply] button in order to recompute the <code>Bip32 Hierarchy</code> (which is parameterized by the <code>Bip39 passphrase</code>).</p>
<p>Note 1: Notice that you can still use the [Generate] button (a 'Circular arrow' icon) to generate the <code>Bip39 passphrase</code> and the [Clear] button (a 'Cross' shape) but they are now in the <em>Bip39 passphrase Input</em> Dialog Box.</p>
<p>Note 2: You can check that the computed <code>Wallet address</code> and <code>Private Key</code> (or <code>WIF</code>) are correct by using <a href="https://iancoleman.io/bip39/" style="color: var(--accent);">Ian Coleman Bip39</a>, just take care to provide <code>Entropy</code> then provide the <code>BIP39 Passphrase (optional)</code> (as well as <code>Account</code> and <code>Address Index</co