docs: update CLI docs (and add --plain-text flag)
authorAJ ONeal <coolaj86@gmail.com>
Thu, 23 Jun 2022 11:03:42 +0000 (05:03 -0600)
committerAJ ONeal <coolaj86@gmail.com>
Thu, 23 Jun 2022 11:03:42 +0000 (05:03 -0600)
bin/crowdnode.js
cli/README.md

index 2cf8cdfaf269a9dc74b4f50be7449d4ee633fa9d..47357e2d264f2d769df89fef6b605f5b81b3dd69 100755 (executable)
@@ -74,7 +74,7 @@ function showHelp() {
   console.info("");
 
   console.info("Key Management & Encryption:");
   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>");
   console.info("    crowdnode encrypt"); // TODO allow encrypting one-by-one?
   console.info("    crowdnode list");
   console.info("    crowdnode use <addr>");
@@ -119,6 +119,7 @@ async function main() {
 
   // flags
   let forceConfirm = removeItem(args, "--unconfirmed");
 
   // flags
   let forceConfirm = removeItem(args, "--unconfirmed");
+  let plainText = removeItem(args, "--plain-text");
   let noReserve = removeItem(args, "--no-reserve");
 
   let subcommand = args.shift();
   let noReserve = removeItem(args, "--no-reserve");
 
   let subcommand = args.shift();
@@ -158,7 +159,7 @@ async function main() {
   }
 
   if ("generate" === subcommand) {
   }
 
   if ("generate" === subcommand) {
-    await generateKey({ defaultKey: defaultAddr }, args);
+    await generateKey({ defaultKey: defaultAddr, plainText }, args);
     return;
   }
 
     return;
   }
 
@@ -559,9 +560,10 @@ async function mustGetDefaultWif(defaultAddr, opts) {
 /**
  * @param {Object} psuedoState
  * @param {String} psuedoState.defaultKey - addr name of default key
 /**
  * @param {Object} psuedoState
  * @param {String} psuedoState.defaultKey - addr name of default key
+ * @param {Boolean} psuedoState.plainText - don't encrypt
  * @param {Array<String>} args
  */
  * @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 name = args.shift();
   //@ts-ignore - TODO submit JSDoc PR for Dashcore
   let pk = new Dashcore.PrivateKey();
@@ -569,7 +571,10 @@ async function generateKey({ defaultKey }, args) {
   let addr = pk.toAddress().toString();
   let plainWif = pk.toWIF();
 
   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`);
 
   let filename = `~/${configdir}/keys/${addr}.wif`;
   let filepath = Path.join(`${keysDir}/${addr}.wif`);
index df4948001d1d86f3be6d83127d97211a776f25cb..fccf8403825dca247898fd816293ce02a0e8c06f 100644 (file)
@@ -90,15 +90,19 @@ Usage:
     crowdnode withdrawal [keyfile-or-addr] <percent> # 1.0-100.0 (steps by 0.1)
 
 Helpful Extras:
     crowdnode withdrawal [keyfile-or-addr] <percent> # 1.0-100.0 (steps by 0.1)
 
 Helpful Extras:
-    crowdnode generate [./privkey.wif]
-    crowdnode list
-    crowdnode encrypt # TODO
-    crowdnode decrypt # TODO
-    crowdnode use <addr>
-    crowdnode load [keyfile-or-addr] [dash-amount]
     crowdnode balance [keyfile-or-addr]
     crowdnode balance [keyfile-or-addr]
+    crowdnode load [keyfile-or-addr] [dash-amount]
     crowdnode transfer <from-keyfile-or-addr> <to-keyfile-or-addr> [dash-amount]
     crowdnode transfer <from-keyfile-or-addr> <to-keyfile-or-addr> [dash-amount]
-    crowdnode rm <keyfile-or-addr>
+
+Key Management & Encryption:
+    crowdnode generate [./privkey.wif] [--plain-text]
+    crowdnode list
+    crowdnode use <addr>            # set as default key
+    crowdnode passphrase            # set or rotate passphrase
+    crowdnode import <keyfile>      # copy and encrypt key
+    crowdnode encrypt               # encrypt all keys
+    crowdnode decrypt               # decrypt all keys
+    crowdnode delete <addr>         # delete key (must have 0 balance)
 
 CrowdNode HTTP RPC:
     crowdnode http FundsOpen <addr>
 
 CrowdNode HTTP RPC:
     crowdnode http FundsOpen <addr>