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