]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blame - src/index.html
Merge pull request #116 from jonathancross/iancoleman-bip39-compile
[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>
0a8d06d0 117 <p class="version">v0.2.5</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">
60599f7a
IC
126 <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>
127 <p data-translate-html>
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">
60599f7a 138 <span data-translate>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>
60599f7a 150 <span data-translate>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">
60599f7a 157 <label class="col-sm-2 control-label" data-translate>Warning</label>
0a84fe6a 158 <div class="col-sm-10 form-control-static">
60599f7a
IC
159 <span data-translate>Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.</span>
160 <a href="#entropy-notes" data-translate>Read more</a>
439f0e25 161 </div>
1cf1bbaf 162 </div>
0a84fe6a 163 <div class="form-group">
60599f7a 164 <label for="entropy" class="col-sm-2 control-label" data-translate>Entropy</label>
0a84fe6a 165 <div class="col-sm-7">
60599f7a 166 <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 167 <div class="row">
20f459ce
IC
168 <label class="col-sm-3 control-label" data-translate><span class="more-info" data-translate-title title="Based on estimates from zxcvbn using Filtered Entropy">Time To Crack</span></label>
169 <div class="crack-time col-sm-3 form-control-static"></div>
60599f7a 170 <label class="col-sm-3 control-label" data-translate>Event Count</label>
a3a61b68
IC
171 <div class="event-count col-sm-3 form-control-static"></div>
172 </div>
173 <div class="row">
60599f7a 174 <label class="col-sm-3 control-label" data-translate>Entropy Type</label>
a3a61b68 175 <div class="type col-sm-3 form-control-static"></div>
60599f7a 176 <label class="col-sm-3 control-label" data-translate>Bits Per Event</label>
a3a61b68
IC
177 <div class="bits-per-event col-sm-3 form-control-static"></div>
178 </div>
179 <div class="row">
fe81f9b3 180 <label class="col-sm-3 control-label" data-translate>Raw Entropy Words</label>
a3a61b68 181 <div class="word-count col-sm-3 form-control-static"></div>
e5abab42 182 <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
183 <div class="bits col-sm-3 form-control-static"></div>
184 </div>
60599f7a 185 <label class="col-sm-3 control-label" data-translate>Filtered Entropy</label>
0a84fe6a 186 <div class="filtered col-sm-9 form-control-static"></div>
60599f7a 187 <label class="col-sm-3 control-label" data-translate>Raw Binary</label>
0a84fe6a 188 <div class="binary col-sm-9 form-control-static"></div>
60599f7a 189 <label class="col-sm-3 control-label" data-translate>Mnemonic Length</label>
0a84fe6a 190 <div class="col-sm-9">
1cf1bbaf 191 <select class="mnemonic-length form-control">
5ed50bd9 192 <option value="raw" selected data-translate>Use Raw Entropy (3 words per 32 bits)</option>
60599f7a 193 <option value="12">12 <span data-translate>Words</span></option>
5ed50bd9 194 <option value="15">15 <span data-translate>Words</option>
60599f7a
IC
195 <option value="18">18 <span data-translate>Words</span></option>
196 <option value="21">21 <span data-translate>Words</span></option>
197 <option value="24">24 <span data-translate>Words</span></option>
1cf1bbaf 198 </select>
c6624d51 199 </div>
1cf1bbaf 200 </div>
0a84fe6a 201 <div class="col-sm-3">
60599f7a 202 <p data-translate>Valid entropy values include:</p>
0a84fe6a 203 <ul>
60599f7a
IC
204 <li><strong data-translate>Binary</strong> [0-1]<br>101010011</li>
205 <li><strong data-translate>Base 6</strong> [0-5]<br>123434014</li>
206 <li><strong data-translate>Dice</strong> [1-6]<br>62535634</li>
207 <li><strong data-translate>Base 10</strong> [0-9]<br>90834528</li>
208 <li><strong data-translate>Hex</strong> [0-9A-F]<br>4187a8bfd9</li>
209 <li><strong data-translate>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc</li>
0a84fe6a
IC
210 </ul>
211 </div>
c6624d51
IC
212 </div>
213 </div>
214 <div class="form-group">
215 <div class="col-sm-2"></div>
216 <div class="col-sm-10 checkbox">
217 <label>
218 <input type="checkbox" class="use-entropy">
60599f7a 219 <span data-translate>Supply my own source of entropy</span>
c6624d51
IC
220 </label>
221 </div>
222 </div>
223 <div class="form-group">
60599f7a 224 <label class="col-sm-2 control-label" data-translate>Mnemonic Language</label>
7c31e3cd 225 <div class="col-sm-10 languages">
60599f7a
IC
226 <div class="form-control no-border">
227 <a href="#english">English</a>
228 <a href="#japanese" title="Japanese">日本語</a>
229 <a href="#spanish" title="Spanish">Español</a>
230 <a href="#chinese_simplified" title="Chinese (Simplified)">中文(简体)</a>
231 <a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
232 <a href="#french" title="French">Français</a>
233 <a href="#italian" title="Italian">Italiano</a>
234 </div>
7c31e3cd 235 </div>
ebd8d4e8
IC
236 </div>
237 <div class="form-group">
60599f7a 238 <label for="phrase" class="col-sm-2 control-label" data-translate>BIP39 Mnemonic</label>
ebd8d4e8 239 <div class="col-sm-10">
e00964cc 240 <textarea id="phrase" class="phrase form-control" data-show-qr></textarea>
ebd8d4e8
IC
241 </div>
242 </div>
1abcc511 243 <div class="form-group">
60599f7a 244 <label for="passphrase" class="col-sm-2 control-label" data-translate>BIP39 Passphrase (optional)</label>
1abcc511
PR
245 <div class="col-sm-10">
246 <textarea id="passphrase" class="passphrase form-control"></textarea>
247 </div>
248 </div>
3e0ed16a 249 <div class="form-group">
60599f7a 250 <label for="seed" class="col-sm-2 control-label" data-translate>BIP39 Seed</label>
3e0ed16a 251 <div class="col-sm-10">
e00964cc 252 <textarea id="seed" class="seed form-control" readonly="readonly" data-show-qr></textarea>
3e0ed16a
KK
253 </div>
254 </div>
4d457a38 255 <div class="form-group">
60599f7a 256 <label for="network-phrase" class="col-sm-2 control-label" data-translate>Coin</label>
4d457a38
IC
257 <div class="col-sm-10">
258 <select id="network-phrase" class="network form-control">
7f15cb6e 259 <!-- populated by javascript -->
4d457a38
IC
260 </select>
261 </div>
262 </div>
ebd8d4e8 263 <div class="form-group">
60599f7a 264 <label for="root-key" class="col-sm-2 control-label" data-translate>BIP32 Root Key</label>
ebd8d4e8 265 <div class="col-sm-10">
e00964cc 266 <textarea id="root-key" class="root-key form-control" data-show-qr></textarea>
ebd8d4e8
IC
267 </div>
268 </div>
3abab9b0
IC
269 <div class="form-group litecoin-ltub-container hidden">
270 <label for="litecoin-use-ltub" class="col-sm-2 control-label" data-translate>Prefixes</label>
271 <div class="col-sm-10 checkbox">
272 <label>
273 <input type="checkbox" id="litecoin-use-ltub" class="litecoin-use-ltub">
274 Use <code>Ltpv / Ltub</code> instead of <code>xprv / xpub</code>
275 </label>
276 </div>
277 </div>
ebd8d4e8
IC
278 </form>
279 </div>
280 </div>
281
282 <hr>
283
284 <div class="row">
285 <div class="col-md-12">
286 <h2>Derivation Path</h2>
287 <ul class="derivation-type nav nav-tabs" role="tablist">
3b40653f 288 <li id="bip32-tab">
23d4a0f1
IC
289 <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
290 </li>
33b3dd47
IC
291 <li id="bip44-tab" class="active">
292 <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
293 </li>
6c08f364
IC
294 <li id="bip49-tab">
295 <a href="#bip49" role="tab" data-toggle="tab">BIP49</a>
296 </li>
ebd8d4e8
IC
297 </ul>
298 <div class="derivation-type tab-content">
55a9e51a 299 <div id="bip44" class="tab-pane active">
ebd8d4e8
IC
300 <form class="form-horizontal" role="form">
301 <br>
302 <div class="col-sm-2"></div>
303 <div class="col-sm-10">
60599f7a
IC
304 <p data-translate-html>
305 For more info see the
306 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a>.
307 </p>
ebd8d4e8
IC
308 </div>
309 <div class="form-group">
310 <label for="purpose" class="col-sm-2 control-label">
60599f7a 311 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank" data-translate>Purpose</a>
ebd8d4e8
IC
312 </label>
313 <div class="col-sm-10">
684624b5 314 <input id="purpose" type="text" class="purpose form-control" value="44" readonly>
ebd8d4e8
IC
315 </div>
316 </div>
317 <div class="form-group">
318 <label for="coin" class="col-sm-2 control-label">
60599f7a 319 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank" data-translate>Coin</a>
ebd8d4e8
IC
320 </label>
321 <div class="col-sm-10">
684624b5 322 <input id="coin" type="text" class="coin form-control" value="0" readonly>
ebd8d4e8
IC
323 </div>
324 </div>
325 <div class="form-group">
326 <label for="account" class="col-sm-2 control-label">
60599f7a 327 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank" data-translate>Account</a>
ebd8d4e8
IC
328 </label>
329 <div class="col-sm-10">
330 <input id="account" type="text" class="account form-control" value="0">
331 </div>
332 </div>
333 <div class="form-group">
334 <label for="change" class="col-sm-2 control-label">
60599f7a 335 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank" data-translate>External / Internal</a>
ebd8d4e8
IC
336 </label>
337 <div class="col-sm-10">
338 <input id="change" type="text" class="change form-control" value="0">
339 </div>
340 </div>
c554e6ff
IC
341 <div class="form-group">
342 <label class="col-sm-2 control-label">
343 </label>
344 <div class="col-sm-10">
f3bfd2a5 345 <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
346 </div>
347 </div>
348 <div class="form-group">
349 <label for="account-xprv" class="col-sm-2 control-label">
350 <span data-translate>Account Extended Private Key</span>
351 </label>
352 <div class="col-sm-10">
353 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
354 </div>
355 </div>
356 <div class="form-group">
357 <label for="account-xpub" class="col-sm-2 control-label">
358 <span data-translate>Account Extended Public Key</span>
359 </label>
360 <div class="col-sm-10">
361 <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
362 </div>
363 </div>
364 <div class="form-group">
365 <label class="col-sm-2 control-label">
366 </label>
367 <div class="col-sm-10">
368 <p data-translate>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
369 </div>
370 </div>
ebd8d4e8 371 <div class="form-group">
60599f7a 372 <label for="bip44-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
ebd8d4e8 373 <div class="col-sm-10">
d198865f 374 <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly">
ebd8d4e8
IC
375 </div>
376 </div>
377 </form>
378 </div>
379 <div id="bip32" class="tab-pane">
380 <form class="form-horizontal" role="form">
381 <br>
382 <div class="col-sm-2"></div>
383 <div class="col-sm-10">
60599f7a
IC
384 <p data-translate>
385 For more info see the
386 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a>
387 </p>
ebd8d4e8 388 </div>
a2e3e819 389 <div class="form-group">
29bf60f5 390 <label for="bip32-client" class="col-sm-2 control-label" data-translate>Client</label>
a2e3e819 391 <div class="col-sm-10">
29bf60f5
IC
392 <select id="bip32-client" class="client form-control">
393 <option value="custom">Custom derivation path</option>
a2e3e819
IC
394 <!-- populated by javascript -->
395 </select>
396 </div>
397 </div>
ebd8d4e8 398 <div class="form-group">
60599f7a 399 <label for="bip32-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
ebd8d4e8
IC
400 <div class="col-sm-10">
401 <input id="bip32-path" type="text" class="path form-control" value="m/0">
402 </div>
403 </div>
146e089e
IC
404 <div class="form-group">
405 <div class="col-sm-2"></div>
406 <label class="col-sm-10">
407 <input class="hardened-addresses" type="checkbox">
60599f7a 408 <span data-translate>Use hardened addresses</span>
146e089e
IC
409 </label>
410 </div>
88311463
IC
411 <div class="form-group">
412 <div class="col-sm-2"></div>
413 <label class="col-sm-10">
414 <input class="p2wpkh-nested-in-p2sh" type="checkbox">
415 <span data-translate>Use SegWit addresses (ie P2WPKH Nested In P2SH)</span>
416 </label>
417 </div>
8786746b 418 <div class="form-group">
60599f7a 419 <label for="core-path" class="col-sm-2 control-label" data-translate>Bitcoin Core</label>
8786746b 420 <div class="col-sm-10">
60599f7a 421 <p class="form-control no-border" data-translate-html>
8786746b 422 Use path <code>m/0'/0'</code> with hardened addresses.
ea12c8a9 423 </p>
60599f7a
IC
424 <p class="form-control no-border" data-translate-html>
425 For more info see the
426 <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a>
8786746b
IC
427 </p>
428 </div>
429 </div>
aa51da11 430 <div class="form-group">
6ee4fb7d 431 <label for="core-path" class="col-sm-2 control-label" data-translate>Multibit</label>
aa51da11
IC
432 <div class="col-sm-10">
433 <p class="form-control no-border">
6ee4fb7d 434 <span data-translate-html>Use path <code>m/0'/0</code>.</span>
ea12c8a9
IC
435 </p>
436 <p class="form-control no-border">
6ee4fb7d
IC
437 <span data-translate>For more info see</span>
438 <a href="https://multibit.org/" target="_blank">MultiBit HD</a>
aa51da11 439 </p>
6ee4fb7d
IC
440 </div>
441 </div>
442 <div class="form-group">
443 <label class="col-sm-2 control-label" data-translate>Block Explorers</label>
444 <div class="col-sm-10">
3f363a42 445 <p class="form-control no-border">
6ee4fb7d
IC
446 <span data-translate-html>Use path <code>m/44'/0'/0'</code>.</span>
447 <span data-translate-html>Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.</span>
3f363a42
AG
448 </p>
449 <p class="form-control no-border">
450 <span data-translate>Can be used with</span>:
6ee4fb7d 451 <a href="https://blockchain.info/" target="_blank">blockchain.info</a>
3f363a42 452 </p>
aa51da11
IC
453 </div>
454 </div>
ebd8d4e8
IC
455 </form>
456 </div>
6c08f364
IC
457 <div id="bip49" class="tab-pane">
458 <form class="form-horizontal" role="form">
459 <br>
460 <div class="unavailable hidden">
461 <div class="form-group">
462 <div class="col-sm-2"></div>
463 <div class="col-sm-10">
464 <p data-translate>BIP49 is unavailable for this coin.</p>
465 </div>
466 </div>
467 </div>
468 <div class="available">
469 <div class="col-sm-2"></div>
470 <div class="col-sm-10">
471 <p data-translate-html>
472 For more info see the
473 <a href="https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki" target="_blank">BIP49 spec</a>.
474 </p>
475 </div>
476 <div class="form-group">
477 <label for="purpose" class="col-sm-2 control-label">
478 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank" data-translate>Purpose</a>
479 </label>
480 <div class="col-sm-10">
481 <input id="purpose" type="text" class="purpose form-control" value="49" readonly>
482 </div>
483 </div>
484 <div class="form-group">
485 <label for="coin" class="col-sm-2 control-label">
486 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank" data-translate>Coin</a>
487 </label>
488 <div class="col-sm-10">
489 <input id="coin" type="text" class="coin form-control" value="0" readonly>
490 </div>
491 </div>
492 <div class="form-group">
493 <label for="account" class="col-sm-2 control-label">
494 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank" data-translate>Account</a>
495 </label>
496 <div class="col-sm-10">
497 <input id="account" type="text" class="account form-control" value="0">
498 </div>
499 </div>
500 <div class="form-group">
501 <label for="change" class="col-sm-2 control-label">
502 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank" data-translate>External / Internal</a>
503 </label>
504 <div class="col-sm-10">
505 <input id="change" type="text" class="change form-control" value="0">
506 </div>
507 </div>
508 <div class="form-group">
509 <label class="col-sm-2 control-label">
510 </label>
511 <div class="col-sm-10">
512 <p data-translate>The account extended keys can be used for importing to most BIP49 compatible wallets.</p>
513 </div>
514 </div>
515 <div class="form-group">
516 <label for="account-xprv" class="col-sm-2 control-label">
517 <span data-translate>Account Extended Private Key</span>
518 </label>
519 <div class="col-sm-10">
520 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
521 </div>
522 </div>
523 <div class="form-group">
524 <label for="account-xpub" class="col-sm-2 control-label">
525 <span data-translate>Account Extended Public Key</span>
526 </label>
527 <div class="col-sm-10">
528 <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
529 </div>
530 </div>
531 <div class="form-group">
532 <label class="col-sm-2 control-label">
533 </label>
534 <div class="col-sm-10">
535 <p data-translate>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
536 </div>
537 </div>
538 <div class="form-group">
539 <label for="bip49-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
540 <div class="col-sm-10">
541 <input id="bip49-path" type="text" class="path form-control" value="m/49'/0'/0'/0" readonly="readonly">
542 </div>
543 </div>
544 </div>
545 </form>
546 </div>
ebd8d4e8
IC
547 </div>
548 <form class="form-horizontal" role="form">
549 <div class="form-group">
c554e6ff 550 <label for="extended-priv-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Private Key</label>
ebd8d4e8 551 <div class="col-sm-10">
e00964cc 552 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly" data-show-qr></textarea>
ebd8d4e8
IC
553 </div>
554 </div>
555 <div class="form-group">
c554e6ff 556 <label for="extended-pub-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Public Key</label>
ebd8d4e8 557 <div class="col-sm-10">
e00964cc 558 <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr></textarea>
ebd8d4e8
IC
559 </div>
560 </div>
561 </form>
562 </div>
563 </div>
564
565 <hr>
566
567 <div class="row">
568 <div class="col-md-12">
569 <h2>Derived Addresses</h2>
60599f7a 570 <p data-translate>Note these addreses are derived from the BIP32 Extended Key</p>
ebd8d4e8
IC
571 <table class="table table-striped">
572 <thead>
573 <th>
574 <div class="input-group">
60599f7a
IC
575 <span data-translate>Path</span>&nbsp;&nbsp;
576 <button class="index-toggle" data-translate>Toggle</button>
ebd8d4e8
IC
577 </div>
578 </th>
579 <th>
580 <div class="input-group">
60599f7a
IC
581 <span data-translate>Address</span>&nbsp;&nbsp;
582 <button class="address-toggle" data-translate>Toggle</button>
ebd8d4e8
IC
583 </div>
584 </th>
1b12b2f5
IC
585 <th>
586 <div class="input-group">
60599f7a
IC
587 <span data-translate>Public Key</span>&nbsp;&nbsp;
588 <button class="public-key-toggle" data-translate>Toggle</button>
1b12b2f5
IC
589 </div>
590 </th>
ebd8d4e8
IC
591 <th>
592 <div class="input-group">
60599f7a
IC
593 <span data-translate>Private Key</span>&nbsp;&nbsp;
594 <button class="private-key-toggle" data-translate>Toggle</button>
ebd8d4e8
IC
595 </div>
596 </th>
597 </thead>
d737abf6 598 <tbody class="addresses monospace">
a0a19620
IC
599 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
600 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
601 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
602 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
603 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
ebd8d4e8
IC
604 </tbody>
605 </table>
606 </div>
607 </div>
60599f7a 608 <span data-translate>Show more rows</span>:
ebd8d4e8 609 <input type="number" class="rows-to-add" value="20">
60599f7a 610 <button class="more" data-translate>Show</button>
ebd8d4e8
IC
611
612 <hr>
613
614 <div class="row">
615 <div class="col-md-12">
60599f7a
IC
616 <h2 data-translate>More info</h2>
617 <h3>BIP39 <span class="small" data-translate>Mnemonic code for generating deterministic keys</span></h3>
618 <p data-translate-html>
ebd8d4e8
IC
619 Read more at the
620 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a>
621 </p>
60599f7a
IC
622 <h3>BIP32 <span class="small" data-translate>Hierarchical Deterministic Wallets</span></h3>
623 <p data-translate-html>
ebd8d4e8
IC
624 Read more at the
625 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a>
60599f7a
IC
626 </p>
627 <p data-translate-html>
628 See the demo at
ebd8d4e8
IC
629 <a href="http://bip32.org/" target="_blank">bip32.org</a>
630 </p>
60599f7a
IC
631 <h3>BIP44 <span class="small" data-translate>Multi-Account Hierarchy for Deterministic Wallets</span></h3>
632 <p data-translate-html>
ebd8d4e8
IC
633 Read more at the
634 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a>
635 </p>
60599f7a 636 <h3 data-translate>Private Keys</h3>
ebd8d4e8 637 <p>
60599f7a
IC
638 <span data-translate-html>
639 Use private keys at
640 <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>.
641 </span>
642 <span data-translate>Be careful - it can be easy to make mistakes if you don't know what you're doing.</span>
ebd8d4e8 643 </p>
60599f7a 644 <h3 id="entropy-notes" data-translate>Entropy</h3>
c6624d51 645 <p>
60599f7a
IC
646 <span data-translate-html>
647 Entropy values must be sourced from a
648 <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>.
649 </span>
650 <span data-translate>This means flipping a fair coin, rolling a fair dice, noise measurements etc.</span>
651 <span data-translate-html>
652 Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address,
653 keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't
654 random enough for the needs of this tool.
655 </span>
c6624d51 656 </p>
bf9bdfd2
IC
657 <p>
658 <strong><span data-translate>Do not store entropy.</span></strong>
659 </p>
660 <p>
661 <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>
662 <span data-translate>Instead of storing entropy, store the mnemonic generated from the entropy.</span>
663 <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>
664 </p>
c6624d51 665 <p>
60599f7a
IC
666 <span data-translate-html>
667 The random mnemonic generator on this page uses a
668 <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>.
669 </span>
670 <span data-translate>The built in random generator can generally be trusted more than your own intuition about randomness.</span>
671 <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>
672 <span data-translate>In that case you might choose to use your own source of entropy.</span>
c6624d51
IC
673 </p>
674 <p>
60599f7a 675 <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 676 </p>
1f618a77
IC
677 <h3 data-translate>License</h3>
678 <p>
679 <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.
680 </span>
681 </p>
682 <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
683 </div>
684 </div>
45b8a745
IC
685
686 <hr>
687
c5863485
IC
688 <div class="row">
689 <div class="col-md-12">
690
60599f7a 691 <h2 data-translate>Offline Usage</h2>
c5863485 692
60599f7a 693 <p data-translate>
c5863485
IC
694 You can use this tool without having to be online.
695 </p>
60599f7a 696 <p data-translate>
c5863485
IC
697 In your browser, select file save-as, and save this page
698 as a file.
699 </p>
60599f7a 700 <p data-translate>
c5863485
IC
701 Double-click that file to open it in a browser
702 on any offline computer.
703 </p>
704 <p>
60599f7a
IC
705 <span data-translate>Alternatively, download the file from the repository</span>
706 -
707 <a href="https://github.com/iancoleman/bip39">https://github.com/iancoleman/bip39</a>
708 </p>
c5863485
IC
709
710 </div>
711 </div>
712
713 <hr>
714
45b8a745
IC
715 <div class="row">
716 <div class="col-md-12">
717
60599f7a 718 <h2 data-translate>This project is 100% open-source code</h2>
45b8a745
IC
719
720 <p>
60599f7a
IC
721 <span data-translate>Get the source code from the repository</span>
722 -
b630f83d
IC
723 <a href="https://github.com/iancoleman/bip39" target="_blank">
724 https://github.com/iancoleman/bip39
45b8a745
IC
725 </a>
726 </p>
727
60599f7a 728 <h3 data-translate>Libraries</h3>
45b8a745
IC
729
730 <p>
731 <span>BitcoinJS - </span>
732 <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank">
733 https://github.com/bitcoinjs/bitcoinjs-lib
734 </a>
735 </p>
736
737 <p>
738 <span>jsBIP39 - </span>
739 <a href="https://github.com/iancoleman/jsbip39" target="_blank">
740 https://github.com/iancoleman/jsbip39
741 </a>
742 </p>
743
744 <p>
0937f3ab
IC
745 <span>sjcl - </span>
746 <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank">
747 https://github.com/bitwiseshiftleft/sjcl
45b8a745
IC
748 </a>
749 </p>
750
751 <p>
752 <span>jQuery - </span>
753 <a href="https://jquery.com/" target="_blank">
754 https://jquery.com/
755 </a>
756 </p>
757
758 <p>
759 <span>Twitter Bootstrap - </span>
760 <a href="http://getbootstrap.com/" target="_blank">
761 http://getbootstrap.com/
762 </a>
763 </p>
764
765 </div>
766 </div>
767
ebd8d4e8
IC
768 </div>
769
e00964cc 770 <div class="qr-container hidden">
8a93952c
IC
771 <div class="qr-hint bg-primary hidden" data-translate>Click field to hide QR</div>
772 <div class="qr-hint bg-primary" data-translate>Click field to show QR</div>
773 <div class="qr-hider hidden">
97811c29
IC
774 <div class="qr-image"></div>
775 <div class="qr-warning bg-primary" data-translate>Caution: Scanner may keep history</div>
776 </div>
e00964cc
IC
777 </div>
778
ebd8d4e8 779 <div class="feedback-container">
d26cce22 780 <div class="feedback">Loading...</div>
ebd8d4e8
IC
781 </div>
782
783 <script type="text/template" id="address-row-template">
784 <tr>
785 <td class="index"><span></span></td>
e00964cc
IC
786 <td class="address"><span data-show-qr></span></td>
787 <td class="pubkey"><span data-show-qr></span></td>
788 <td class="privkey"><span data-show-qr></span></td>
ebd8d4e8
IC
789 </tr>
790 </script>
24137d96 791 <script src="js/polyfill.es6.js"></script>
64a7d2aa 792 <script src="js/basex.js"></script>
6e0f24b1 793 <script src="js/unorm.js"></script>
cee442b1
KK
794 <script src="js/jquery.min.js"></script>
795 <script src="js/bootstrap.min.js"></script>
563e401a 796 <script src="js/levenshtein.js"></script>
e00964cc 797 <script src="js/jquery.qrcode.min.js"></script>
a0091a40 798 <script src="js/bitcoinjs-3-1-1.js"></script>
cee442b1 799 <script src="js/bitcoinjs-extensions.js"></script>
505a3159 800 <script src="js/ethereumjs-util.js"></script>
64a7d2aa 801 <script src="js/ripple-util.js"></script>
cee442b1 802 <script src="js/sjcl-bip39.js"></script>
c3c3df47
IC
803 <script src="js/translate.js"></script>
804 <script src="js/phrases_en.js"></script>
cee442b1 805 <script src="js/wordlist_english.js"></script>
3a8dbe99
IC
806 <script src="js/wordlist_japanese.js"></script>
807 <script src="js/wordlist_spanish.js"></script>
808 <script src="js/wordlist_chinese_simplified.js"></script>
809 <script src="js/wordlist_chinese_traditional.js"></script>
810 <script src="js/wordlist_french.js"></script>
811 <script src="js/wordlist_italian.js"></script>
cee442b1 812 <script src="js/jsbip39.js"></script>
b6dbc2a1 813 <script src="js/biginteger.js"></script>
b299a6a7 814 <script src="js/zxcvbn.js"></script>
c6624d51 815 <script src="js/entropy.js"></script>
cee442b1 816 <script src="js/index.js"></script>
ebd8d4e8
IC
817 </body>
818</html>