]>
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> | |
6 | <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> | |
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" /> | |
10 | <meta content="DC POS" name="author" /> | |
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 | } | |
38 | </style> | |
39 | </head> | |
40 | <body> | |
41 | <div class="container"> | |
42 | ||
43 | <h1 class="text-center">Mnemonic Code Converter</h1> | |
44 | <hr> | |
45 | <div class="row"> | |
46 | <div class="col-md-12"> | |
d4779799 | 47 | <h2>Mnemonic</h2> |
ebd8d4e8 IC |
48 | <form class="form-horizontal" role="form"> |
49 | <div class="col-sm-2"></div> | |
50 | <div class="col-sm-10"> | |
d4779799 | 51 | <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> |
ebd8d4e8 IC |
52 | <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a></p> |
53 | </div> | |
54 | <div class="form-group"> | |
1abcc511 | 55 | <label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label> |
ebd8d4e8 IC |
56 | <div class="col-sm-10"> |
57 | <textarea id="phrase" class="phrase form-control"></textarea> | |
58 | </div> | |
59 | </div> | |
60 | <div class="form-group"> | |
61 | <label for="strength" class="col-sm-2 control-label">Number of words</label> | |
62 | <div class="col-sm-10"> | |
63 | <div class="input-group"> | |
64 | <input type="number" class="strength form-control" id="strength" value="12"> | |
65 | <span class="input-group-btn"> | |
d4779799 | 66 | <button class="btn generate">Generate Random Mnemonic</button> |
ebd8d4e8 IC |
67 | </span> |
68 | </div> | |
69 | </div> | |
70 | </div> | |
1abcc511 PR |
71 | <div class="form-group"> |
72 | <label for="passphrase" class="col-sm-2 control-label">BIP39 Passphrase (optional)</label> | |
73 | <div class="col-sm-10"> | |
74 | <textarea id="passphrase" class="passphrase form-control"></textarea> | |
75 | </div> | |
76 | </div> | |
4d457a38 IC |
77 | <div class="form-group"> |
78 | <label for="network-phrase" class="col-sm-2 control-label">Coin</label> | |
79 | <div class="col-sm-10"> | |
80 | <select id="network-phrase" class="network form-control"> | |
81 | <option value="bitcoin">Bitcoin</option> | |
82 | <option value="bitcoin-testnet">Bitcoin Testnet</option> | |
83 | <option value="litecoin">Litecoin</option> | |
84 | <option value="dogecoin">Dogecoin</option> | |
85 | </select> | |
86 | </div> | |
87 | </div> | |
ebd8d4e8 IC |
88 | <div class="form-group"> |
89 | <label for="root-key" class="col-sm-2 control-label">BIP32 Root Key</label> | |
90 | <div class="col-sm-10"> | |
d198865f | 91 | <textarea id="root-key" class="root-key form-control" readonly="readonly"></textarea> |
ebd8d4e8 IC |
92 | </div> |
93 | </div> | |
94 | </form> | |
95 | </div> | |
96 | </div> | |
97 | ||
98 | <hr> | |
99 | ||
100 | <div class="row"> | |
101 | <div class="col-md-12"> | |
102 | <h2>Derivation Path</h2> | |
103 | <ul class="derivation-type nav nav-tabs" role="tablist"> | |
42887888 IC |
104 | <li id="hive-tab" class="active"> |
105 | <a href="#hive" role="tab" data-toggle="tab">Hive Wallet</a> | |
106 | </li> | |
7a58f376 IC |
107 | <li id="mycelium-tab"> |
108 | <a href="#mycelium" role="tab" data-toggle="tab">Mycelium Wallet</a> | |
109 | </li> | |
42887888 | 110 | <li id="bip44-tab"> |
23d4a0f1 IC |
111 | <a href="#bip44" role="tab" data-toggle="tab">BIP44</a> |
112 | </li> | |
3b40653f | 113 | <li id="bip32-tab"> |
23d4a0f1 IC |
114 | <a href="#bip32" role="tab" data-toggle="tab">BIP32</a> |
115 | </li> | |
ebd8d4e8 IC |
116 | </ul> |
117 | <div class="derivation-type tab-content"> | |
42887888 IC |
118 | <div id="hive" class="tab-pane active"> |
119 | <form class="form-horizontal" role="form"> | |
120 | <br> | |
121 | <div class="col-sm-2"></div> | |
122 | <div class="col-sm-10"> | |
123 | <p>For more info see the <a href="https://www.hivewallet.com/" target="_blank">Hive Wallet homepage</a></p> | |
124 | </div> | |
125 | <div class="form-group"> | |
126 | <label for="hive-path" class="col-sm-2 control-label">BIP32 Derivation Path</label> | |
127 | <div class="col-sm-10"> | |
128 | <input id="hive-path" type="text" class="path form-control" value="m/0'/0" readonly="readonly"> | |
129 | </div> | |
130 | </div> | |
131 | </form> | |
132 | </div> | |
7a58f376 IC |
133 | <div id="mycelium" class="tab-pane"> |
134 | <form class="form-horizontal" role="form"> | |
135 | <br> | |
136 | <div class="col-sm-2"></div> | |
137 | <div class="col-sm-10"> | |
138 | <p>For more info see the <a href="http://www.mycelium.com/" target="_blank">Mycelium Wallet homepage</a></p> | |
139 | </div> | |
140 | <div class="form-group"> | |
141 | <label for="mycelium-path" class="col-sm-2 control-label">BIP32 Derivation Path</label> | |
142 | <div class="col-sm-10"> | |
143 | <input id="mycelium-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly"> | |
144 | </div> | |
145 | </div> | |
146 | </form> | |
147 | </div> | |
42887888 | 148 | <div id="bip44" class="tab-pane"> |
ebd8d4e8 IC |
149 | <form class="form-horizontal" role="form"> |
150 | <br> | |
151 | <div class="col-sm-2"></div> | |
152 | <div class="col-sm-10"> | |
153 | <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a></p> | |
154 | </div> | |
155 | <div class="form-group"> | |
156 | <label for="purpose" class="col-sm-2 control-label"> | |
157 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank">Purpose</a> | |
158 | </label> | |
159 | <div class="col-sm-10"> | |
160 | <input id="purpose" type="text" class="purpose form-control" value="44"> | |
161 | </div> | |
162 | </div> | |
163 | <div class="form-group"> | |
164 | <label for="coin" class="col-sm-2 control-label"> | |
165 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank">Coin</a> | |
166 | </label> | |
167 | <div class="col-sm-10"> | |
168 | <input id="coin" type="text" class="coin form-control" value="0"> | |
169 | </div> | |
170 | </div> | |
171 | <div class="form-group"> | |
172 | <label for="account" class="col-sm-2 control-label"> | |
173 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank">Account</a> | |
174 | </label> | |
175 | <div class="col-sm-10"> | |
176 | <input id="account" type="text" class="account form-control" value="0"> | |
177 | </div> | |
178 | </div> | |
179 | <div class="form-group"> | |
180 | <label for="change" class="col-sm-2 control-label"> | |
181 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank">External / Internal</a> | |
182 | </label> | |
183 | <div class="col-sm-10"> | |
184 | <input id="change" type="text" class="change form-control" value="0"> | |
185 | </div> | |
186 | </div> | |
187 | <div class="form-group"> | |
188 | <label for="bip44-path" class="col-sm-2 control-label">BIP32 Derivation Path</label> | |
189 | <div class="col-sm-10"> | |
d198865f | 190 | <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly"> |
ebd8d4e8 IC |
191 | </div> |
192 | </div> | |
193 | </form> | |
194 | </div> | |
195 | <div id="bip32" class="tab-pane"> | |
196 | <form class="form-horizontal" role="form"> | |
197 | <br> | |
198 | <div class="col-sm-2"></div> | |
199 | <div class="col-sm-10"> | |
200 | <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a></p> | |
201 | </div> | |
202 | <div class="form-group"> | |
203 | <label for="bip32-path" class="col-sm-2 control-label">BIP32 Derivation Path</label> | |
204 | <div class="col-sm-10"> | |
205 | <input id="bip32-path" type="text" class="path form-control" value="m/0"> | |
206 | </div> | |
207 | </div> | |
208 | </form> | |
209 | </div> | |
210 | </div> | |
211 | <form class="form-horizontal" role="form"> | |
212 | <div class="form-group"> | |
213 | <label for="extended-priv-key" class="col-sm-2 control-label">BIP32 Extended Key</label> | |
214 | <div class="col-sm-10"> | |
d198865f | 215 | <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly"></textarea> |
ebd8d4e8 IC |
216 | </div> |
217 | </div> | |
218 | <div class="form-group"> | |
219 | <label for="extended-pub-key" class="col-sm-2 control-label">BIP32 Extended Key (addresses only)</label> | |
220 | <div class="col-sm-10"> | |
d198865f | 221 | <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly"></textarea> |
ebd8d4e8 IC |
222 | </div> |
223 | </div> | |
224 | </form> | |
225 | </div> | |
226 | </div> | |
227 | ||
228 | <hr> | |
229 | ||
230 | <div class="row"> | |
231 | <div class="col-md-12"> | |
232 | <h2>Derived Addresses</h2> | |
233 | <p>Note these addreses are derived from the <strong>BIP32 Extended Key</strong></p> | |
234 | <table class="table table-striped"> | |
235 | <thead> | |
236 | <th> | |
237 | <div class="input-group"> | |
238 | Index | |
239 | <button class="index-toggle">Toggle</button> | |
240 | </div> | |
241 | </th> | |
242 | <th> | |
243 | <div class="input-group"> | |
244 | Address | |
245 | <button class="address-toggle">Toggle</button> | |
246 | </div> | |
247 | </th> | |
248 | <th> | |
249 | <div class="input-group"> | |
250 | Private Key | |
251 | <button class="private-key-toggle">Toggle</button> | |
252 | </div> | |
253 | </th> | |
254 | </thead> | |
255 | <tbody class="addresses"> | |
256 | <tr><td> </td><td> </td><td> </td></tr> | |
257 | <tr><td> </td><td> </td><td> </td></tr> | |
258 | <tr><td> </td><td> </td><td> </td></tr> | |
259 | <tr><td> </td><td> </td><td> </td></tr> | |
260 | <tr><td> </td><td> </td><td> </td></tr> | |
261 | </tbody> | |
262 | </table> | |
263 | </div> | |
264 | </div> | |
265 | <span>Show next </button> | |
266 | <input type="number" class="rows-to-add" value="20"> | |
267 | <button class="more">Show</button> | |
268 | ||
269 | <hr> | |
270 | ||
271 | <div class="row"> | |
272 | <div class="col-md-12"> | |
273 | <h2>More info</h2> | |
274 | <h3>BIP39 <span class="small">Mnemonic code for generating deterministic keys</span></h3> | |
275 | <p> | |
276 | Read more at the | |
277 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a> | |
278 | </p> | |
279 | <h3>BIP32 <span class="small">Hierarchical Deterministic Wallets</span></h3> | |
280 | <p> | |
281 | Read more at the | |
282 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a> | |
283 | and see the demo at | |
284 | <a href="http://bip32.org/" target="_blank">bip32.org</a> | |
285 | </p> | |
286 | <h3>BIP44 <span class="small">Multi-Account Hierarchy for Deterministic Wallets</span></h3> | |
287 | <p> | |
288 | Read more at the | |
289 | <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a> | |
290 | </p> | |
291 | <h3>Private Keys</h3> | |
292 | <p> | |
293 | Use private keys at | |
294 | <a href="https://brainwallet.github.io/" target="_blank">brainwallet.org</a>, | |
295 | but be careful - it can be easy to make mistakes if you | |
296 | don't know what you're doing | |
297 | </p> | |
298 | </div> | |
299 | </div> | |
45b8a745 IC |
300 | |
301 | <hr> | |
302 | ||
c5863485 IC |
303 | <div class="row"> |
304 | <div class="col-md-12"> | |
305 | ||
306 | <h2>Offline Usage</h2> | |
307 | ||
308 | <p> | |
309 | You can use this tool without having to be online. | |
310 | </p> | |
311 | <p> | |
312 | In your browser, select file save-as, and save this page | |
313 | as a file. | |
314 | </p> | |
315 | <p> | |
316 | Double-click that file to open it in a browser | |
317 | on any offline computer. | |
318 | </p> | |
319 | <p> | |
320 | Alternatively, download it from | |
321 | <a href="https://github.com/dcpos/bip39"> | |
322 | https://github.com/dcpos/bip39 | |
323 | </a> | |
324 | ||
325 | </div> | |
326 | </div> | |
327 | ||
328 | <hr> | |
329 | ||
45b8a745 IC |
330 | <div class="row"> |
331 | <div class="col-md-12"> | |
332 | ||
333 | <h2>This project is 100% open-source code</h2> | |
334 | ||
335 | <p> | |
336 | <span>Get the source code at - </span> | |
337 | <a href="https://github.com/dcpos/bip39" target="_blank"> | |
338 | https://github.com/dcpos/bip39 | |
339 | </a> | |
340 | </p> | |
341 | ||
342 | <h3>Libraries</h3> | |
343 | ||
344 | <p> | |
345 | <span>BitcoinJS - </span> | |
346 | <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank"> | |
347 | https://github.com/bitcoinjs/bitcoinjs-lib | |
348 | </a> | |
349 | </p> | |
350 | ||
351 | <p> | |
352 | <span>jsBIP39 - </span> | |
353 | <a href="https://github.com/iancoleman/jsbip39" target="_blank"> | |
354 | https://github.com/iancoleman/jsbip39 | |
355 | </a> | |
356 | </p> | |
357 | ||
358 | <p> | |
0937f3ab IC |
359 | <span>sjcl - </span> |
360 | <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank"> | |
361 | https://github.com/bitwiseshiftleft/sjcl | |
45b8a745 IC |
362 | </a> |
363 | </p> | |
364 | ||
365 | <p> | |
366 | <span>jQuery - </span> | |
367 | <a href="https://jquery.com/" target="_blank"> | |
368 | https://jquery.com/ | |
369 | </a> | |
370 | </p> | |
371 | ||
372 | <p> | |
373 | <span>Twitter Bootstrap - </span> | |
374 | <a href="http://getbootstrap.com/" target="_blank"> | |
375 | http://getbootstrap.com/ | |
376 | </a> | |
377 | </p> | |
378 | ||
379 | </div> | |
380 | </div> | |
381 | ||
ebd8d4e8 IC |
382 | </div> |
383 | ||
384 | <div class="feedback-container"> | |
d26cce22 | 385 | <div class="feedback">Loading...</div> |
ebd8d4e8 IC |
386 | </div> |
387 | ||
388 | <script type="text/template" id="address-row-template"> | |
389 | <tr> | |
390 | <td class="index"><span></span></td> | |
391 | <td class="address"><span></span></td> | |
392 | <td class="privkey"><span></span></td> | |
393 | </tr> | |
394 | </script> | |
395 | <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> | |
396 | <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> | |
397 | <script src="/js/bitcoinjs-1-0-0.js"></script> | |
e66c8a9b | 398 | <script src="/js/sjcl-bip39.js"></script> |
4dd60506 | 399 | <script src="/js/wordlist_english.js"></script> |
ebd8d4e8 IC |
400 | <script src="/js/jsbip39.js"></script> |
401 | <script src="/js/index.js"></script> | |
402 | </body> | |
403 | </html> |