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