]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blobdiff - src/index.html
Add client select
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / src / index.html
index 860e9d044bb6a39a9c0642322c076c981aae7437..1c2ffcf776c0bbc0d09926227a7de0b4be122ea5 100644 (file)
             .card-suit.spade {
                 color: #000;
             }
+            .qr-container {
+                position: fixed;
+                top: 0;
+                right: 0;
+                text-align: center;
+                background-color: #FFF;
+                border: 1px solid #CCC;
+            }
+            .qr-image {
+                margin: 5px;
+            }
+            .qr-hint,
+            .qr-warning {
+                padding: 2px;
+                max-width: 150px;
+            }
+            .more-info {
+                cursor: help;
+                border-bottom: 1px dashed #000;
+                text-decoration: none;
+            }
         </style>
     </head>
     <body>
                                     <div class="row">
                                         <label class="col-sm-3 control-label" data-translate>Word Count</label>
                                         <div class="word-count col-sm-3 form-control-static"></div>
-                                        <label class="col-sm-3 control-label" data-translate>Total Bits</label>
+                                        <label class="col-sm-3 control-label" data-translate><span class="more-info" data-translate-title title="Total bits of entropy may be less than indicated if any entropy event uses a weak source.">Total Bits</span></label>
                                         <div class="bits col-sm-3 form-control-static"></div>
                                     </div>
                                     <label class="col-sm-3 control-label" data-translate>Filtered Entropy</label>
                         <div class="form-group">
                             <label for="phrase" class="col-sm-2 control-label" data-translate>BIP39 Mnemonic</label>
                             <div class="col-sm-10">
-                                <textarea id="phrase" class="phrase form-control"></textarea>
+                                <textarea id="phrase" class="phrase form-control" data-show-qr></textarea>
                             </div>
                         </div>
                         <div class="form-group">
                         <div class="form-group">
                             <label for="seed" class="col-sm-2 control-label" data-translate>BIP39 Seed</label>
                             <div class="col-sm-10">
-                                <textarea id="seed" class="seed form-control" readonly="readonly"></textarea>
+                                <textarea id="seed" class="seed form-control" readonly="readonly" data-show-qr></textarea>
                             </div>
                         </div>
                         <div class="form-group">
                                 </select>
                             </div>
                         </div>
+                        <div class="form-group">
+                            <label for="client-phrase" class="col-sm-2 control-label" data-translate>Client</label>
+                            <div class="col-sm-10">
+                                <select id="client-phrase" class="client form-control">
+                                    <!-- populated by javascript -->
+                                </select>
+                            </div>
+                        </div>
                         <div class="form-group">
                             <label for="root-key" class="col-sm-2 control-label" data-translate>BIP32 Root Key</label>
                             <div class="col-sm-10">
-                                <textarea id="root-key" class="root-key form-control"></textarea>
+                                <textarea id="root-key" class="root-key form-control" data-show-qr></textarea>
                             </div>
                         </div>
                     </form>
                                         <input id="change" type="text" class="change form-control" value="0">
                                     </div>
                                 </div>
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label">
+                                    </label>
+                                    <div class="col-sm-10">
+                                        <p data-translate>The account extended keys can be used for importing to most BIP44 compatible wallets, such as mycelium or electrum.</p>
+                                    </div>
+                                </div>
+                                <div class="form-group">
+                                    <label for="account-xprv" class="col-sm-2 control-label">
+                                        <span data-translate>Account Extended Private Key</span>
+                                    </label>
+                                    <div class="col-sm-10">
+                                        <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
+                                    </div>
+                                </div>
+                                <div class="form-group">
+                                    <label for="account-xpub" class="col-sm-2 control-label">
+                                        <span data-translate>Account Extended Public Key</span>
+                                    </label>
+                                    <div class="col-sm-10">
+                                        <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
+                                    </div>
+                                </div>
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label">
+                                    </label>
+                                    <div class="col-sm-10">
+                                        <p data-translate>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
+                                    </div>
+                                </div>
                                 <div class="form-group">
                                     <label for="bip44-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
                                     <div class="col-sm-10">
                                         <span data-translate>Use hardened addresses</span>
                                     </label>
                                 </div>
-                                <div class="form-group">
-                                    <label for="mycelium-path" class="col-sm-2 control-label" data-translate>Mycelium Wallet</label>
-                                    <div class="col-sm-10">
-                                        <p class="form-control no-border" data-translate-html>
-                                            <code>m/44'/0'/0'</code> generates extended keys for import / export
-                                        </p>
-                                        <p class="form-control no-border" data-translate-html>
-                                            <code>m/44'/0'/1'</code> for the next account. Continue incrementing for more accounts (most use a single account).
-                                        </p>
-                                        <p class="form-control no-border" data-translate-html>
-                                            <code>m/44'/0'/0'/0</code> generates public addresses
-                                        </p>
-                                        <p class="form-control no-border" data-translate-html>
-                                            <code>m/44'/0'/0'/1</code> generates change addresses
-                                        </p>
-                                        <p class="form-control no-border" data-translate-html>
-                                            For more info see the
-                                            <a href="http://www.mycelium.com/" target="_blank">Mycelium Wallet homepage</a>
-                                        </p>
-                                    </div>
-                                </div>
                                 <div class="form-group">
                                     <label for="core-path" class="col-sm-2 control-label" data-translate>Bitcoin Core</label>
                                     <div class="col-sm-10">
                                     </div>
                                 </div>
                                 <div class="form-group">
-                                    <label class="col-sm-2 control-label" data-translate>Block Explorers</label>
+                                    <label class="col-sm-2 control-label" data-translate>Block Explorers and other clients</label>
                                     <div class="col-sm-10">
                                         <p class="form-control no-border">
                                             <span data-translate-html>Use path <code>m/44'/0'/0'</code>.</span>
                                             <span data-translate>Can be used with</span>:
                                             <a href="https://blockchain.info/" target="_blank">blockchain.info</a>
                                         </p>
+                                        <p class="form-control no-border">
+                                            <span data-translate-html>Use path <code>m/0'/0</code>.</span>
+                                        </p>
+                                        <p class="form-control no-border">
+                                            <span data-translate>Can be used with</span>:
+                                            <a href="https://multibit.org/" target="_blank">MultiBit HD</a>
+                                        </p>
                                     </div>
                                 </div>
                             </form>
                     </div>
                     <form class="form-horizontal" role="form">
                         <div class="form-group">
-                            <label for="extended-priv-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Key</label>
+                            <label for="extended-priv-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Private Key</label>
                             <div class="col-sm-10">
-                                <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly"></textarea>
+                                <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly" data-show-qr></textarea>
                             </div>
                         </div>
                         <div class="form-group">
-                            <label for="extended-pub-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Key (addresses only)</label>
+                            <label for="extended-pub-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Public Key</label>
                             <div class="col-sm-10">
-                                <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly"></textarea>
+                                <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr></textarea>
                             </div>
                         </div>
                     </form>
                             random enough for the needs of this tool.
                         </span>
                     </p>
+                    <p>
+                        <strong><span data-translate>Do not store entropy.</span></strong>
+                    </p>
+                    <p>
+                        <span data-translate>Storing entropy (such as keeping a deck of cards in a specific shuffled order) is unreliable compared to storing a mnemonic.</span>
+                        <span data-translate>Instead of storing entropy, store the mnemonic generated from the entropy.</span>
+                        <span data-translate-html><a href="https://en.wikipedia.org/wiki/Steganography#Physical" target="_blank">Steganography</a> may be beneficial when storing the mnemonic.</span>
+                    </p>
                     <p>
                         <span data-translate-html>
                             The random mnemonic generator on this page uses a
                     <p>
                         <a href="https://bitcointalk.org/index.php?topic=311000.msg3345309#msg3345309" target="_blank" data-translate>You are not a good source of entropy.</a>
                     </p>
+                    <h3 data-translate>License</h3>
+                    <p>
+                    <span data-translate-html>Please refer to <a href="https://github.com/iancoleman/bip39/blob/master/LICENSE" target="_blank">the software license</a> for more detail.
+                    </span>
+                    </p>
+                    <p data-translate>The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.</p>
                 </div>
             </div>
 
 
         </div>
 
+        <div class="qr-container hidden">
+            <div class="qr-hint bg-primary hidden" data-translate>Click field to hide QR</div>
+            <div class="qr-hint bg-primary" data-translate>Click field to show QR</div>
+            <div class="qr-hider hidden">
+                <div class="qr-image"></div>
+                <div class="qr-warning bg-primary" data-translate>Caution: Scanner may keep history</div>
+            </div>
+        </div>
+
         <div class="feedback-container">
             <div class="feedback">Loading...</div>
         </div>
         <script type="text/template" id="address-row-template">
             <tr>
                 <td class="index"><span></span></td>
-                <td class="address"><span></span></td>
-                <td class="pubkey"><span></span></td>
-                <td class="privkey"><span></span></td>
+                <td class="address"><span data-show-qr></span></td>
+                <td class="pubkey"><span data-show-qr></span></td>
+                <td class="privkey"><span data-show-qr></span></td>
             </tr>
         </script>
         <script src="js/jquery.min.js"></script>
         <script src="js/bootstrap.min.js"></script>
         <script src="js/levenshtein.js"></script>
+        <script src="js/jquery.qrcode.min.js"></script>
         <script src="js/bitcoinjs-1-5-7.js"></script>
         <script src="js/bitcoinjs-extensions.js"></script>
         <script src="js/sjcl-bip39.js"></script>