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