]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blob - src/index.html
Add client select
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / src / index.html
1 <!DOCTYPE html>
2 <html>
3 <head lang="en">
4 <meta charset="utf-8" />
5 <title>BIP39 - Mnemonic Code</title>
6 <link rel="stylesheet" href="css/bootstrap.min.css">
7 <meta content="Mnemonic code for generating deterministic keys" name="description"/>
8 <meta content="width=device-width, initial-scale=1.0" name="viewport" />
9 <meta content="bitcoin mnemonic converter" name="description" />
10 <meta content="Ian Coleman" name="author" />
11
12 <style>
13 body {
14 padding-bottom: 32px;
15 }
16 .form-control[readonly] {
17 cursor: text;
18 }
19 .feedback-container {
20 position: fixed;
21 top: 0;
22 width: 100%;
23 text-align: center;
24 z-index: 4;
25 }
26 .feedback {
27 display: table;
28 padding: 0.5em 1em;
29 background-color: orange;
30 margin: 0 auto;
31 font-size: 2em;
32 color: #444;
33 border: 2px solid #555;
34 border-top: 0;
35 border-bottom-left-radius: 20px 20px;
36 border-bottom-right-radius: 20px 20px;
37 }
38 .no-border {
39 border: 0;
40 box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
41 -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
42 }
43 .phrase {
44 word-break: keep-all;
45 }
46 .generate-container .strength {
47 /* override mobile width from bootstrap */
48 width: auto!important;
49 display: inline-block;
50 }
51 .languages a {
52 padding-left: 10px;
53 }
54 .languages a:nth-of-type(1) {
55 margin-left: -12px;
56 padding-left: 0;
57 }
58 .monospace {
59 font-family: monospace;
60 }
61 .entropy-container .filtered,
62 .entropy-container .binary {
63 word-wrap: break-word;
64 }
65 .entropy-container li {
66 padding-bottom: 5px;
67 }
68 .card-suit {
69 font-size: 19px;
70 line-height: 0;
71 }
72 .card-suit.club {
73 color: #009F00;
74 }
75 .card-suit.diamond {
76 color: #3D5DC4;
77 }
78 .card-suit.heart {
79 color: #F00;
80 }
81 .card-suit.spade {
82 color: #000;
83 }
84 .qr-container {
85 position: fixed;
86 top: 0;
87 right: 0;
88 text-align: center;
89 background-color: #FFF;
90 border: 1px solid #CCC;
91 }
92 .qr-image {
93 margin: 5px;
94 }
95 .qr-hint,
96 .qr-warning {
97 padding: 2px;
98 max-width: 150px;
99 }
100 .more-info {
101 cursor: help;
102 border-bottom: 1px dashed #000;
103 text-decoration: none;
104 }
105 </style>
106 </head>
107 <body>
108 <div class="container">
109
110 <h1 class="text-center">Mnemonic Code Converter</h1>
111 <hr>
112 <div class="row">
113 <div class="col-md-12">
114 <h2>Mnemonic</h2>
115 <form class="form-horizontal" role="form">
116 <div class="form-group">
117 <div class="col-sm-2"></div>
118 <div class="col-sm-10">
119 <p data-translate>You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum).</p>
120 <p data-translate-html>
121 For more info see the
122 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a>.
123 </p>
124 </div>
125 </div>
126 <div class="form-group generate-container">
127 <label class="col-sm-2 control-label"></label>
128 <div class="col-sm-10">
129 <div class="form-inline">
130 <div class="input-group-inline">
131 <span data-translate>Generate a random mnemonic, or enter your own below</span>:
132 <button class="btn generate">Generate</button>
133 <select id="strength" class="strength form-control">
134 <option value="3">3</option>
135 <option value="6">6</option>
136 <option value="9">9</option>
137 <option value="12">12</option>
138 <option value="15" selected>15</option>
139 <option value="18">18</option>
140 <option value="21">21</option>
141 <option value="24">24</option>
142 </select>
143 <span data-translate>words</span>
144 </div>
145 </div>
146 </div>
147 </div>
148 <div class="entropy-container hidden">
149 <div class="form-group text-danger">
150 <label class="col-sm-2 control-label" data-translate>Warning</label>
151 <div class="col-sm-10 form-control-static">
152 <span data-translate>Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.</span>
153 <a href="#entropy-notes" data-translate>Read more</a>
154 </div>
155 </div>
156 <div class="form-group">
157 <label for="entropy" class="col-sm-2 control-label" data-translate>Entropy</label>
158 <div class="col-sm-7">
159 <textarea id="entropy" rows="2" class="entropy form-control" placeholder="Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards" data-translate-placeholder></textarea>
160 <div class="row">
161 <label class="col-sm-3 control-label" data-translate>Strength</label>
162 <div class="strength col-sm-3 form-control-static"></div>
163 <label class="col-sm-3 control-label" data-translate>Event Count</label>
164 <div class="event-count col-sm-3 form-control-static"></div>
165 </div>
166 <div class="row">
167 <label class="col-sm-3 control-label" data-translate>Entropy Type</label>
168 <div class="type col-sm-3 form-control-static"></div>
169 <label class="col-sm-3 control-label" data-translate>Bits Per Event</label>
170 <div class="bits-per-event col-sm-3 form-control-static"></div>
171 </div>
172 <div class="row">
173 <label class="col-sm-3 control-label" data-translate>Word Count</label>
174 <div class="word-count col-sm-3 form-control-static"></div>
175 <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>
176 <div class="bits col-sm-3 form-control-static"></div>
177 </div>
178 <label class="col-sm-3 control-label" data-translate>Filtered Entropy</label>
179 <div class="filtered col-sm-9 form-control-static"></div>
180 <label class="col-sm-3 control-label" data-translate>Raw Binary</label>
181 <div class="binary col-sm-9 form-control-static"></div>
182 <label class="col-sm-3 control-label" data-translate>Mnemonic Length</label>
183 <div class="col-sm-9">
184 <select class="mnemonic-length form-control">
185 <option value="raw" data-translate>From entropy length (3 words per 32 bits)</option>
186 <option value="12">12 <span data-translate>Words</span></option>
187 <option value="15" selected>15 <span data-translate>Words</option>
188 <option value="18">18 <span data-translate>Words</span></option>
189 <option value="21">21 <span data-translate>Words</span></option>
190 <option value="24">24 <span data-translate>Words</span></option>
191 </select>
192 </div>
193 </div>
194 <div class="col-sm-3">
195 <p data-translate>Valid entropy values include:</p>
196 <ul>
197 <li><strong data-translate>Binary</strong> [0-1]<br>101010011</li>
198 <li><strong data-translate>Base 6</strong> [0-5]<br>123434014</li>
199 <li><strong data-translate>Dice</strong> [1-6]<br>62535634</li>
200 <li><strong data-translate>Base 10</strong> [0-9]<br>90834528</li>
201 <li><strong data-translate>Hex</strong> [0-9A-F]<br>4187a8bfd9</li>
202 <li><strong data-translate>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc</li>
203 </ul>
204 </div>
205 </div>
206 </div>
207 <div class="form-group">
208 <div class="col-sm-2"></div>
209 <div class="col-sm-10 checkbox">
210 <label>
211 <input type="checkbox" class="use-entropy">
212 <span data-translate>Supply my own source of entropy</span>
213 </label>
214 </div>
215 </div>
216 <div class="form-group">
217 <label class="col-sm-2 control-label" data-translate>Mnemonic Language</label>
218 <div class="col-sm-10 languages">
219 <div class="form-control no-border">
220 <a href="#english">English</a>
221 <a href="#japanese" title="Japanese">日本語</a>
222 <a href="#spanish" title="Spanish">Español</a>
223 <a href="#chinese_simplified" title="Chinese (Simplified)">中文(简体)</a>
224 <a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
225 <a href="#french" title="French">Français</a>
226 <a href="#italian" title="Italian">Italiano</a>
227 </div>
228 </div>
229 </div>
230 <div class="form-group">
231 <label for="phrase" class="col-sm-2 control-label" data-translate>BIP39 Mnemonic</label>
232 <div class="col-sm-10">
233 <textarea id="phrase" class="phrase form-control" data-show-qr></textarea>
234 </div>
235 </div>
236 <div class="form-group">
237 <label for="passphrase" class="col-sm-2 control-label" data-translate>BIP39 Passphrase (optional)</label>
238 <div class="col-sm-10">
239 <textarea id="passphrase" class="passphrase form-control"></textarea>
240 </div>
241 </div>
242 <div class="form-group">
243 <label for="seed" class="col-sm-2 control-label" data-translate>BIP39 Seed</label>
244 <div class="col-sm-10">
245 <textarea id="seed" class="seed form-control" readonly="readonly" data-show-qr></textarea>
246 </div>
247 </div>
248 <div class="form-group">
249 <label for="network-phrase" class="col-sm-2 control-label" data-translate>Coin</label>
250 <div class="col-sm-10">
251 <select id="network-phrase" class="network form-control">
252 <!-- populated by javascript -->
253 </select>
254 </div>
255 </div>
256 <div class="form-group">
257 <label for="client-phrase" class="col-sm-2 control-label" data-translate>Client</label>
258 <div class="col-sm-10">
259 <select id="client-phrase" class="client form-control">
260 <!-- populated by javascript -->
261 </select>
262 </div>
263 </div>
264 <div class="form-group">
265 <label for="root-key" class="col-sm-2 control-label" data-translate>BIP32 Root Key</label>
266 <div class="col-sm-10">
267 <textarea id="root-key" class="root-key form-control" data-show-qr></textarea>
268 </div>
269 </div>
270 </form>
271 </div>
272 </div>
273
274 <hr>
275
276 <div class="row">
277 <div class="col-md-12">
278 <h2>Derivation Path</h2>
279 <ul class="derivation-type nav nav-tabs" role="tablist">
280 <li id="bip44-tab" class="active">
281 <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
282 </li>
283 <li id="bip32-tab">
284 <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
285 </li>
286 </ul>
287 <div class="derivation-type tab-content">
288 <div id="bip44" class="tab-pane active">
289 <form class="form-horizontal" role="form">
290 <br>
291 <div class="col-sm-2"></div>
292 <div class="col-sm-10">
293 <p data-translate-html>
294 For more info see the
295 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a>.
296 </p>
297 </div>
298 <div class="form-group">
299 <label for="purpose" class="col-sm-2 control-label">
300 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank" data-translate>Purpose</a>
301 </label>
302 <div class="col-sm-10">
303 <input id="purpose" type="text" class="purpose form-control" value="44">
304 </div>
305 </div>
306 <div class="form-group">
307 <label for="coin" class="col-sm-2 control-label">
308 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank" data-translate>Coin</a>
309 </label>
310 <div class="col-sm-10">
311 <input id="coin" type="text" class="coin form-control" value="0">
312 </div>
313 </div>
314 <div class="form-group">
315 <label for="account" class="col-sm-2 control-label">
316 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank" data-translate>Account</a>
317 </label>
318 <div class="col-sm-10">
319 <input id="account" type="text" class="account form-control" value="0">
320 </div>
321 </div>
322 <div class="form-group">
323 <label for="change" class="col-sm-2 control-label">
324 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank" data-translate>External / Internal</a>
325 </label>
326 <div class="col-sm-10">
327 <input id="change" type="text" class="change form-control" value="0">
328 </div>
329 </div>
330 <div class="form-group">
331 <label class="col-sm-2 control-label">
332 </label>
333 <div class="col-sm-10">
334 <p data-translate>The account extended keys can be used for importing to most BIP44 compatible wallets, such as mycelium or electrum.</p>
335 </div>
336 </div>
337 <div class="form-group">
338 <label for="account-xprv" class="col-sm-2 control-label">
339 <span data-translate>Account Extended Private Key</span>
340 </label>
341 <div class="col-sm-10">
342 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
343 </div>
344 </div>
345 <div class="form-group">
346 <label for="account-xpub" class="col-sm-2 control-label">
347 <span data-translate>Account Extended Public Key</span>
348 </label>
349 <div class="col-sm-10">
350 <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
351 </div>
352 </div>
353 <div class="form-group">
354 <label class="col-sm-2 control-label">
355 </label>
356 <div class="col-sm-10">
357 <p data-translate>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
358 </div>
359 </div>
360 <div class="form-group">
361 <label for="bip44-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
362 <div class="col-sm-10">
363 <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly">
364 </div>
365 </div>
366 </form>
367 </div>
368 <div id="bip32" class="tab-pane">
369 <form class="form-horizontal" role="form">
370 <br>
371 <div class="col-sm-2"></div>
372 <div class="col-sm-10">
373 <p data-translate>
374 For more info see the
375 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a>
376 </p>
377 </div>
378 <div class="form-group">
379 <label for="bip32-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
380 <div class="col-sm-10">
381 <input id="bip32-path" type="text" class="path form-control" value="m/0">
382 </div>
383 </div>
384 <div class="form-group">
385 <div class="col-sm-2"></div>
386 <label class="col-sm-10">
387 <input class="hardened-addresses" type="checkbox">
388 <span data-translate>Use hardened addresses</span>
389 </label>
390 </div>
391 <div class="form-group">
392 <label for="core-path" class="col-sm-2 control-label" data-translate>Bitcoin Core</label>
393 <div class="col-sm-10">
394 <p class="form-control no-border" data-translate-html>
395 Use path <code>m/0'/0'</code> with hardened addresses.
396 </p>
397 <p class="form-control no-border" data-translate-html>
398 For more info see the
399 <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a>
400 </p>
401 </div>
402 </div>
403 <div class="form-group">
404 <label class="col-sm-2 control-label" data-translate>Block Explorers and other clients</label>
405 <div class="col-sm-10">
406 <p class="form-control no-border">
407 <span data-translate-html>Use path <code>m/44'/0'/0'</code>.</span>
408 <span data-translate-html>Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.</span>
409 </p>
410 <p class="form-control no-border">
411 <span data-translate>Can be used with</span>:
412 <a href="https://blockchain.info/" target="_blank">blockchain.info</a>
413 </p>
414 <p class="form-control no-border">
415 <span data-translate-html>Use path <code>m/0'/0</code>.</span>
416 </p>
417 <p class="form-control no-border">
418 <span data-translate>Can be used with</span>:
419 <a href="https://multibit.org/" target="_blank">MultiBit HD</a>
420 </p>
421 </div>
422 </div>
423 </form>
424 </div>
425 </div>
426 <form class="form-horizontal" role="form">
427 <div class="form-group">
428 <label for="extended-priv-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Private Key</label>
429 <div class="col-sm-10">
430 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly" data-show-qr></textarea>
431 </div>
432 </div>
433 <div class="form-group">
434 <label for="extended-pub-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Public Key</label>
435 <div class="col-sm-10">
436 <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr></textarea>
437 </div>
438 </div>
439 </form>
440 </div>
441 </div>
442
443 <hr>
444
445 <div class="row">
446 <div class="col-md-12">
447 <h2>Derived Addresses</h2>
448 <p data-translate>Note these addreses are derived from the BIP32 Extended Key</p>
449 <table class="table table-striped">
450 <thead>
451 <th>
452 <div class="input-group">
453 <span data-translate>Path</span>&nbsp;&nbsp;
454 <button class="index-toggle" data-translate>Toggle</button>
455 </div>
456 </th>
457 <th>
458 <div class="input-group">
459 <span data-translate>Address</span>&nbsp;&nbsp;
460 <button class="address-toggle" data-translate>Toggle</button>
461 </div>
462 </th>
463 <th>
464 <div class="input-group">
465 <span data-translate>Public Key</span>&nbsp;&nbsp;
466 <button class="public-key-toggle" data-translate>Toggle</button>
467 </div>
468 </th>
469 <th>
470 <div class="input-group">
471 <span data-translate>Private Key</span>&nbsp;&nbsp;
472 <button class="private-key-toggle" data-translate>Toggle</button>
473 </div>
474 </th>
475 </thead>
476 <tbody class="addresses monospace">
477 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
478 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
479 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
480 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
481 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
482 </tbody>
483 </table>
484 </div>
485 </div>
486 <span data-translate>Show more rows</span>:
487 <input type="number" class="rows-to-add" value="20">
488 <button class="more" data-translate>Show</button>
489
490 <hr>
491
492 <div class="row">
493 <div class="col-md-12">
494 <h2 data-translate>More info</h2>
495 <h3>BIP39 <span class="small" data-translate>Mnemonic code for generating deterministic keys</span></h3>
496 <p data-translate-html>
497 Read more at the
498 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a>
499 </p>
500 <h3>BIP32 <span class="small" data-translate>Hierarchical Deterministic Wallets</span></h3>
501 <p data-translate-html>
502 Read more at the
503 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a>
504 </p>
505 <p data-translate-html>
506 See the demo at
507 <a href="http://bip32.org/" target="_blank">bip32.org</a>
508 </p>
509 <h3>BIP44 <span class="small" data-translate>Multi-Account Hierarchy for Deterministic Wallets</span></h3>
510 <p data-translate-html>
511 Read more at the
512 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a>
513 </p>
514 <h3 data-translate>Private Keys</h3>
515 <p>
516 <span data-translate-html>
517 Use private keys at
518 <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>.
519 </span>
520 <span data-translate>Be careful - it can be easy to make mistakes if you don't know what you're doing.</span>
521 </p>
522 <h3 id="entropy-notes" data-translate>Entropy</h3>
523 <p>
524 <span data-translate-html>
525 Entropy values must be sourced from a
526 <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>.
527 </span>
528 <span data-translate>This means flipping a fair coin, rolling a fair dice, noise measurements etc.</span>
529 <span data-translate-html>
530 Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address,
531 keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't
532 random enough for the needs of this tool.
533 </span>
534 </p>
535 <p>
536 <strong><span data-translate>Do not store entropy.</span></strong>
537 </p>
538 <p>
539 <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>
540 <span data-translate>Instead of storing entropy, store the mnemonic generated from the entropy.</span>
541 <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>
542 </p>
543 <p>
544 <span data-translate-html>
545 The random mnemonic generator on this page uses a
546 <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>.
547 </span>
548 <span data-translate>The built in random generator can generally be trusted more than your own intuition about randomness.</span>
549 <span data-translate>If cryptographic randomness isn't available in your browser, this page will show a warning and the generate button will not work.</span>
550 <span data-translate>In that case you might choose to use your own source of entropy.</span>
551 </p>
552 <p>
553 <a href="https://bitcointalk.org/index.php?topic=311000.msg3345309#msg3345309" target="_blank" data-translate>You are not a good source of entropy.</a>
554 </p>
555 <h3 data-translate>License</h3>
556 <p>
557 <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.
558 </span>
559 </p>
560 <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>
561 </div>
562 </div>
563
564 <hr>
565
566 <div class="row">
567 <div class="col-md-12">
568
569 <h2 data-translate>Offline Usage</h2>
570
571 <p data-translate>
572 You can use this tool without having to be online.
573 </p>
574 <p data-translate>
575 In your browser, select file save-as, and save this page
576 as a file.
577 </p>
578 <p data-translate>
579 Double-click that file to open it in a browser
580 on any offline computer.
581 </p>
582 <p>
583 <span data-translate>Alternatively, download the file from the repository</span>
584 -
585 <a href="https://github.com/iancoleman/bip39">https://github.com/iancoleman/bip39</a>
586 </p>
587
588 </div>
589 </div>
590
591 <hr>
592
593 <div class="row">
594 <div class="col-md-12">
595
596 <h2 data-translate>This project is 100% open-source code</h2>
597
598 <p>
599 <span data-translate>Get the source code from the repository</span>
600 -
601 <a href="https://github.com/iancoleman/bip39" target="_blank">
602 https://github.com/iancoleman/bip39
603 </a>
604 </p>
605
606 <h3 data-translate>Libraries</h3>
607
608 <p>
609 <span>BitcoinJS - </span>
610 <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank">
611 https://github.com/bitcoinjs/bitcoinjs-lib
612 </a>
613 </p>
614
615 <p>
616 <span>jsBIP39 - </span>
617 <a href="https://github.com/iancoleman/jsbip39" target="_blank">
618 https://github.com/iancoleman/jsbip39
619 </a>
620 </p>
621
622 <p>
623 <span>sjcl - </span>
624 <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank">
625 https://github.com/bitwiseshiftleft/sjcl
626 </a>
627 </p>
628
629 <p>
630 <span>jQuery - </span>
631 <a href="https://jquery.com/" target="_blank">
632 https://jquery.com/
633 </a>
634 </p>
635
636 <p>
637 <span>Twitter Bootstrap - </span>
638 <a href="http://getbootstrap.com/" target="_blank">
639 http://getbootstrap.com/
640 </a>
641 </p>
642
643 </div>
644 </div>
645
646 </div>
647
648 <div class="qr-container hidden">
649 <div class="qr-hint bg-primary hidden" data-translate>Click field to hide QR</div>
650 <div class="qr-hint bg-primary" data-translate>Click field to show QR</div>
651 <div class="qr-hider hidden">
652 <div class="qr-image"></div>
653 <div class="qr-warning bg-primary" data-translate>Caution: Scanner may keep history</div>
654 </div>
655 </div>
656
657 <div class="feedback-container">
658 <div class="feedback">Loading...</div>
659 </div>
660
661 <script type="text/template" id="address-row-template">
662 <tr>
663 <td class="index"><span></span></td>
664 <td class="address"><span data-show-qr></span></td>
665 <td class="pubkey"><span data-show-qr></span></td>
666 <td class="privkey"><span data-show-qr></span></td>
667 </tr>
668 </script>
669 <script src="js/jquery.min.js"></script>
670 <script src="js/bootstrap.min.js"></script>
671 <script src="js/levenshtein.js"></script>
672 <script src="js/jquery.qrcode.min.js"></script>
673 <script src="js/bitcoinjs-1-5-7.js"></script>
674 <script src="js/bitcoinjs-extensions.js"></script>
675 <script src="js/sjcl-bip39.js"></script>
676 <script src="js/translate.js"></script>
677 <script src="js/phrases_en.js"></script>
678 <script src="js/wordlist_english.js"></script>
679 <script src="js/wordlist_japanese.js"></script>
680 <script src="js/wordlist_spanish.js"></script>
681 <script src="js/wordlist_chinese_simplified.js"></script>
682 <script src="js/wordlist_chinese_traditional.js"></script>
683 <script src="js/wordlist_french.js"></script>
684 <script src="js/wordlist_italian.js"></script>
685 <script src="js/jsbip39.js"></script>
686 <script src="js/biginteger.js"></script>
687 <script src="js/zxcvbn.js"></script>
688 <script src="js/entropy.js"></script>
689 <script src="js/index.js"></script>
690 </body>
691 </html>