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