]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blame - src/index.html
Merge pull request #134 from dimitris-t/patch-2
[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" />
18f16009 11 <link type="image/x-icon" rel="icon" href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAAAF0lEQVRIx2NgGAWjYBSMglEwCkbBSAcACBAAAeaR9cIAAAAASUVORK5CYII=" />
ebd8d4e8
IC
12
13 <style>
f52dcdbd
IC
14 body {
15 padding-bottom: 32px;
16 }
d198865f
IC
17 .form-control[readonly] {
18 cursor: text;
dd566a1e 19 }
ebd8d4e8
IC
20 .feedback-container {
21 position: fixed;
22 top: 0;
23 width: 100%;
24 text-align: center;
25 z-index: 4;
26 }
27 .feedback {
28 display: table;
29 padding: 0.5em 1em;
30 background-color: orange;
31 margin: 0 auto;
32 font-size: 2em;
33 color: #444;
34 border: 2px solid #555;
35 border-top: 0;
36 border-bottom-left-radius: 20px 20px;
37 border-bottom-right-radius: 20px 20px;
38 }
55a9e51a
IC
39 .no-border {
40 border: 0;
41 box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
42 -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
43 }
5ee7bb9e
IC
44 .phrase {
45 word-break: keep-all;
46 }
0a84fe6a 47 .generate-container .strength {
b0818b31
IC
48 /* override mobile width from bootstrap */
49 width: auto!important;
50 display: inline-block;
51 }
60599f7a 52 .languages a {
7c31e3cd
IC
53 padding-left: 10px;
54 }
60599f7a
IC
55 .languages a:nth-of-type(1) {
56 margin-left: -12px;
57 padding-left: 0;
58 }
d737abf6
IC
59 .monospace {
60 font-family: monospace;
61 }
0a84fe6a
IC
62 .entropy-container .filtered,
63 .entropy-container .binary {
64 word-wrap: break-word;
65 }
66 .entropy-container li {
67 padding-bottom: 5px;
68 }
b54c1218 69 .card-suit {
b2d61f56 70 font-size: 19px;
b54c1218
IC
71 line-height: 0;
72 }
73 .card-suit.club {
74 color: #009F00;
75 }
76 .card-suit.diamond {
77 color: #3D5DC4;
78 }
79 .card-suit.heart {
80 color: #F00;
81 }
82 .card-suit.spade {
83 color: #000;
84 }
e00964cc
IC
85 .qr-container {
86 position: fixed;
87 top: 0;
88 right: 0;
89 text-align: center;
90 background-color: #FFF;
91 border: 1px solid #CCC;
92 }
93 .qr-image {
94 margin: 5px;
95 }
97811c29
IC
96 .qr-hint,
97 .qr-warning {
e00964cc 98 padding: 2px;
97811c29 99 max-width: 150px;
e00964cc 100 }
e5abab42
IC
101 .more-info {
102 cursor: help;
103 border-bottom: 1px dashed #000;
104 text-decoration: none;
105 }
8b18bdbb
IC
106 .version {
107 position: absolute;
108 top: 5px;
109 right: 5px;
110 }
ebd8d4e8
IC
111 </style>
112 </head>
113 <body>
114 <div class="container">
115
116 <h1 class="text-center">Mnemonic Code Converter</h1>
cf6c2044 117 <p class="version">v0.3.0</p>
ebd8d4e8
IC
118 <hr>
119 <div class="row">
120 <div class="col-md-12">
d4779799 121 <h2>Mnemonic</h2>
ebd8d4e8 122 <form class="form-horizontal" role="form">
ebd8d4e8 123 <div class="form-group">
c6624d51
IC
124 <div class="col-sm-2"></div>
125 <div class="col-sm-10">
fb00a22d
IC
126 <p>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>
127 <p>
60599f7a
IC
128 For more info see the
129 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a>.
130 </p>
c6624d51
IC
131 </div>
132 </div>
133 <div class="form-group generate-container">
b0818b31 134 <label class="col-sm-2 control-label"></label>
ebd8d4e8 135 <div class="col-sm-10">
b0818b31
IC
136 <div class="form-inline">
137 <div class="input-group-inline">
fb00a22d 138 <span>Generate a random mnemonic, or enter your own below</span>:
b0818b31 139 <button class="btn generate">Generate</button>
b0818b31
IC
140 <select id="strength" class="strength form-control">
141 <option value="3">3</option>
142 <option value="6">6</option>
143 <option value="9">9</option>
144 <option value="12">12</option>
145 <option value="15" selected>15</option>
146 <option value="18">18</option>
147 <option value="21">21</option>
148 <option value="24">24</option>
149 </select>
fb00a22d 150 <span>words</span>
b0818b31
IC
151 </div>
152 </div>
ebd8d4e8 153 </div>
7c31e3cd 154 </div>
c6624d51 155 <div class="entropy-container hidden">
0a84fe6a 156 <div class="form-group text-danger">
fb00a22d 157 <label class="col-sm-2 control-label">Warning</label>
0a84fe6a 158 <div class="col-sm-10 form-control-static">
fb00a22d
IC
159 <span>Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.</span>
160 <a href="#entropy-notes">Read more</a>
439f0e25 161 </div>
1cf1bbaf 162 </div>
0a84fe6a 163 <div class="form-group">
fb00a22d 164 <label for="entropy" class="col-sm-2 control-label">Entropy</label>
0a84fe6a 165 <div class="col-sm-7">
fb00a22d 166 <textarea id="entropy" rows="2" class="entropy form-control" placeholder="Accepts either binary, base 6, 6-sided dice, base 10, hexadecimal or cards"></textarea>
ee0981f1
IC
167 <div class="row filter-warning text-danger hidden">
168 <p class="col-sm-12">
169 <strong>
170 Some characters have been discarded
171 </strong>
172 </p>
173 </div>
a3a61b68 174 <div class="row">
fb00a22d 175 <label class="col-sm-3 control-label"><span class="more-info" title="Based on estimates from zxcvbn using Filtered Entropy">Time To Crack</span></label>
20f459ce 176 <div class="crack-time col-sm-3 form-control-static"></div>
fb00a22d 177 <label class="col-sm-3 control-label">Event Count</label>
a3a61b68
IC
178 <div class="event-count col-sm-3 form-control-static"></div>
179 </div>
180 <div class="row">
fb00a22d 181 <label class="col-sm-3 control-label">Entropy Type</label>
a3a61b68 182 <div class="type col-sm-3 form-control-static"></div>
fb00a22d 183 <label class="col-sm-3 control-label">Bits Per Event</label>
a3a61b68
IC
184 <div class="bits-per-event col-sm-3 form-control-static"></div>
185 </div>
186 <div class="row">
fb00a22d 187 <label class="col-sm-3 control-label">Raw Entropy Words</label>
a3a61b68 188 <div class="word-count col-sm-3 form-control-static"></div>
fb00a22d 189 <label class="col-sm-3 control-label"><span class="more-info" title="Total bits of entropy may be less than indicated if any entropy event uses a weak source.">Total Bits</span></label>
a3a61b68
IC
190 <div class="bits col-sm-3 form-control-static"></div>
191 </div>
fb00a22d 192 <label class="col-sm-3 control-label">Filtered Entropy</label>
0a84fe6a 193 <div class="filtered col-sm-9 form-control-static"></div>
fb00a22d 194 <label class="col-sm-3 control-label">Raw Binary</label>
0a84fe6a 195 <div class="binary col-sm-9 form-control-static"></div>
74ab4cbe
IC
196 <label class="col-sm-3 control-label">Word Indexes</label>
197 <div class="word-indexes col-sm-9 form-control-static">&nbsp;</div>
fb00a22d 198 <label class="col-sm-3 control-label">Mnemonic Length</label>
0a84fe6a 199 <div class="col-sm-9">
1cf1bbaf 200 <select class="mnemonic-length form-control">
fb00a22d
IC
201 <option value="raw" selected>Use Raw Entropy (3 words per 32 bits)</option>
202 <option value="12">12 <span>Words</span></option>
203 <option value="15">15 <span>Words</option>
204 <option value="18">18 <span>Words</span></option>
205 <option value="21">21 <span>Words</span></option>
206 <option value="24">24 <span>Words</span></option>
1cf1bbaf 207 </select>
c6624d51 208 </div>
1cf1bbaf 209 </div>
0a84fe6a 210 <div class="col-sm-3">
fb00a22d 211 <p>Valid entropy values include:</p>
0a84fe6a 212 <ul>
fb00a22d
IC
213 <li><strong>Binary</strong> [0-1]<br>101010011</li>
214 <li><strong>Base 6</strong> [0-5]<br>123434014</li>
215 <li><strong>Dice</strong> [1-6]<br>62535634</li>
216 <li><strong>Base 10</strong> [0-9]<br>90834528</li>
217 <li><strong>Hex</strong> [0-9A-F]<br>4187a8bfd9</li>
218 <li><strong>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc</li>
0a84fe6a
IC
219 </ul>
220 </div>
c6624d51
IC
221 </div>
222 </div>
223 <div class="form-group">
224 <div class="col-sm-2"></div>
225 <div class="col-sm-10 checkbox">
226 <label>
227 <input type="checkbox" class="use-entropy">
74ab4cbe 228 <span>Show entropy details</span>
c6624d51
IC
229 </label>
230 </div>
231 </div>
232 <div class="form-group">
fb00a22d 233 <label class="col-sm-2 control-label">Mnemonic Language</label>
7c31e3cd 234 <div class="col-sm-10 languages">
60599f7a
IC
235 <div class="form-control no-border">
236 <a href="#english">English</a>
237 <a href="#japanese" title="Japanese">日本語</a>
238 <a href="#spanish" title="Spanish">Español</a>
239 <a href="#chinese_simplified" title="Chinese (Simplified)">中文(简体)</a>
240 <a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
241 <a href="#french" title="French">Français</a>
242 <a href="#italian" title="Italian">Italiano</a>
243 </div>
7c31e3cd 244 </div>
ebd8d4e8
IC
245 </div>
246 <div class="form-group">
fb00a22d 247 <label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label>
ebd8d4e8 248 <div class="col-sm-10">
e00964cc 249 <textarea id="phrase" class="phrase form-control" data-show-qr></textarea>
ebd8d4e8
IC
250 </div>
251 </div>
1abcc511 252 <div class="form-group">
fb00a22d 253 <label for="passphrase" class="col-sm-2 control-label">BIP39 Passphrase (optional)</label>
1abcc511
PR
254 <div class="col-sm-10">
255 <textarea id="passphrase" class="passphrase form-control"></textarea>
256 </div>
257 </div>
3e0ed16a 258 <div class="form-group">
fb00a22d 259 <label for="seed" class="col-sm-2 control-label">BIP39 Seed</label>
3e0ed16a 260 <div class="col-sm-10">
e00964cc 261 <textarea id="seed" class="seed form-control" readonly="readonly" data-show-qr></textarea>
3e0ed16a
KK
262 </div>
263 </div>
4d457a38 264 <div class="form-group">
fb00a22d 265 <label for="network-phrase" class="col-sm-2 control-label">Coin</label>
4d457a38
IC
266 <div class="col-sm-10">
267 <select id="network-phrase" class="network form-control">
7f15cb6e 268 <!-- populated by javascript -->
4d457a38
IC
269 </select>
270 </div>
271 </div>
ebd8d4e8 272 <div class="form-group">
fb00a22d 273 <label for="root-key" class="col-sm-2 control-label">BIP32 Root Key</label>
ebd8d4e8 274 <div class="col-sm-10">
e00964cc 275 <textarea id="root-key" class="root-key form-control" data-show-qr></textarea>
ebd8d4e8
IC
276 </div>
277 </div>
3abab9b0 278 <div class="form-group litecoin-ltub-container hidden">
fb00a22d 279 <label for="litecoin-use-ltub" class="col-sm-2 control-label">Prefixes</label>
3abab9b0
IC
280 <div class="col-sm-10 checkbox">
281 <label>
1c2b8c6b 282 <input type="checkbox" id="litecoin-use-ltub" class="litecoin-use-ltub" checked="checked">
3abab9b0
IC
283 Use <code>Ltpv / Ltub</code> instead of <code>xprv / xpub</code>
284 </label>
285 </div>
286 </div>
ebd8d4e8
IC
287 </form>
288 </div>
289 </div>
290
291 <hr>
292
293 <div class="row">
294 <div class="col-md-12">
295 <h2>Derivation Path</h2>
296 <ul class="derivation-type nav nav-tabs" role="tablist">
3b40653f 297 <li id="bip32-tab">
23d4a0f1
IC
298 <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
299 </li>
33b3dd47
IC
300 <li id="bip44-tab" class="active">
301 <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
302 </li>
6c08f364
IC
303 <li id="bip49-tab">
304 <a href="#bip49" role="tab" data-toggle="tab">BIP49</a>
305 </li>
c49e8812
IC
306 <li id="bip141-tab">
307 <a href="#bip141" role="tab" data-toggle="tab">BIP141</a>
308 </li>
ebd8d4e8
IC
309 </ul>
310 <div class="derivation-type tab-content">
55a9e51a 311 <div id="bip44" class="tab-pane active">
ebd8d4e8
IC
312 <form class="form-horizontal" role="form">
313 <br>
314 <div class="col-sm-2"></div>
315 <div class="col-sm-10">
fb00a22d 316 <p>
60599f7a
IC
317 For more info see the
318 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a>.
319 </p>
ebd8d4e8
IC
320 </div>
321 <div class="form-group">
322 <label for="purpose" class="col-sm-2 control-label">
fb00a22d 323 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank">Purpose</a>
ebd8d4e8
IC
324 </label>
325 <div class="col-sm-10">
684624b5 326 <input id="purpose" type="text" class="purpose form-control" value="44" readonly>
ebd8d4e8
IC
327 </div>
328 </div>
329 <div class="form-group">
330 <label for="coin" class="col-sm-2 control-label">
fb00a22d 331 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank">Coin</a>
ebd8d4e8
IC
332 </label>
333 <div class="col-sm-10">
684624b5 334 <input id="coin" type="text" class="coin form-control" value="0" readonly>
ebd8d4e8
IC
335 </div>
336 </div>
337 <div class="form-group">
338 <label for="account" class="col-sm-2 control-label">
fb00a22d 339 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank">Account</a>
ebd8d4e8
IC
340 </label>
341 <div class="col-sm-10">
342 <input id="account" type="text" class="account form-control" value="0">
343 </div>
344 </div>
345 <div class="form-group">
346 <label for="change" class="col-sm-2 control-label">
fb00a22d 347 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank">External / Internal</a>
ebd8d4e8
IC
348 </label>
349 <div class="col-sm-10">
350 <input id="change" type="text" class="change form-control" value="0">
351 </div>
352 </div>
c554e6ff
IC
353 <div class="form-group">
354 <label class="col-sm-2 control-label">
355 </label>
356 <div class="col-sm-10">
fb00a22d 357 <p>The account extended keys can be used for importing to most BIP44 compatible wallets, such as mycelium or electrum.</p>
c554e6ff
IC
358 </div>
359 </div>
360 <div class="form-group">
361 <label for="account-xprv" class="col-sm-2 control-label">
fb00a22d 362 <span>Account Extended Private Key</span>
c554e6ff
IC
363 </label>
364 <div class="col-sm-10">
365 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
366 </div>
367 </div>
368 <div class="form-group">
369 <label for="account-xpub" class="col-sm-2 control-label">
fb00a22d 370 <span>Account Extended Public Key</span>
c554e6ff
IC
371 </label>
372 <div class="col-sm-10">
373 <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
374 </div>
375 </div>
376 <div class="form-group">
377 <label class="col-sm-2 control-label">
378 </label>
379 <div class="col-sm-10">
fb00a22d 380 <p>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
c554e6ff
IC
381 </div>
382 </div>
ebd8d4e8 383 <div class="form-group">
fb00a22d 384 <label for="bip44-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
ebd8d4e8 385 <div class="col-sm-10">
d198865f 386 <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly">
ebd8d4e8
IC
387 </div>
388 </div>
389 </form>
390 </div>
391 <div id="bip32" class="tab-pane">
392 <form class="form-horizontal" role="form">
393 <br>
394 <div class="col-sm-2"></div>
395 <div class="col-sm-10">
fb00a22d 396 <p>
60599f7a
IC
397 For more info see the
398 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a>
399 </p>
ebd8d4e8 400 </div>
a2e3e819 401 <div class="form-group">
fb00a22d 402 <label for="bip32-client" class="col-sm-2 control-label">Client</label>
a2e3e819 403 <div class="col-sm-10">
29bf60f5
IC
404 <select id="bip32-client" class="client form-control">
405 <option value="custom">Custom derivation path</option>
a2e3e819
IC
406 <!-- populated by javascript -->
407 </select>
408 </div>
409 </div>
ebd8d4e8 410 <div class="form-group">
fb00a22d 411 <label for="bip32-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
ebd8d4e8
IC
412 <div class="col-sm-10">
413 <input id="bip32-path" type="text" class="path form-control" value="m/0">
414 </div>
415 </div>
146e089e
IC
416 <div class="form-group">
417 <div class="col-sm-2"></div>
418 <label class="col-sm-10">
419 <input class="hardened-addresses" type="checkbox">
fb00a22d 420 <span>Use hardened addresses</span>
146e089e
IC
421 </label>
422 </div>
8786746b 423 <div class="form-group">
fb00a22d 424 <label for="core-path" class="col-sm-2 control-label">Bitcoin Core</label>
8786746b 425 <div class="col-sm-10">
fb00a22d 426 <p class="form-control no-border">
8786746b 427 Use path <code>m/0'/0'</code> with hardened addresses.
ea12c8a9 428 </p>
fb00a22d 429 <p class="form-control no-border">
60599f7a
IC
430 For more info see the
431 <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a>
8786746b
IC
432 </p>
433 </div>
434 </div>
aa51da11 435 <div class="form-group">
fb00a22d 436 <label for="core-path" class="col-sm-2 control-label">Multibit</label>
aa51da11
IC
437 <div class="col-sm-10">
438 <p class="form-control no-border">
fb00a22d 439 <span>Use path <code>m/0'/0</code>.</span>
ea12c8a9
IC
440 </p>
441 <p class="form-control no-border">
fb00a22d 442 <span>For more info see</span>
6ee4fb7d 443 <a href="https://multibit.org/" target="_blank">MultiBit HD</a>
aa51da11 444 </p>
6ee4fb7d
IC
445 </div>
446 </div>
447 <div class="form-group">
fb00a22d 448 <label class="col-sm-2 control-label">Block Explorers</label>
6ee4fb7d 449 <div class="col-sm-10">
3f363a42 450 <p class="form-control no-border">
fb00a22d
IC
451 <span>Use path <code>m/44'/0'/0'</code>.</span>
452 <span>Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.</span>
3f363a42
AG
453 </p>
454 <p class="form-control no-border">
fb00a22d 455 <span>Can be used with</span>:
6ee4fb7d 456 <a href="https://blockchain.info/" target="_blank">blockchain.info</a>
3f363a42 457 </p>
aa51da11
IC
458 </div>
459 </div>
ebd8d4e8
IC
460 </form>
461 </div>
6c08f364
IC
462 <div id="bip49" class="tab-pane">
463 <form class="form-horizontal" role="form">
464 <br>
465 <div class="unavailable hidden">
466 <div class="form-group">
467 <div class="col-sm-2"></div>
468 <div class="col-sm-10">
fb00a22d 469 <p>BIP49 is unavailable for this coin.</p>
6c08f364
IC
470 </div>
471 </div>
472 </div>
473 <div class="available">
474 <div class="col-sm-2"></div>
475 <div class="col-sm-10">
fb00a22d 476 <p>
6c08f364
IC
477 For more info see the
478 <a href="https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki" target="_blank">BIP49 spec</a>.
479 </p>
480 </div>
481 <div class="form-group">
482 <label for="purpose" class="col-sm-2 control-label">
fb00a22d 483 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank">Purpose</a>
6c08f364
IC
484 </label>
485 <div class="col-sm-10">
486 <input id="purpose" type="text" class="purpose form-control" value="49" readonly>
487 </div>
488 </div>
489 <div class="form-group">
490 <label for="coin" class="col-sm-2 control-label">
fb00a22d 491 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank">Coin</a>
6c08f364
IC
492 </label>
493 <div class="col-sm-10">
494 <input id="coin" type="text" class="coin form-control" value="0" readonly>
495 </div>
496 </div>
497 <div class="form-group">
498 <label for="account" class="col-sm-2 control-label">
fb00a22d 499 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank">Account</a>
6c08f364
IC
500 </label>
501 <div class="col-sm-10">
502 <input id="account" type="text" class="account form-control" value="0">
503 </div>
504 </div>
505 <div class="form-group">
506 <label for="change" class="col-sm-2 control-label">
fb00a22d 507 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank">External / Internal</a>
6c08f364
IC
508 </label>
509 <div class="col-sm-10">
510 <input id="change" type="text" class="change form-control" value="0">
511 </div>
512 </div>
513 <div class="form-group">
514 <label class="col-sm-2 control-label">
515 </label>
516 <div class="col-sm-10">
fb00a22d 517 <p>The account extended keys can be used for importing to most BIP49 compatible wallets.</p>
6c08f364
IC
518 </div>
519 </div>
520 <div class="form-group">
521 <label for="account-xprv" class="col-sm-2 control-label">
fb00a22d 522 <span>Account Extended Private Key</span>
6c08f364
IC
523 </label>
524 <div class="col-sm-10">
525 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
526 </div>
527 </div>
528 <div class="form-group">
529 <label for="account-xpub" class="col-sm-2 control-label">
fb00a22d 530 <span>Account Extended Public Key</span>
6c08f364
IC
531 </label>
532 <div class="col-sm-10">
533 <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
534 </div>
535 </div>
536 <div class="form-group">
537 <label class="col-sm-2 control-label">
538 </label>
539 <div class="col-sm-10">
fb00a22d 540 <p>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
6c08f364
IC
541 </div>
542 </div>
543 <div class="form-group">
fb00a22d 544 <label for="bip49-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
6c08f364
IC
545 <div class="col-sm-10">
546 <input id="bip49-path" type="text" class="path form-control" value="m/49'/0'/0'/0" readonly="readonly">
547 </div>
548 </div>
549 </div>
550 </form>
551 </div>
c49e8812
IC
552 <div id="bip141" class="tab-pane">
553 <form class="form-horizontal" role="form">
554 <br>
555 <div class="unavailable hidden">
556 <div class="form-group">
557 <div class="col-sm-2"></div>
558 <div class="col-sm-10">
559 <p>BIP141 is unavailable for this coin.</p>
560 </div>
561 </div>
562 </div>
563 <div class="available">
564 <div class="col-sm-2"></div>
565 <div class="col-sm-10">
566 <p>
567 For more info see the
568 <a href="https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki" target="_blank">BIP141 spec</a>
569 </p>
570 </div>
571 <div class="form-group">
572 <label for="bip141-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
573 <div class="col-sm-10">
574 <input id="bip141-path" type="text" class="bip141-path form-control" value="m/0">
575 </div>
576 </div>
577 <div class="form-group">
578 <label class="col-sm-2 control-label">Script Semantics</label>
579 <div class="col-sm-10">
580 <select class="form-control bip141-semantics">
581 <option value="p2wpkh">P2WPKH</option>
582 <option value="p2wpkh-p2sh" selected>P2WPKH nested in P2SH</option>
583 </select>
584 </div>
585 </div>
586 </div>
587 </form>
588 </div>
ebd8d4e8
IC
589 </div>
590 <form class="form-horizontal" role="form">
591 <div class="form-group">
fb00a22d 592 <label for="extended-priv-key" class="col-sm-2 control-label">BIP32 Extended Private Key</label>
ebd8d4e8 593 <div class="col-sm-10">
e00964cc 594 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly" data-show-qr></textarea>
ebd8d4e8
IC
595 </div>
596 </div>
597 <div class="form-group">
fb00a22d 598 <label for="extended-pub-key" class="col-sm-2 control-label">BIP32 Extended Public Key</label>
ebd8d4e8 599 <div class="col-sm-10">
e00964cc 600 <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr></textarea>
ebd8d4e8
IC
601 </div>
602 </div>
603 </form>
604 </div>
605 </div>
606
607 <hr>
608
609 <div class="row">
610 <div class="col-md-12">
611 <h2>Derived Addresses</h2>
20871923 612 <p>Note these addresses are derived from the BIP32 Extended Key</p>
fe8f2d14
IC
613 </div>
614 <div class="col-md-12 use-bitpay-addresses-container hidden">
615 <div class="checkbox">
616 <label>
617 <input type="checkbox" class="use-bitpay-addresses">
618 <span>Use BitPay-style addresses for Bitcoin Cash (ie starting with 'C' instead of '1')</span>
619 </label>
620 </div>
621 </div>
622 <div class="col-md-12">
ebd8d4e8
IC
623 <table class="table table-striped">
624 <thead>
625 <th>
626 <div class="input-group">
fb00a22d
IC
627 <span>Path</span>&nbsp;&nbsp;
628 <button class="index-toggle">Toggle</button>
ebd8d4e8
IC
629 </div>
630 </th>
631 <th>
632 <div class="input-group">
fb00a22d
IC
633 <span>Address</span>&nbsp;&nbsp;
634 <button class="address-toggle">Toggle</button>
ebd8d4e8
IC
635 </div>
636 </th>
1b12b2f5
IC
637 <th>
638 <div class="input-group">
fb00a22d
IC
639 <span>Public Key</span>&nbsp;&nbsp;
640 <button class="public-key-toggle">Toggle</button>
1b12b2f5
IC
641 </div>
642 </th>
ebd8d4e8
IC
643 <th>
644 <div class="input-group">
fb00a22d
IC
645 <span>Private Key</span>&nbsp;&nbsp;
646 <button class="private-key-toggle">Toggle</button>
ebd8d4e8
IC
647 </div>
648 </th>
649 </thead>
d737abf6 650 <tbody class="addresses monospace">
a0a19620
IC
651 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
652 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
653 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
654 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
655 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
ebd8d4e8
IC
656 </tbody>
657 </table>
658 </div>
659 </div>
9183f9f6 660 <span>Show</span>
ebd8d4e8 661 <input type="number" class="rows-to-add" value="20">
9183f9f6
IC
662 <button class="more">more rows</button>
663 <span>starting from index</span>
664 <input type="number" class="more-rows-start-index">
665 <span>(leave blank to generate from next index)</span>
ebd8d4e8
IC
666
667 <hr>
668
669 <div class="row">
670 <div class="col-md-12">
fb00a22d
IC
671 <h2>More info</h2>
672 <h3>BIP39 <span class="small">Mnemonic code for generating deterministic keys</span></h3>
673 <p>
ebd8d4e8
IC
674 Read more at the
675 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a>
676 </p>
fb00a22d
IC
677 <h3>BIP32 <span class="small">Hierarchical Deterministic Wallets</span></h3>
678 <p>
ebd8d4e8
IC
679 Read more at the
680 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a>
60599f7a 681 </p>
fb00a22d 682 <p>
60599f7a 683 See the demo at
ebd8d4e8
IC
684 <a href="http://bip32.org/" target="_blank">bip32.org</a>
685 </p>
fb00a22d
IC
686 <h3>BIP44 <span class="small">Multi-Account Hierarchy for Deterministic Wallets</span></h3>
687 <p>
ebd8d4e8
IC
688 Read more at the
689 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a>
690 </p>
fb00a22d
IC
691 <h3>BIP49 <span class="small">Derivation scheme for P2WPKH-nested-in-P2SH based accounts</span></h3>
692 <p>
861750ae
JC
693 Read more at the
694 <a href="https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki" target="_blank">official BIP49 spec</a>
695 </p>
fb00a22d 696 <h3>Private Keys</h3>
ebd8d4e8 697 <p>
fb00a22d 698 <span>
60599f7a
IC
699 Use private keys at
700 <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>.
701 </span>
fb00a22d 702 <span>Be careful - it can be easy to make mistakes if you don't know what you're doing.</span>
ebd8d4e8 703 </p>
fb00a22d 704 <h3 id="entropy-notes">Entropy</h3>
c6624d51 705 <p>
fb00a22d 706 <span>
60599f7a
IC
707 Entropy values must be sourced from a
708 <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>.
709 </span>
fb00a22d
IC
710 <span>This means flipping a fair coin, rolling a fair dice, noise measurements etc.</span>
711 <span>
20871923 712 Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or street address,
60599f7a
IC
713 keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't
714 random enough for the needs of this tool.
715 </span>
c6624d51 716 </p>
bf9bdfd2 717 <p>
fb00a22d 718 <strong><span>Do not store entropy.</span></strong>
bf9bdfd2
IC
719 </p>
720 <p>
fb00a22d
IC
721 <span>Storing entropy (such as keeping a deck of cards in a specific shuffled order) is unreliable compared to storing a mnemonic.</span>
722 <span>Instead of storing entropy, store the mnemonic generated from the entropy.</span>
723 <span><a href="https://en.wikipedia.org/wiki/Steganography#Physical" target="_blank">Steganography</a> may be beneficial when storing the mnemonic.</span>
bf9bdfd2 724 </p>
c6624d51 725 <p>
fb00a22d 726 <span>
60599f7a
IC
727 The random mnemonic generator on this page uses a
728 <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>.
729 </span>
fb00a22d
IC
730 <span>The built in random generator can generally be trusted more than your own intuition about randomness.</span>
731 <span>If cryptographic randomness isn't available in your browser, this page will show a warning and the generate button will not work.</span>
732 <span>In that case you might choose to use your own source of entropy.</span>
c6624d51
IC
733 </p>
734 <p>
fb00a22d 735 <a href="https://bitcointalk.org/index.php?topic=311000.msg3345309#msg3345309" target="_blank">You are not a good source of entropy.</a>
c6624d51 736 </p>
fb00a22d 737 <h3>License</h3>
1f618a77 738 <p>
fb00a22d 739 <span>Please refer to <a href="https://github.com/iancoleman/bip39/blob/master/LICENSE" target="_blank">the software license</a> for more detail.
1f618a77
IC
740 </span>
741 </p>
fb00a22d 742 <p>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
743 </div>
744 </div>
45b8a745
IC
745
746 <hr>
747
73b8724a
IC
748 <div class="row">
749 <div class="col-md-12">
750 <h2>Alternative Tools</h2>
751 <p>This tool is interoperable with any BIP39 wallet.</p>
752 <p>Some similar tools to this one (ie not consumer wallets) are</p>
753 <p>
754 <a href="https://bip32jp.github.io/english/">
755 https://bip32jp.github.io/english/
756 </a>
757 </p>
758 </div>
759 </div>
760
761 <hr>
762
c5863485
IC
763 <div class="row">
764 <div class="col-md-12">
765
fb00a22d 766 <h2>Offline Usage</h2>
c5863485 767
fb00a22d 768 <p>
c5863485
IC
769 You can use this tool without having to be online.
770 </p>
fb00a22d 771 <p>
c5863485
IC
772 In your browser, select file save-as, and save this page
773 as a file.
774 </p>
fb00a22d 775 <p>
c5863485
IC
776 Double-click that file to open it in a browser
777 on any offline computer.
778 </p>
779 <p>
fb00a22d 780 <span>Alternatively, download the file from the repository</span>
60599f7a
IC
781 -
782 <a href="https://github.com/iancoleman/bip39">https://github.com/iancoleman/bip39</a>
783 </p>
c5863485
IC
784
785 </div>
786 </div>
787
788 <hr>
789
45b8a745
IC
790 <div class="row">
791 <div class="col-md-12">
792
fb00a22d 793 <h2>This project is 100% open-source code</h2>
45b8a745
IC
794
795 <p>
fb00a22d 796 <span>Get the source code from the repository</span>
60599f7a 797 -
b630f83d
IC
798 <a href="https://github.com/iancoleman/bip39" target="_blank">
799 https://github.com/iancoleman/bip39
45b8a745
IC
800 </a>
801 </p>
802
fb00a22d 803 <h3>Libraries</h3>
45b8a745
IC
804
805 <p>
806 <span>BitcoinJS - </span>
807 <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank">
808 https://github.com/bitcoinjs/bitcoinjs-lib
809 </a>
810 </p>
811
812 <p>
813 <span>jsBIP39 - </span>
814 <a href="https://github.com/iancoleman/jsbip39" target="_blank">
815 https://github.com/iancoleman/jsbip39
816 </a>
817 </p>
818
819 <p>
0937f3ab
IC
820 <span>sjcl - </span>
821 <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank">
822 https://github.com/bitwiseshiftleft/sjcl
45b8a745
IC
823 </a>
824 </p>
825
826 <p>
827 <span>jQuery - </span>
828 <a href="https://jquery.com/" target="_blank">
829 https://jquery.com/
830 </a>
831 </p>
832
833 <p>
834 <span>Twitter Bootstrap - </span>
835 <a href="http://getbootstrap.com/" target="_blank">
836 http://getbootstrap.com/
837 </a>
838 </p>
839
840 </div>
841 </div>
842
ebd8d4e8
IC
843 </div>
844
e00964cc 845 <div class="qr-container hidden">
fb00a22d
IC
846 <div class="qr-hint bg-primary hidden">Click field to hide QR</div>
847 <div class="qr-hint bg-primary">Click field to show QR</div>
8a93952c 848 <div class="qr-hider hidden">
97811c29 849 <div class="qr-image"></div>
fb00a22d 850 <div class="qr-warning bg-primary">Caution: Scanner may keep history</div>
97811c29 851 </div>
e00964cc
IC
852 </div>
853
ebd8d4e8 854 <div class="feedback-container">
d26cce22 855 <div class="feedback">Loading...</div>
ebd8d4e8
IC
856 </div>
857
858 <script type="text/template" id="address-row-template">
859 <tr>
860 <td class="index"><span></span></td>
e00964cc
IC
861 <td class="address"><span data-show-qr></span></td>
862 <td class="pubkey"><span data-show-qr></span></td>
863 <td class="privkey"><span data-show-qr></span></td>
ebd8d4e8
IC
864 </tr>
865 </script>
24137d96 866 <script src="js/polyfill.es6.js"></script>
64a7d2aa 867 <script src="js/basex.js"></script>
6e0f24b1 868 <script src="js/unorm.js"></script>
cee442b1
KK
869 <script src="js/jquery.min.js"></script>
870 <script src="js/bootstrap.min.js"></script>
563e401a 871 <script src="js/levenshtein.js"></script>
e00964cc 872 <script src="js/jquery.qrcode.min.js"></script>
9f59e99b 873 <script src="js/bitcoinjs-3.3.0.js"></script>
cee442b1 874 <script src="js/bitcoinjs-extensions.js"></script>
c49e8812 875 <script src="js/segwit-parameters.js"></script>
505a3159 876 <script src="js/ethereumjs-util.js"></script>
64a7d2aa 877 <script src="js/ripple-util.js"></script>
cee442b1
KK
878 <script src="js/sjcl-bip39.js"></script>
879 <script src="js/wordlist_english.js"></script>
3a8dbe99
IC
880 <script src="js/wordlist_japanese.js"></script>
881 <script src="js/wordlist_spanish.js"></script>
882 <script src="js/wordlist_chinese_simplified.js"></script>
883 <script src="js/wordlist_chinese_traditional.js"></script>
884 <script src="js/wordlist_french.js"></script>
885 <script src="js/wordlist_italian.js"></script>
cee442b1 886 <script src="js/jsbip39.js"></script>
b6dbc2a1 887 <script src="js/biginteger.js"></script>
b299a6a7 888 <script src="js/zxcvbn.js"></script>
c6624d51 889 <script src="js/entropy.js"></script>
cee442b1 890 <script src="js/index.js"></script>
ebd8d4e8
IC
891 </body>
892</html>