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