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