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