console.info("");
console.info("Key Management & Encryption:");
- console.info(" crowdnode generate [./privkey.wif]");
+ console.info(" crowdnode generate [--plain-text] [./privkey.wif]");
console.info(" crowdnode encrypt"); // TODO allow encrypting one-by-one?
console.info(" crowdnode list");
console.info(" crowdnode use <addr>");
// flags
let forceConfirm = removeItem(args, "--unconfirmed");
+ let plainText = removeItem(args, "--plain-text");
let noReserve = removeItem(args, "--no-reserve");
let subcommand = args.shift();
}
if ("generate" === subcommand) {
- await generateKey({ defaultKey: defaultAddr }, args);
+ await generateKey({ defaultKey: defaultAddr, plainText }, args);
return;
}
* @param {Number} duffs - 1/100000000 of a DASH
*/
function showQr(addr, duffs = 0) {
+ let dashAmount = toDash(duffs);
let dashUri = `dash://${addr}`;
if (duffs) {
- dashUri += `?amount=${duffs}`;
+ dashUri += `?amount=${dashAmount}`;
}
let dashQr = Qr.ascii(dashUri, { indent: 4 });
/**
* @param {Object} psuedoState
* @param {String} psuedoState.defaultKey - addr name of default key
+ * @param {Boolean} psuedoState.plainText - don't encrypt
* @param {Array<String>} args
*/
-async function generateKey({ defaultKey }, args) {
+async function generateKey({ defaultKey, plainText }, args) {
let name = args.shift();
//@ts-ignore - TODO submit JSDoc PR for Dashcore
let pk = new Dashcore.PrivateKey();
let addr = pk.toAddress().toString();
let plainWif = pk.toWIF();
- let wif = await maybeEncrypt(plainWif);
+ let wif = plainWif;
+ if (!plainText) {
+ wif = await maybeEncrypt(plainWif);
+ }
let filename = `~/${configdir}/keys/${addr}.wif`;
let filepath = Path.join(`${keysDir}/${addr}.wif`);