You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
addNote("Seed Phrase","Press 'Generate' to create a Mnemonic seed phrase (normally 12 words) or enter words you have already created elsewhere. You should also use a good passphrase. Keep a safe backup." );;
253
257
254
258
{ // Mnemonic entry box
255
-
addLabel("Mnemonic Phrase","BIP39 Mnemonic phrase. These should be 12, 15, 18, 21 or 24 random words from the BIP39 standard word list.");
259
+
addLabel("Mnemonic Phrase","BIP39 Mnemonic phrase. These should be 12, 15, 18, 21 or 24 random words from the BIP39 standard word list.\n\nKeep a secure offline backup of this along with the passphrase so that you can re-generate your key pairs if required. If you are serious about your key security, engraving on metal plates and locking in a safe is a reasonable idea.");
256
260
mnemonicArea = makeTextArea();
257
261
mnemonicArea.setWrapStyleWord(true);
258
262
mnemonicArea.setLineWrap(true);
@@ -269,17 +273,32 @@ public KeyGenPanel(PeerGUI manager) {
269
273
}
270
274
271
275
{ // Passphrase entry box
272
-
addLabel("Passphrase","BIP39 secret passphrase. This acts as a secret 'extra word' to generate the BIP39 seed alongside the mnemonic. Strong passphrase recommended.");
276
+
addLabel("Passphrase","BIP39 secret passphrase. This acts as a secret 'extra word' to generate the BIP39 seed alongside the mnemonic. Strong passphrase recommended.\n\nYou can leave this blank, but then anyone with access to the mnemonic words can easily re-create and use your keys.");
formPanel.add(newJPanel()); // skip first 2 columns
288
+
formPanel.add(newJPanel()); // skip first 2 columns
289
+
warningArea = makeTextArea();
290
+
291
+
warningArea.setLineWrap(true);
292
+
warningArea.setWrapStyleWord(true);
293
+
warningArea.setEditable(false);
294
+
warningArea.setToolTipText("This is a quick heuristic check of mnemonic and passphrase.\nHeeding any warnings is advised, but you can ignore them if you know what you are doing (or don't care).");
295
+
formPanel.add(warningArea,TEXTAREA_CONSTRAINT);
296
+
}
297
+
298
+
addNote("Key Derivation","Below are the BIP39 / SLIP-10 key derivation steps. You can usually ignore these, but they are available in case you want to verify or modify the key derivation steps.");
299
+
300
+
301
+
{
283
302
addLabel("BIP39 Seed","This is the BIP39 seed generated from the mnemonic and passphrase. You can also enter this directly.");
284
303
seedArea = makeTextArea();
285
304
seedArea.setRows(2);
@@ -294,20 +313,8 @@ public KeyGenPanel(PeerGUI manager) {
294
313
}));
295
314
}
296
315
297
-
{
298
-
formPanel.add(newJPanel()); // skip first 2 columns
299
-
formPanel.add(newJPanel()); // skip first 2 columns
300
-
warningArea = makeTextArea();
301
-
302
-
warningArea.setLineWrap(true);
303
-
warningArea.setWrapStyleWord(true);
304
-
warningArea.setEditable(false);
305
-
warningArea.setToolTipText("This is a quick heuristic check of mnemonic and passphrase.\nHeeding any warnings is advised, but you can ignore them if you know what you are doing (or don't care).");
306
-
formPanel.add(warningArea,TEXTAREA_CONSTRAINT);
307
-
}
308
316
309
317
310
-
addNote("Once the BIP39 seed is generated, we use SLIP-10 to create a derivation path to an Ed25519 private key. \n\nInstead of a BIP39 seed, you can also use another good secret source of random entropy, e.g. SLIP-0039.");
311
318
312
319
{
313
320
addLabel("SLIP-10 Master Key","SLIP-10 creates a Master Key from the BIP39 seed, which acts as the root of key generation for a heirarchical deterministic wallet.");
@@ -321,7 +328,6 @@ public KeyGenPanel(PeerGUI manager) {
321
328
}
322
329
323
330
{
324
-
intCC = Constants.CHAIN_CODE;
325
331
addLabel("BIP32 Path","This is the hierarchical path for key generation as defined in BIP32. \n - 'm' specifies the master key. \n - 44 is the purpose defined as BIP-44. \n - "+CC+" is the Convex SLIP-0044 chain code. \n - The other numbers (account, change, index) may be set at the user's discretion, but are zero by default. \n\nIf you want multiple keys for the same mnemomic, is is recommended to increment the account number. \n\nWARNING: if you change these values, you will need to retain them in order to recover the specified key.");
326
332
derivationArea = makeTextArea();
327
333
@@ -330,7 +336,7 @@ public KeyGenPanel(PeerGUI manager) {
addNote("Ed5519 Key Pair","Below is the Ed25519 Key Pair that is actually used by Convex. You can safely share the public key and Identicon image. Keep the private seed secret!");
357
+
349
358
350
359
{
351
360
addLabel("Private Ed25519 seed","This is the Ed25519 private seed you need to sign transactions in Convex. \nAny 32-byte hex value will work: you can enter this directly if you obtained a good secret random seed from another source.",true);
@@ -373,13 +382,13 @@ public KeyGenPanel(PeerGUI manager) {
@@ -407,7 +416,7 @@ public KeyGenPanel(PeerGUI manager) {
407
416
mnemonicArea.setText(s2);
408
417
updateMnemonic();
409
418
});
410
-
btnNormalise.setToolTipText("Press to normalise mnemonic text according to BIP39. Removes irregular whitespace, sets characters to lowercase.");
419
+
btnNormalise.setToolTipText("Press to normalise mnemonic text according to BIP39. Removes irregular whitespace, sets characters to lowercase, highlights faulty words.");
0 commit comments