]>
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" /> |
ebd8d4e8 IC |
11 | |
12 | <style> | |
f52dcdbd IC |
13 | body { |
14 | padding-bottom: 32px; | |
15 | } | |
d198865f IC |
16 | .form-control[readonly] { |
17 | cursor: text; | |
dd566a1e | 18 | } |
ebd8d4e8 IC |
19 | .feedback-container { |
20 | position: fixed; | |
21 | top: 0; | |
22 | width: 100%; | |
23 | text-align: center; | |
24 | z-index: 4; | |
25 | } | |
26 | .feedback { | |
27 | display: table; | |
28 | padding: 0.5em 1em; | |
29 | background-color: orange; | |
30 | margin: 0 auto; | |
31 | font-size: 2em; | |
32 | color: #444; | |
33 | border: 2px solid #555; | |
34 | border-top: 0; | |
35 | border-bottom-left-radius: 20px 20px; | |
36 | border-bottom-right-radius: 20px 20px; | |
37 | } | |
55a9e51a IC |
38 | .no-border { |
39 | border: 0; | |
40 | box-shadow: inset 0 1px 1px rgba(0,0,0,.0); | |
41 | -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.0); | |
42 | } | |
5ee7bb9e IC |
43 | .phrase { |
44 | word-break: keep-all; | |
45 | } | |
0a84fe6a | 46 | .generate-container .strength { |
b0818b31 IC |
47 | /* override mobile width from bootstrap */ |
48 | width: auto!important; | |
49 | display: inline-block; | |
50 | } | |
60599f7a | 51 | .languages a { |
7c31e3cd IC |
52 | padding-left: 10px; |
53 | } | |
60599f7a IC |
54 | .languages a:nth-of-type(1) { |
55 | margin-left: -12px; | |
56 | padding-left: 0; | |
57 | } | |
d737abf6 IC |
58 | .monospace { |
59 | font-family: monospace; | |
60 | } | |
0a84fe6a IC |
61 | .entropy-container .filtered, |
62 | .entropy-container .binary { | |
63 | word-wrap: break-word; | |
64 | } | |
65 | .entropy-container li { | |
66 | padding-bottom: 5px; | |
67 | } | |
b54c1218 | 68 | .card-suit { |
b2d61f56 | 69 | font-size: 19px; |
b54c1218 IC |
70 | line-height: 0; |
71 | } | |
72 | .card-suit.club { | |
73 | color: #009F00; | |
74 | } | |
75 | .card-suit.diamond { | |
76 | color: #3D5DC4; | |
77 | } | |
78 | .card-suit.heart { | |
79 | color: #F00; | |
80 | } | |
81 | .card-suit.spade { | |
82 | color: #000; | |
83 | } | |
e00964cc IC |
84 | .qr-container { |
85 | position: fixed; | |
86 | top: 0; | |
87 | right: 0; | |
88 | text-align: center; | |
89 | background-color: #FFF; | |
90 | border: 1px solid #CCC; | |
91 | } | |
92 | .qr-image { | |
93 | margin: 5px; | |
94 | } | |
95 | .qr-hint { | |
96 | padding: 2px; | |
97 | } | |
ebd8d4e8 IC |
98 | </style> |
99 | </head> | |
100 | <body> | |
101 | <div class="container"> | |
102 | ||
103 | <h1 class="text-center">Mnemonic Code Converter</h1> | |
104 | <hr> | |
105 | <div class="row"> | |
106 | <div class="col-md-12"> | |
d4779799 | 107 | <h2>Mnemonic</h2> |
ebd8d4e8 | 108 | <form class="form-horizontal" role="form"> |
ebd8d4e8 | 109 | <div class="form-group"> |
c6624d51 IC |
110 | <div class="col-sm-2"></div> |
111 | <div class="col-sm-10"> | |
60599f7a IC |
112 | <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> |
113 | <p data-translate-html> | |
114 | For more info see the | |
115 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a>. | |
116 | </p> | |
c6624d51 IC |
117 | </div> |
118 | </div> | |
119 | <div class="form-group generate-container"> | |
b0818b31 | 120 | <label class="col-sm-2 control-label"></label> |
ebd8d4e8 | 121 | <div class="col-sm-10"> |
b0818b31 IC |
122 | <div class="form-inline"> |
123 | <div class="input-group-inline"> | |
60599f7a | 124 | <span data-translate>Generate a random mnemonic, or enter your own below</span>: |
b0818b31 | 125 | <button class="btn generate">Generate</button> |
b0818b31 IC |
126 | <select id="strength" class="strength form-control"> |
127 | <option value="3">3</option> | |
128 | <option value="6">6</option> | |
129 | <option value="9">9</option> | |
130 | <option value="12">12</option> | |
131 | <option value="15" selected>15</option> | |
132 | <option value="18">18</option> | |
133 | <option value="21">21</option> | |
134 | <option value="24">24</option> | |
135 | </select> | |
60599f7a | 136 | <span data-translate>words</span> |
b0818b31 IC |
137 | </div> |
138 | </div> | |
ebd8d4e8 | 139 | </div> |
7c31e3cd | 140 | </div> |
c6624d51 | 141 | <div class="entropy-container hidden"> |
0a84fe6a | 142 | <div class="form-group text-danger"> |
60599f7a | 143 | <label class="col-sm-2 control-label" data-translate>Warning</label> |
0a84fe6a | 144 | <div class="col-sm-10 form-control-static"> |
60599f7a IC |
145 | <span data-translate>Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.</span> |
146 | <a href="#entropy-notes" data-translate>Read more</a> | |
439f0e25 | 147 | </div> |
1cf1bbaf | 148 | </div> |
0a84fe6a | 149 | <div class="form-group"> |
60599f7a | 150 | <label for="entropy" class="col-sm-2 control-label" data-translate>Entropy</label> |
0a84fe6a | 151 | <div class="col-sm-7"> |
60599f7a | 152 | <textarea id="entropy" rows="2" class="entropy form-control" placeholder="Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards" data-translate-placeholder></textarea> |
a3a61b68 | 153 | <div class="row"> |
60599f7a | 154 | <label class="col-sm-3 control-label" data-translate>Strength</label> |
a3a61b68 | 155 | <div class="strength col-sm-3 form-control-static"></div> |
60599f7a | 156 | <label class="col-sm-3 control-label" data-translate>Event Count</label> |
a3a61b68 IC |
157 | <div class="event-count col-sm-3 form-control-static"></div> |
158 | </div> | |
159 | <div class="row"> | |
60599f7a | 160 | <label class="col-sm-3 control-label" data-translate>Entropy Type</label> |
a3a61b68 | 161 | <div class="type col-sm-3 form-control-static"></div> |
60599f7a | 162 | <label class="col-sm-3 control-label" data-translate>Bits Per Event</label> |
a3a61b68 IC |
163 | <div class="bits-per-event col-sm-3 form-control-static"></div> |
164 | </div> | |
165 | <div class="row"> | |
60599f7a | 166 | <label class="col-sm-3 control-label" data-translate>Word Count</label> |
a3a61b68 | 167 | <div class="word-count col-sm-3 form-control-static"></div> |
60599f7a | 168 | <label class="col-sm-3 control-label" data-translate>Total Bits</label> |
a3a61b68 IC |
169 | <div class="bits col-sm-3 form-control-static"></div> |
170 | </div> | |
60599f7a | 171 | <label class="col-sm-3 control-label" data-translate>Filtered Entropy</label> |
0a84fe6a | 172 | <div class="filtered col-sm-9 form-control-static"></div> |
60599f7a | 173 | <label class="col-sm-3 control-label" data-translate>Raw Binary</label> |
0a84fe6a | 174 | <div class="binary col-sm-9 form-control-static"></div> |
60599f7a | 175 | <label class="col-sm-3 control-label" data-translate>Mnemonic Length</label> |
0a84fe6a | 176 | <div class="col-sm-9"> |
1cf1bbaf | 177 | <select class="mnemonic-length form-control"> |
60599f7a IC |
178 | <option value="raw" data-translate>From entropy length (3 words per 32 bits)</option> |
179 | <option value="12">12 <span data-translate>Words</span></option> | |
180 | <option value="15" selected>15 <span data-translate>Words</option> | |
181 | <option value="18">18 <span data-translate>Words</span></option> | |
182 | <option value="21">21 <span data-translate>Words</span></option> | |
183 | <option value="24">24 <span data-translate>Words</span></option> | |
1cf1bbaf | 184 | </select> |
c6624d51 | 185 | </div> |
1cf1bbaf | 186 | </div> |
0a84fe6a | 187 | <div class="col-sm-3"> |
60599f7a | 188 | <p data-translate>Valid entropy values include:</p> |
0a84fe6a | 189 | <ul> |
60599f7a IC |
190 | <li><strong data-translate>Binary</strong> [0-1]<br>101010011</li> |
191 | <li><strong data-translate>Base 6</strong> [0-5]<br>123434014</li> | |
192 | <li><strong data-translate>Dice</strong> [1-6]<br>62535634</li> | |
193 | <li><strong data-translate>Base 10</strong> [0-9]<br>90834528</li> | |
194 | <li><strong data-translate>Hex</strong> [0-9A-F]<br>4187a8bfd9</li> | |
195 | <li><strong data-translate>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc</li> | |
0a84fe6a IC |
196 | </ul> |
197 | </div> | |
c6624d51 IC |
198 | </div> |
199 | </div> | |
200 | <div class="form-group"> | |
201 | <div class="col-sm-2"></div> | |
202 | <div class="col-sm-10 checkbox"> | |
203 | <label> | |
204 | <input type="checkbox" class="use-entropy"> | |
60599f7a | 205 | <span data-translate>Supply my own source of entropy</span> |
c6624d51 IC |
206 | </label> |
207 | </div> | |
208 | </div> | |
209 | <div class="form-group"> | |
60599f7a | 210 | <label class="col-sm-2 control-label" data-translate>Mnemonic Language</label> |
7c31e3cd | 211 | <div class="col-sm-10 languages"> |
60599f7a IC |
212 | <div class="form-control no-border"> |
213 | <a href="#english">English</a> | |
214 | <a href="#japanese" title="Japanese">日本語</a> | |
215 | <a href="#spanish" title="Spanish">Español</a> | |
216 | <a href="#chinese_simplified" title="Chinese (Simplified)">中文(简体)</a> | |
217 | <a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a> | |
218 | <a href="#french" title="French">Français</a> | |
219 | <a href="#italian" title="Italian">Italiano</a> | |
220 | </div> | |
7c31e3cd | 221 | </div> |
ebd8d4e8 IC |
222 | </div> |
223 | <div class="form-group"> | |
60599f7a | 224 | <label for="phrase" class="col-sm-2 control-label" data-translate>BIP39 Mnemonic</label> |
ebd8d4e8 | 225 | <div class="col-sm-10"> |
e00964cc | 226 | <textarea id="phrase" class="phrase form-control" data-show-qr></textarea> |
ebd8d4e8 IC |
227 | </div> |
228 | </div> | |
1abcc511 | 229 | <div class="form-group"> |
60599f7a | 230 | <label for="passphrase" class="col-sm-2 control-label" data-translate>BIP39 Passphrase (optional)</label> |
1abcc511 PR |
231 | <div class="col-sm-10"> |
232 | <textarea id="passphrase" class="passphrase form-control"></textarea> | |
233 | </div> | |
234 | </div> | |
3e0ed16a | 235 | <div class="form-group"> |
60599f7a | 236 | <label for="seed" class="col-sm-2 control-label" data-translate>BIP39 Seed</label> |
3e0ed16a | 237 | <div class="col-sm-10"> |
e00964cc | 238 | <textarea id="seed" class="seed form-control" readonly="readonly" data-show-qr></textarea> |
3e0ed16a KK |
239 | </div> |
240 | </div> | |
4d457a38 | 241 | <div class="form-group"> |
60599f7a | 242 | <label for="network-phrase" class="col-sm-2 control-label" data-translate>Coin</label> |
4d457a38 IC |
243 | <div class="col-sm-10"> |
244 | <select id="network-phrase" class="network form-control"> | |
7f15cb6e | 245 | <!-- populated by javascript --> |
4d457a38 IC |
246 | </select> |
247 | </div> | |
248 | </div> | |
ebd8d4e8 | 249 | <div class="form-group"> |
60599f7a | 250 | <label for="root-key" class="col-sm-2 control-label" data-translate>BIP32 Root Key</label> |
ebd8d4e8 | 251 | <div class="col-sm-10"> |
e00964cc | 252 | <textarea id="root-key" class="root-key form-control" data-show-qr></textarea> |
ebd8d4e8 IC |
253 | </div> |
254 | </div> | |
255 | </form> | |
256 | </div> | |
257 | </div> | |
258 | ||
259 | <hr> | |
260 | ||
261 | <div class="row"> | |
262 | <div class="col-md-12"> | |
263 | <h2>Derivation Path</h2> | |
264 | <ul class="derivation-type nav nav-tabs" role="tablist"> | |
55a9e51a | 265 | <li id="bip44-tab" class="active"> |
23d4a0f1 IC |
266 | <a href="#bip44" role="tab" data-toggle="tab">BIP44</a> |
267 | </li> | |
3b40653f | 268 | <li id="bip32-tab"> |
23d4a0f1 IC |
269 | <a href="#bip32" role="tab" data-toggle="tab">BIP32</a> |
270 | </li> | |
ebd8d4e8 IC |
271 | </ul> |
272 | <div class="derivation-type tab-content"> | |
55a9e51a | 273 | <div id="bip44" class="tab-pane active"> |
ebd8d4e8 IC |
274 | <form class="form-horizontal" role="form"> |
275 | <br> | |
276 | <div class="col-sm-2"></div> | |
277 | <div class="col-sm-10"> | |
60599f7a IC |
278 | <p data-translate-html> |
279 | For more info see the | |
280 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a>. | |
281 | </p> | |
ebd8d4e8 IC |
282 | </div> |
283 | <div class="form-group"> | |
284 | <label for="purpose" class="col-sm-2 control-label"> | |
60599f7a | 285 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank" data-translate>Purpose</a> |
ebd8d4e8 IC |
286 | </label> |
287 | <div class="col-sm-10"> | |
288 | <input id="purpose" type="text" class="purpose form-control" value="44"> | |
289 | </div> | |
290 | </div> | |
291 | <div class="form-group"> | |
292 | <label for="coin" class="col-sm-2 control-label"> | |
60599f7a | 293 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank" data-translate>Coin</a> |
ebd8d4e8 IC |
294 | </label> |
295 | <div class="col-sm-10"> | |
296 | <input id="coin" type="text" class="coin form-control" value="0"> | |
297 | </div> | |
298 | </div> | |
299 | <div class="form-group"> | |
300 | <label for="account" class="col-sm-2 control-label"> | |
60599f7a | 301 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank" data-translate>Account</a> |
ebd8d4e8 IC |
302 | </label> |
303 | <div class="col-sm-10"> | |
304 | <input id="account" type="text" class="account form-control" value="0"> | |
305 | </div> | |
306 | </div> | |
307 | <div class="form-group"> | |
308 | <label for="change" class="col-sm-2 control-label"> | |
60599f7a | 309 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank" data-translate>External / Internal</a> |
ebd8d4e8 IC |
310 | </label> |
311 | <div class="col-sm-10"> | |
312 | <input id="change" type="text" class="change form-control" value="0"> | |
313 | </div> | |
314 | </div> | |
c554e6ff IC |
315 | <div class="form-group"> |
316 | <label class="col-sm-2 control-label"> | |
317 | </label> | |
318 | <div class="col-sm-10"> | |
319 | <p data-translate>The account extendend keys can be used for importing to most BIP44 compatible wallets, such as mycelium or electrum.</p> | |
320 | </div> | |
321 | </div> | |
322 | <div class="form-group"> | |
323 | <label for="account-xprv" class="col-sm-2 control-label"> | |
324 | <span data-translate>Account Extended Private Key</span> | |
325 | </label> | |
326 | <div class="col-sm-10"> | |
327 | <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea> | |
328 | </div> | |
329 | </div> | |
330 | <div class="form-group"> | |
331 | <label for="account-xpub" class="col-sm-2 control-label"> | |
332 | <span data-translate>Account Extended Public Key</span> | |
333 | </label> | |
334 | <div class="col-sm-10"> | |
335 | <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea> | |
336 | </div> | |
337 | </div> | |
338 | <div class="form-group"> | |
339 | <label class="col-sm-2 control-label"> | |
340 | </label> | |
341 | <div class="col-sm-10"> | |
342 | <p data-translate>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p> | |
343 | </div> | |
344 | </div> | |
ebd8d4e8 | 345 | <div class="form-group"> |
60599f7a | 346 | <label for="bip44-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label> |
ebd8d4e8 | 347 | <div class="col-sm-10"> |
d198865f | 348 | <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly"> |
ebd8d4e8 IC |
349 | </div> |
350 | </div> | |
351 | </form> | |
352 | </div> | |
353 | <div id="bip32" class="tab-pane"> | |
354 | <form class="form-horizontal" role="form"> | |
355 | <br> | |
356 | <div class="col-sm-2"></div> | |
357 | <div class="col-sm-10"> | |
60599f7a IC |
358 | <p data-translate> |
359 | For more info see the | |
360 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a> | |
361 | </p> | |
ebd8d4e8 IC |
362 | </div> |
363 | <div class="form-group"> | |
60599f7a | 364 | <label for="bip32-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label> |
ebd8d4e8 IC |
365 | <div class="col-sm-10"> |
366 | <input id="bip32-path" type="text" class="path form-control" value="m/0"> | |
367 | </div> | |
368 | </div> | |
146e089e IC |
369 | <div class="form-group"> |
370 | <div class="col-sm-2"></div> | |
371 | <label class="col-sm-10"> | |
372 | <input class="hardened-addresses" type="checkbox"> | |
60599f7a | 373 | <span data-translate>Use hardened addresses</span> |
146e089e IC |
374 | </label> |
375 | </div> | |
8786746b | 376 | <div class="form-group"> |
60599f7a | 377 | <label for="core-path" class="col-sm-2 control-label" data-translate>Bitcoin Core</label> |
8786746b | 378 | <div class="col-sm-10"> |
60599f7a | 379 | <p class="form-control no-border" data-translate-html> |
8786746b | 380 | Use path <code>m/0'/0'</code> with hardened addresses. |
ea12c8a9 | 381 | </p> |
60599f7a IC |
382 | <p class="form-control no-border" data-translate-html> |
383 | For more info see the | |
384 | <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a> | |
8786746b IC |
385 | </p> |
386 | </div> | |
387 | </div> | |
aa51da11 | 388 | <div class="form-group"> |
60599f7a | 389 | <label class="col-sm-2 control-label" data-translate>Block Explorers</label> |
aa51da11 IC |
390 | <div class="col-sm-10"> |
391 | <p class="form-control no-border"> | |
60599f7a IC |
392 | <span data-translate-html>Use path <code>m/44'/0'/0'</code>.</span> |
393 | <span data-translate-html>Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.</span> | |
ea12c8a9 IC |
394 | </p> |
395 | <p class="form-control no-border"> | |
60599f7a IC |
396 | <span data-translate>Can be used with</span>: |
397 | <a href="https://blockchain.info/" target="_blank">blockchain.info</a> | |
aa51da11 IC |
398 | </p> |
399 | </div> | |
400 | </div> | |
ebd8d4e8 IC |
401 | </form> |
402 | </div> | |
403 | </div> | |
404 | <form class="form-horizontal" role="form"> | |
405 | <div class="form-group"> | |
c554e6ff | 406 | <label for="extended-priv-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Private Key</label> |
ebd8d4e8 | 407 | <div class="col-sm-10"> |
e00964cc | 408 | <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly" data-show-qr></textarea> |
ebd8d4e8 IC |
409 | </div> |
410 | </div> | |
411 | <div class="form-group"> | |
c554e6ff | 412 | <label for="extended-pub-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Public Key</label> |
ebd8d4e8 | 413 | <div class="col-sm-10"> |
e00964cc | 414 | <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr></textarea> |
ebd8d4e8 IC |
415 | </div> |
416 | </div> | |
417 | </form> | |
418 | </div> | |
419 | </div> | |
420 | ||
421 | <hr> | |
422 | ||
423 | <div class="row"> | |
424 | <div class="col-md-12"> | |
425 | <h2>Derived Addresses</h2> | |
60599f7a | 426 | <p data-translate>Note these addreses are derived from the BIP32 Extended Key</p> |
ebd8d4e8 IC |
427 | <table class="table table-striped"> |
428 | <thead> | |
429 | <th> | |
430 | <div class="input-group"> | |
60599f7a IC |
431 | <span data-translate>Path</span> |
432 | <button class="index-toggle" data-translate>Toggle</button> | |
ebd8d4e8 IC |
433 | </div> |
434 | </th> | |
435 | <th> | |
436 | <div class="input-group"> | |
60599f7a IC |
437 | <span data-translate>Address</span> |
438 | <button class="address-toggle" data-translate>Toggle</button> | |
ebd8d4e8 IC |
439 | </div> |
440 | </th> | |
1b12b2f5 IC |
441 | <th> |
442 | <div class="input-group"> | |
60599f7a IC |
443 | <span data-translate>Public Key</span> |
444 | <button class="public-key-toggle" data-translate>Toggle</button> | |
1b12b2f5 IC |
445 | </div> |
446 | </th> | |
ebd8d4e8 IC |
447 | <th> |
448 | <div class="input-group"> | |
60599f7a IC |
449 | <span data-translate>Private Key</span> |
450 | <button class="private-key-toggle" data-translate>Toggle</button> | |
ebd8d4e8 IC |
451 | </div> |
452 | </th> | |
453 | </thead> | |
d737abf6 | 454 | <tbody class="addresses monospace"> |
a0a19620 IC |
455 | <tr><td> </td><td> </td><td> </td><td> </td></tr> |
456 | <tr><td> </td><td> </td><td> </td><td> </td></tr> | |
457 | <tr><td> </td><td> </td><td> </td><td> </td></tr> | |
458 | <tr><td> </td><td> </td><td> </td><td> </td></tr> | |
459 | <tr><td> </td><td> </td><td> </td><td> </td></tr> | |
ebd8d4e8 IC |
460 | </tbody> |
461 | </table> | |
462 | </div> | |
463 | </div> | |
60599f7a | 464 | <span data-translate>Show more rows</span>: |
ebd8d4e8 | 465 | <input type="number" class="rows-to-add" value="20"> |
60599f7a | 466 | <button class="more" data-translate>Show</button> |
ebd8d4e8 IC |
467 | |
468 | <hr> | |
469 | ||
470 | <div class="row"> | |
471 | <div class="col-md-12"> | |
60599f7a IC |
472 | <h2 data-translate>More info</h2> |
473 | <h3>BIP39 <span class="small" data-translate>Mnemonic code for generating deterministic keys</span></h3> | |
474 | <p data-translate-html> | |
ebd8d4e8 IC |
475 | Read more at the |
476 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a> | |
477 | </p> | |
60599f7a IC |
478 | <h3>BIP32 <span class="small" data-translate>Hierarchical Deterministic Wallets</span></h3> |
479 | <p data-translate-html> | |
ebd8d4e8 IC |
480 | Read more at the |
481 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a> | |
60599f7a IC |
482 | </p> |
483 | <p data-translate-html> | |
484 | See the demo at | |
ebd8d4e8 IC |
485 | <a href="http://bip32.org/" target="_blank">bip32.org</a> |
486 | </p> | |
60599f7a IC |
487 | <h3>BIP44 <span class="small" data-translate>Multi-Account Hierarchy for Deterministic Wallets</span></h3> |
488 | <p data-translate-html> | |
ebd8d4e8 IC |
489 | Read more at the |
490 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a> | |
491 | </p> | |
60599f7a | 492 | <h3 data-translate>Private Keys</h3> |
ebd8d4e8 | 493 | <p> |
60599f7a IC |
494 | <span data-translate-html> |
495 | Use private keys at | |
496 | <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>. | |
497 | </span> | |
498 | <span data-translate>Be careful - it can be easy to make mistakes if you don't know what you're doing.</span> | |
ebd8d4e8 | 499 | </p> |
60599f7a | 500 | <h3 id="entropy-notes" data-translate>Entropy</h3> |
c6624d51 | 501 | <p> |
60599f7a IC |
502 | <span data-translate-html> |
503 | Entropy values must be sourced from a | |
504 | <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>. | |
505 | </span> | |
506 | <span data-translate>This means flipping a fair coin, rolling a fair dice, noise measurements etc.</span> | |
507 | <span data-translate-html> | |
508 | Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address, | |
509 | keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't | |
510 | random enough for the needs of this tool. | |
511 | </span> | |
c6624d51 IC |
512 | </p> |
513 | <p> | |
60599f7a IC |
514 | <span data-translate-html> |
515 | The random mnemonic generator on this page uses a | |
516 | <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>. | |
517 | </span> | |
518 | <span data-translate>The built in random generator can generally be trusted more than your own intuition about randomness.</span> | |
519 | <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> | |
520 | <span data-translate>In that case you might choose to use your own source of entropy.</span> | |
c6624d51 IC |
521 | </p> |
522 | <p> | |
60599f7a | 523 | <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 | 524 | </p> |
ebd8d4e8 IC |
525 | </div> |
526 | </div> | |
45b8a745 IC |
527 | |
528 | <hr> | |
529 | ||
c5863485 IC |
530 | <div class="row"> |
531 | <div class="col-md-12"> | |
532 | ||
60599f7a | 533 | <h2 data-translate>Offline Usage</h2> |
c5863485 | 534 | |
60599f7a | 535 | <p data-translate> |
c5863485 IC |
536 | You can use this tool without having to be online. |
537 | </p> | |
60599f7a | 538 | <p data-translate> |
c5863485 IC |
539 | In your browser, select file save-as, and save this page |
540 | as a file. | |
541 | </p> | |
60599f7a | 542 | <p data-translate> |
c5863485 IC |
543 | Double-click that file to open it in a browser |
544 | on any offline computer. | |
545 | </p> | |
546 | <p> | |
60599f7a IC |
547 | <span data-translate>Alternatively, download the file from the repository</span> |
548 | - | |
549 | <a href="https://github.com/iancoleman/bip39">https://github.com/iancoleman/bip39</a> | |
550 | </p> | |
c5863485 IC |
551 | |
552 | </div> | |
553 | </div> | |
554 | ||
555 | <hr> | |
556 | ||
45b8a745 IC |
557 | <div class="row"> |
558 | <div class="col-md-12"> | |
559 | ||
60599f7a | 560 | <h2 data-translate>This project is 100% open-source code</h2> |
45b8a745 IC |
561 | |
562 | <p> | |
60599f7a IC |
563 | <span data-translate>Get the source code from the repository</span> |
564 | - | |
b630f83d IC |
565 | <a href="https://github.com/iancoleman/bip39" target="_blank"> |
566 | https://github.com/iancoleman/bip39 | |
45b8a745 IC |
567 | </a> |
568 | </p> | |
569 | ||
60599f7a | 570 | <h3 data-translate>Libraries</h3> |
45b8a745 IC |
571 | |
572 | <p> | |
573 | <span>BitcoinJS - </span> | |
574 | <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank"> | |
575 | https://github.com/bitcoinjs/bitcoinjs-lib | |
576 | </a> | |
577 | </p> | |
578 | ||
579 | <p> | |
580 | <span>jsBIP39 - </span> | |
581 | <a href="https://github.com/iancoleman/jsbip39" target="_blank"> | |
582 | https://github.com/iancoleman/jsbip39 | |
583 | </a> | |
584 | </p> | |
585 | ||
586 | <p> | |
0937f3ab IC |
587 | <span>sjcl - </span> |
588 | <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank"> | |
589 | https://github.com/bitwiseshiftleft/sjcl | |
45b8a745 IC |
590 | </a> |
591 | </p> | |
592 | ||
593 | <p> | |
594 | <span>jQuery - </span> | |
595 | <a href="https://jquery.com/" target="_blank"> | |
596 | https://jquery.com/ | |
597 | </a> | |
598 | </p> | |
599 | ||
600 | <p> | |
601 | <span>Twitter Bootstrap - </span> | |
602 | <a href="http://getbootstrap.com/" target="_blank"> | |
603 | http://getbootstrap.com/ | |
604 | </a> | |
605 | </p> | |
606 | ||
607 | </div> | |
608 | </div> | |
609 | ||
ebd8d4e8 IC |
610 | </div> |
611 | ||
e00964cc IC |
612 | <div class="qr-container hidden"> |
613 | <div class="qr-hint bg-primary" data-translate>Click field to hide QR</div> | |
614 | <div class="qr-hint bg-primary hidden" data-translate>Click field to show QR</div> | |
615 | <div class="qr-image"></div> | |
616 | </div> | |
617 | ||
ebd8d4e8 | 618 | <div class="feedback-container"> |
d26cce22 | 619 | <div class="feedback">Loading...</div> |
ebd8d4e8 IC |
620 | </div> |
621 | ||
622 | <script type="text/template" id="address-row-template"> | |
623 | <tr> | |
624 | <td class="index"><span></span></td> | |
e00964cc IC |
625 | <td class="address"><span data-show-qr></span></td> |
626 | <td class="pubkey"><span data-show-qr></span></td> | |
627 | <td class="privkey"><span data-show-qr></span></td> | |
ebd8d4e8 IC |
628 | </tr> |
629 | </script> | |
cee442b1 KK |
630 | <script src="js/jquery.min.js"></script> |
631 | <script src="js/bootstrap.min.js"></script> | |
563e401a | 632 | <script src="js/levenshtein.js"></script> |
e00964cc | 633 | <script src="js/jquery.qrcode.min.js"></script> |
cee442b1 KK |
634 | <script src="js/bitcoinjs-1-5-7.js"></script> |
635 | <script src="js/bitcoinjs-extensions.js"></script> | |
636 | <script src="js/sjcl-bip39.js"></script> | |
c3c3df47 IC |
637 | <script src="js/translate.js"></script> |
638 | <script src="js/phrases_en.js"></script> | |
cee442b1 | 639 | <script src="js/wordlist_english.js"></script> |
3a8dbe99 IC |
640 | <script src="js/wordlist_japanese.js"></script> |
641 | <script src="js/wordlist_spanish.js"></script> | |
642 | <script src="js/wordlist_chinese_simplified.js"></script> | |
643 | <script src="js/wordlist_chinese_traditional.js"></script> | |
644 | <script src="js/wordlist_french.js"></script> | |
645 | <script src="js/wordlist_italian.js"></script> | |
cee442b1 | 646 | <script src="js/jsbip39.js"></script> |
b6dbc2a1 | 647 | <script src="js/biginteger.js"></script> |
b299a6a7 | 648 | <script src="js/zxcvbn.js"></script> |
c6624d51 | 649 | <script src="js/entropy.js"></script> |
cee442b1 | 650 | <script src="js/index.js"></script> |
ebd8d4e8 IC |
651 | </body> |
652 | </html> |