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