]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blame - src/index.html
Client select has 'custom derivation path' option
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / src / index.html
CommitLineData
ebd8d4e8
IC
1<!DOCTYPE html>
2<html>
3 <head lang="en">
4 <meta charset="utf-8" />
5 <title>BIP39 - Mnemonic Code</title>
cee442b1 6 <link rel="stylesheet" href="css/bootstrap.min.css">
ebd8d4e8
IC
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" />
b630f83d 10 <meta content="Ian Coleman" name="author" />
ebd8d4e8
IC
11
12 <style>
f52dcdbd
IC
13 body {
14 padding-bottom: 32px;
15 }
d198865f
IC
16 .form-control[readonly] {
17 cursor: text;
dd566a1e 18 }
ebd8d4e8
IC
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 }
55a9e51a
IC
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 }
5ee7bb9e
IC
43 .phrase {
44 word-break: keep-all;
45 }
0a84fe6a 46 .generate-container .strength {
b0818b31
IC
47 /* override mobile width from bootstrap */
48 width: auto!important;
49 display: inline-block;
50 }
60599f7a 51 .languages a {
7c31e3cd
IC
52 padding-left: 10px;
53 }
60599f7a
IC
54 .languages a:nth-of-type(1) {
55 margin-left: -12px;
56 padding-left: 0;
57 }
d737abf6
IC
58 .monospace {
59 font-family: monospace;
60 }
0a84fe6a
IC
61 .entropy-container .filtered,
62 .entropy-container .binary {
63 word-wrap: break-word;
64 }
65 .entropy-container li {
66 padding-bottom: 5px;
67 }
b54c1218 68 .card-suit {
b2d61f56 69 font-size: 19px;
b54c1218
IC
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 }
e00964cc
IC
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 }
97811c29
IC
95 .qr-hint,
96 .qr-warning {
e00964cc 97 padding: 2px;
97811c29 98 max-width: 150px;
e00964cc 99 }
e5abab42
IC
100 .more-info {
101 cursor: help;
102 border-bottom: 1px dashed #000;
103 text-decoration: none;
104 }
ebd8d4e8
IC
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">
d4779799 114 <h2>Mnemonic</h2>
ebd8d4e8 115 <form class="form-horizontal" role="form">
ebd8d4e8 116 <div class="form-group">
c6624d51
IC
117 <div class="col-sm-2"></div>
118 <div class="col-sm-10">
60599f7a
IC
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>
c6624d51
IC
124 </div>
125 </div>
126 <div class="form-group generate-container">
b0818b31 127 <label class="col-sm-2 control-label"></label>
ebd8d4e8 128 <div class="col-sm-10">
b0818b31
IC
129 <div class="form-inline">
130 <div class="input-group-inline">
60599f7a 131 <span data-translate>Generate a random mnemonic, or enter your own below</span>:
b0818b31 132 <button class="btn generate">Generate</button>
b0818b31
IC
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>
60599f7a 143 <span data-translate>words</span>
b0818b31
IC
144 </div>
145 </div>
ebd8d4e8 146 </div>
7c31e3cd 147 </div>
c6624d51 148 <div class="entropy-container hidden">
0a84fe6a 149 <div class="form-group text-danger">
60599f7a 150 <label class="col-sm-2 control-label" data-translate>Warning</label>
0a84fe6a 151 <div class="col-sm-10 form-control-static">
60599f7a
IC
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>
439f0e25 154 </div>
1cf1bbaf 155 </div>
0a84fe6a 156 <div class="form-group">
60599f7a 157 <label for="entropy" class="col-sm-2 control-label" data-translate>Entropy</label>
0a84fe6a 158 <div class="col-sm-7">
60599f7a 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>
a3a61b68 160 <div class="row">
60599f7a 161 <label class="col-sm-3 control-label" data-translate>Strength</label>
a3a61b68 162 <div class="strength col-sm-3 form-control-static"></div>
60599f7a 163 <label class="col-sm-3 control-label" data-translate>Event Count</label>
a3a61b68
IC
164 <div class="event-count col-sm-3 form-control-static"></div>
165 </div>
166 <div class="row">
60599f7a 167 <label class="col-sm-3 control-label" data-translate>Entropy Type</label>
a3a61b68 168 <div class="type col-sm-3 form-control-static"></div>
60599f7a 169 <label class="col-sm-3 control-label" data-translate>Bits Per Event</label>
a3a61b68
IC
170 <div class="bits-per-event col-sm-3 form-control-static"></div>
171 </div>
172 <div class="row">
60599f7a 173 <label class="col-sm-3 control-label" data-translate>Word Count</label>
a3a61b68 174 <div class="word-count col-sm-3 form-control-static"></div>
e5abab42 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>
a3a61b68
IC
176 <div class="bits col-sm-3 form-control-static"></div>
177 </div>
60599f7a 178 <label class="col-sm-3 control-label" data-translate>Filtered Entropy</label>
0a84fe6a 179 <div class="filtered col-sm-9 form-control-static"></div>
60599f7a 180 <label class="col-sm-3 control-label" data-translate>Raw Binary</label>
0a84fe6a 181 <div class="binary col-sm-9 form-control-static"></div>
60599f7a 182 <label class="col-sm-3 control-label" data-translate>Mnemonic Length</label>
0a84fe6a 183 <div class="col-sm-9">
1cf1bbaf 184 <select class="mnemonic-length form-control">
5ed50bd9 185 <option value="raw" selected data-translate>Use Raw Entropy (3 words per 32 bits)</option>
60599f7a 186 <option value="12">12 <span data-translate>Words</span></option>
5ed50bd9 187 <option value="15">15 <span data-translate>Words</option>
60599f7a
IC
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>
1cf1bbaf 191 </select>
c6624d51 192 </div>
1cf1bbaf 193 </div>
0a84fe6a 194 <div class="col-sm-3">
60599f7a 195 <p data-translate>Valid entropy values include:</p>
0a84fe6a 196 <ul>
60599f7a
IC
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>
0a84fe6a
IC
203 </ul>
204 </div>
c6624d51
IC
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">
60599f7a 212 <span data-translate>Supply my own source of entropy</span>
c6624d51
IC
213 </label>
214 </div>
215 </div>
216 <div class="form-group">
60599f7a 217 <label class="col-sm-2 control-label" data-translate>Mnemonic Language</label>
7c31e3cd 218 <div class="col-sm-10 languages">
60599f7a
IC
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>
7c31e3cd 228 </div>
ebd8d4e8
IC
229 </div>
230 <div class="form-group">
60599f7a 231 <label for="phrase" class="col-sm-2 control-label" data-translate>BIP39 Mnemonic</label>
ebd8d4e8 232 <div class="col-sm-10">
e00964cc 233 <textarea id="phrase" class="phrase form-control" data-show-qr></textarea>
ebd8d4e8
IC
234 </div>
235 </div>
1abcc511 236 <div class="form-group">
60599f7a 237 <label for="passphrase" class="col-sm-2 control-label" data-translate>BIP39 Passphrase (optional)</label>
1abcc511
PR
238 <div class="col-sm-10">
239 <textarea id="passphrase" class="passphrase form-control"></textarea>
240 </div>
241 </div>
3e0ed16a 242 <div class="form-group">
60599f7a 243 <label for="seed" class="col-sm-2 control-label" data-translate>BIP39 Seed</label>
3e0ed16a 244 <div class="col-sm-10">
e00964cc 245 <textarea id="seed" class="seed form-control" readonly="readonly" data-show-qr></textarea>
3e0ed16a
KK
246 </div>
247 </div>
4d457a38 248 <div class="form-group">
60599f7a 249 <label for="network-phrase" class="col-sm-2 control-label" data-translate>Coin</label>
4d457a38
IC
250 <div class="col-sm-10">
251 <select id="network-phrase" class="network form-control">
7f15cb6e 252 <!-- populated by javascript -->
4d457a38
IC
253 </select>
254 </div>
255 </div>
ebd8d4e8 256 <div class="form-group">
60599f7a 257 <label for="root-key" class="col-sm-2 control-label" data-translate>BIP32 Root Key</label>
ebd8d4e8 258 <div class="col-sm-10">
e00964cc 259 <textarea id="root-key" class="root-key form-control" data-show-qr></textarea>
ebd8d4e8
IC
260 </div>
261 </div>
262 </form>
263 </div>
264 </div>
265
266 <hr>
267
268 <div class="row">
269 <div class="col-md-12">
270 <h2>Derivation Path</h2>
271 <ul class="derivation-type nav nav-tabs" role="tablist">
55a9e51a 272 <li id="bip44-tab" class="active">
23d4a0f1
IC
273 <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
274 </li>
3b40653f 275 <li id="bip32-tab">
23d4a0f1
IC
276 <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
277 </li>
ebd8d4e8
IC
278 </ul>
279 <div class="derivation-type tab-content">
55a9e51a 280 <div id="bip44" class="tab-pane active">
ebd8d4e8
IC
281 <form class="form-horizontal" role="form">
282 <br>
283 <div class="col-sm-2"></div>
284 <div class="col-sm-10">
60599f7a
IC
285 <p data-translate-html>
286 For more info see the
287 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a>.
288 </p>
ebd8d4e8
IC
289 </div>
290 <div class="form-group">
291 <label for="purpose" class="col-sm-2 control-label">
60599f7a 292 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank" data-translate>Purpose</a>
ebd8d4e8
IC
293 </label>
294 <div class="col-sm-10">
295 <input id="purpose" type="text" class="purpose form-control" value="44">
296 </div>
297 </div>
298 <div class="form-group">
299 <label for="coin" class="col-sm-2 control-label">
60599f7a 300 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank" data-translate>Coin</a>
ebd8d4e8
IC
301 </label>
302 <div class="col-sm-10">
303 <input id="coin" type="text" class="coin form-control" value="0">
304 </div>
305 </div>
306 <div class="form-group">
307 <label for="account" class="col-sm-2 control-label">
60599f7a 308 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank" data-translate>Account</a>
ebd8d4e8
IC
309 </label>
310 <div class="col-sm-10">
311 <input id="account" type="text" class="account form-control" value="0">
312 </div>
313 </div>
314 <div class="form-group">
315 <label for="change" class="col-sm-2 control-label">
60599f7a 316 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank" data-translate>External / Internal</a>
ebd8d4e8
IC
317 </label>
318 <div class="col-sm-10">
319 <input id="change" type="text" class="change form-control" value="0">
320 </div>
321 </div>
c554e6ff
IC
322 <div class="form-group">
323 <label class="col-sm-2 control-label">
324 </label>
325 <div class="col-sm-10">
f3bfd2a5 326 <p data-translate>The account extended keys can be used for importing to most BIP44 compatible wallets, such as mycelium or electrum.</p>
c554e6ff
IC
327 </div>
328 </div>
329 <div class="form-group">
330 <label for="account-xprv" class="col-sm-2 control-label">
331 <span data-translate>Account Extended Private Key</span>
332 </label>
333 <div class="col-sm-10">
334 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
335 </div>
336 </div>
337 <div class="form-group">
338 <label for="account-xpub" class="col-sm-2 control-label">
339 <span data-translate>Account Extended Public Key</span>
340 </label>
341 <div class="col-sm-10">
342 <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
343 </div>
344 </div>
345 <div class="form-group">
346 <label class="col-sm-2 control-label">
347 </label>
348 <div class="col-sm-10">
349 <p data-translate>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
350 </div>
351 </div>
ebd8d4e8 352 <div class="form-group">
60599f7a 353 <label for="bip44-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
ebd8d4e8 354 <div class="col-sm-10">
d198865f 355 <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly">
ebd8d4e8
IC
356 </div>
357 </div>
358 </form>
359 </div>
360 <div id="bip32" class="tab-pane">
361 <form class="form-horizontal" role="form">
362 <br>
363 <div class="col-sm-2"></div>
364 <div class="col-sm-10">
60599f7a
IC
365 <p data-translate>
366 For more info see the
367 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a>
368 </p>
ebd8d4e8 369 </div>
a2e3e819 370 <div class="form-group">
29bf60f5 371 <label for="bip32-client" class="col-sm-2 control-label" data-translate>Client</label>
a2e3e819 372 <div class="col-sm-10">
29bf60f5
IC
373 <select id="bip32-client" class="client form-control">
374 <option value="custom">Custom derivation path</option>
a2e3e819
IC
375 <!-- populated by javascript -->
376 </select>
377 </div>
378 </div>
ebd8d4e8 379 <div class="form-group">
60599f7a 380 <label for="bip32-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
ebd8d4e8
IC
381 <div class="col-sm-10">
382 <input id="bip32-path" type="text" class="path form-control" value="m/0">
383 </div>
384 </div>
146e089e
IC
385 <div class="form-group">
386 <div class="col-sm-2"></div>
387 <label class="col-sm-10">
388 <input class="hardened-addresses" type="checkbox">
60599f7a 389 <span data-translate>Use hardened addresses</span>
146e089e
IC
390 </label>
391 </div>
8786746b 392 <div class="form-group">
60599f7a 393 <label for="core-path" class="col-sm-2 control-label" data-translate>Bitcoin Core</label>
8786746b 394 <div class="col-sm-10">
60599f7a 395 <p class="form-control no-border" data-translate-html>
8786746b 396 Use path <code>m/0'/0'</code> with hardened addresses.
ea12c8a9 397 </p>
60599f7a
IC
398 <p class="form-control no-border" data-translate-html>
399 For more info see the
400 <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a>
8786746b
IC
401 </p>
402 </div>
403 </div>
aa51da11 404 <div class="form-group">
3f363a42 405 <label class="col-sm-2 control-label" data-translate>Block Explorers and other clients</label>
aa51da11
IC
406 <div class="col-sm-10">
407 <p class="form-control no-border">
60599f7a
IC
408 <span data-translate-html>Use path <code>m/44'/0'/0'</code>.</span>
409 <span data-translate-html>Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.</span>
ea12c8a9
IC
410 </p>
411 <p class="form-control no-border">
60599f7a
IC
412 <span data-translate>Can be used with</span>:
413 <a href="https://blockchain.info/" target="_blank">blockchain.info</a>
aa51da11 414 </p>
3f363a42
AG
415 <p class="form-control no-border">
416 <span data-translate-html>Use path <code>m/0'/0</code>.</span>
417 </p>
418 <p class="form-control no-border">
419 <span data-translate>Can be used with</span>:
420 <a href="https://multibit.org/" target="_blank">MultiBit HD</a>
421 </p>
aa51da11
IC
422 </div>
423 </div>
ebd8d4e8
IC
424 </form>
425 </div>
426 </div>
427 <form class="form-horizontal" role="form">
428 <div class="form-group">
c554e6ff 429 <label for="extended-priv-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Private Key</label>
ebd8d4e8 430 <div class="col-sm-10">
e00964cc 431 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly" data-show-qr></textarea>
ebd8d4e8
IC
432 </div>
433 </div>
434 <div class="form-group">
c554e6ff 435 <label for="extended-pub-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Public Key</label>
ebd8d4e8 436 <div class="col-sm-10">
e00964cc 437 <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr></textarea>
ebd8d4e8
IC
438 </div>
439 </div>
440 </form>
441 </div>
442 </div>
443
444 <hr>
445
446 <div class="row">
447 <div class="col-md-12">
448 <h2>Derived Addresses</h2>
60599f7a 449 <p data-translate>Note these addreses are derived from the BIP32 Extended Key</p>
ebd8d4e8
IC
450 <table class="table table-striped">
451 <thead>
452 <th>
453 <div class="input-group">
60599f7a
IC
454 <span data-translate>Path</span>&nbsp;&nbsp;
455 <button class="index-toggle" data-translate>Toggle</button>
ebd8d4e8
IC
456 </div>
457 </th>
458 <th>
459 <div class="input-group">
60599f7a
IC
460 <span data-translate>Address</span>&nbsp;&nbsp;
461 <button class="address-toggle" data-translate>Toggle</button>
ebd8d4e8
IC
462 </div>
463 </th>
1b12b2f5
IC
464 <th>
465 <div class="input-group">
60599f7a
IC
466 <span data-translate>Public Key</span>&nbsp;&nbsp;
467 <button class="public-key-toggle" data-translate>Toggle</button>
1b12b2f5
IC
468 </div>
469 </th>
ebd8d4e8
IC
470 <th>
471 <div class="input-group">
60599f7a
IC
472 <span data-translate>Private Key</span>&nbsp;&nbsp;
473 <button class="private-key-toggle" data-translate>Toggle</button>
ebd8d4e8
IC
474 </div>
475 </th>
476 </thead>
d737abf6 477 <tbody class="addresses monospace">
a0a19620
IC
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 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
ebd8d4e8
IC
483 </tbody>
484 </table>
485 </div>
486 </div>
60599f7a 487 <span data-translate>Show more rows</span>:
ebd8d4e8 488 <input type="number" class="rows-to-add" value="20">
60599f7a 489 <button class="more" data-translate>Show</button>
ebd8d4e8
IC
490
491 <hr>
492
493 <div class="row">
494 <div class="col-md-12">
60599f7a
IC
495 <h2 data-translate>More info</h2>
496 <h3>BIP39 <span class="small" data-translate>Mnemonic code for generating deterministic keys</span></h3>
497 <p data-translate-html>
ebd8d4e8
IC
498 Read more at the
499 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a>
500 </p>
60599f7a
IC
501 <h3>BIP32 <span class="small" data-translate>Hierarchical Deterministic Wallets</span></h3>
502 <p data-translate-html>
ebd8d4e8
IC
503 Read more at the
504 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a>
60599f7a
IC
505 </p>
506 <p data-translate-html>
507 See the demo at
ebd8d4e8
IC
508 <a href="http://bip32.org/" target="_blank">bip32.org</a>
509 </p>
60599f7a
IC
510 <h3>BIP44 <span class="small" data-translate>Multi-Account Hierarchy for Deterministic Wallets</span></h3>
511 <p data-translate-html>
ebd8d4e8
IC
512 Read more at the
513 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a>
514 </p>
60599f7a 515 <h3 data-translate>Private Keys</h3>
ebd8d4e8 516 <p>
60599f7a
IC
517 <span data-translate-html>
518 Use private keys at
519 <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>.
520 </span>
521 <span data-translate>Be careful - it can be easy to make mistakes if you don't know what you're doing.</span>
ebd8d4e8 522 </p>
60599f7a 523 <h3 id="entropy-notes" data-translate>Entropy</h3>
c6624d51 524 <p>
60599f7a
IC
525 <span data-translate-html>
526 Entropy values must be sourced from a
527 <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>.
528 </span>
529 <span data-translate>This means flipping a fair coin, rolling a fair dice, noise measurements etc.</span>
530 <span data-translate-html>
531 Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address,
532 keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't
533 random enough for the needs of this tool.
534 </span>
c6624d51 535 </p>
bf9bdfd2
IC
536 <p>
537 <strong><span data-translate>Do not store entropy.</span></strong>
538 </p>
539 <p>
540 <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>
541 <span data-translate>Instead of storing entropy, store the mnemonic generated from the entropy.</span>
542 <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>
543 </p>
c6624d51 544 <p>
60599f7a
IC
545 <span data-translate-html>
546 The random mnemonic generator on this page uses a
547 <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>.
548 </span>
549 <span data-translate>The built in random generator can generally be trusted more than your own intuition about randomness.</span>
550 <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>
551 <span data-translate>In that case you might choose to use your own source of entropy.</span>
c6624d51
IC
552 </p>
553 <p>
60599f7a 554 <a href="https://bitcointalk.org/index.php?topic=311000.msg3345309#msg3345309" target="_blank" data-translate>You are not a good source of entropy.</a>
c6624d51 555 </p>
1f618a77
IC
556 <h3 data-translate>License</h3>
557 <p>
558 <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.
559 </span>
560 </p>
561 <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>
ebd8d4e8
IC
562 </div>
563 </div>
45b8a745
IC
564
565 <hr>
566
c5863485
IC
567 <div class="row">
568 <div class="col-md-12">
569
60599f7a 570 <h2 data-translate>Offline Usage</h2>
c5863485 571
60599f7a 572 <p data-translate>
c5863485
IC
573 You can use this tool without having to be online.
574 </p>
60599f7a 575 <p data-translate>
c5863485
IC
576 In your browser, select file save-as, and save this page
577 as a file.
578 </p>
60599f7a 579 <p data-translate>
c5863485
IC
580 Double-click that file to open it in a browser
581 on any offline computer.
582 </p>
583 <p>
60599f7a
IC
584 <span data-translate>Alternatively, download the file from the repository</span>
585 -
586 <a href="https://github.com/iancoleman/bip39">https://github.com/iancoleman/bip39</a>
587 </p>
c5863485
IC
588
589 </div>
590 </div>
591
592 <hr>
593
45b8a745
IC
594 <div class="row">
595 <div class="col-md-12">
596
60599f7a 597 <h2 data-translate>This project is 100% open-source code</h2>
45b8a745
IC
598
599 <p>
60599f7a
IC
600 <span data-translate>Get the source code from the repository</span>
601 -
b630f83d
IC
602 <a href="https://github.com/iancoleman/bip39" target="_blank">
603 https://github.com/iancoleman/bip39
45b8a745
IC
604 </a>
605 </p>
606
60599f7a 607 <h3 data-translate>Libraries</h3>
45b8a745
IC
608
609 <p>
610 <span>BitcoinJS - </span>
611 <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank">
612 https://github.com/bitcoinjs/bitcoinjs-lib
613 </a>
614 </p>
615
616 <p>
617 <span>jsBIP39 - </span>
618 <a href="https://github.com/iancoleman/jsbip39" target="_blank">
619 https://github.com/iancoleman/jsbip39
620 </a>
621 </p>
622
623 <p>
0937f3ab
IC
624 <span>sjcl - </span>
625 <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank">
626 https://github.com/bitwiseshiftleft/sjcl
45b8a745
IC
627 </a>
628 </p>
629
630 <p>
631 <span>jQuery - </span>
632 <a href="https://jquery.com/" target="_blank">
633 https://jquery.com/
634 </a>
635 </p>
636
637 <p>
638 <span>Twitter Bootstrap - </span>
639 <a href="http://getbootstrap.com/" target="_blank">
640 http://getbootstrap.com/
641 </a>
642 </p>
643
644 </div>
645 </div>
646
ebd8d4e8
IC
647 </div>
648
e00964cc 649 <div class="qr-container hidden">
8a93952c
IC
650 <div class="qr-hint bg-primary hidden" data-translate>Click field to hide QR</div>
651 <div class="qr-hint bg-primary" data-translate>Click field to show QR</div>
652 <div class="qr-hider hidden">
97811c29
IC
653 <div class="qr-image"></div>
654 <div class="qr-warning bg-primary" data-translate>Caution: Scanner may keep history</div>
655 </div>
e00964cc
IC
656 </div>
657
ebd8d4e8 658 <div class="feedback-container">
d26cce22 659 <div class="feedback">Loading...</div>
ebd8d4e8
IC
660 </div>
661
662 <script type="text/template" id="address-row-template">
663 <tr>
664 <td class="index"><span></span></td>
e00964cc
IC
665 <td class="address"><span data-show-qr></span></td>
666 <td class="pubkey"><span data-show-qr></span></td>
667 <td class="privkey"><span data-show-qr></span></td>
ebd8d4e8
IC
668 </tr>
669 </script>
24137d96 670 <script src="js/polyfill.es6.js"></script>
cee442b1
KK
671 <script src="js/jquery.min.js"></script>
672 <script src="js/bootstrap.min.js"></script>
563e401a 673 <script src="js/levenshtein.js"></script>
e00964cc 674 <script src="js/jquery.qrcode.min.js"></script>
cee442b1
KK
675 <script src="js/bitcoinjs-1-5-7.js"></script>
676 <script src="js/bitcoinjs-extensions.js"></script>
505a3159 677 <script src="js/ethereumjs-util.js"></script>
cee442b1 678 <script src="js/sjcl-bip39.js"></script>
c3c3df47
IC
679 <script src="js/translate.js"></script>
680 <script src="js/phrases_en.js"></script>
cee442b1 681 <script src="js/wordlist_english.js"></script>
3a8dbe99
IC
682 <script src="js/wordlist_japanese.js"></script>
683 <script src="js/wordlist_spanish.js"></script>
684 <script src="js/wordlist_chinese_simplified.js"></script>
685 <script src="js/wordlist_chinese_traditional.js"></script>
686 <script src="js/wordlist_french.js"></script>
687 <script src="js/wordlist_italian.js"></script>
cee442b1 688 <script src="js/jsbip39.js"></script>
b6dbc2a1 689 <script src="js/biginteger.js"></script>
b299a6a7 690 <script src="js/zxcvbn.js"></script>
c6624d51 691 <script src="js/entropy.js"></script>
cee442b1 692 <script src="js/index.js"></script>
ebd8d4e8
IC
693 </body>
694</html>