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