docs: simplify intro instructions
[crowdnode.js/.git] / cli / README.md
index 3345cc1f99332bc6081040773b24f361fd0b7d44..77c6b5fe8dad9ab20fffcb46a62ab687be215138 100644 (file)
@@ -1,10 +1,10 @@
 # CrowdNode CLI
 
-CrowdNode allows you to become a partial MNO - staking Dash to earn interest,
-participate in voting, etc.
+[CrowdNode](https://crowdnode.io/) allows you to become a partial MNO - staking
+Dash to earn interest, participate in voting, etc.
 
 This cross-platform CrowdNode CLI enables you to privately manage your stake via
-their KYC-free Blockchain CLI.
+their KYC-free Blockchain API.
 
 # Install
 
@@ -12,14 +12,16 @@ their KYC-free Blockchain CLI.
 
 You must have [node.js](https://webinstall.dev/node) installed:
 
+### Mac & Linux
+
 ```bash
-# Mac, Linux
 curl https://webinstall.dev/node | bash
 export PATH="${HOME}/.local/opt/node:$PATH"
 ```
 
+### Windows
+
 ```pwsh
-# Windows
 curl.exe -A MS https://webinstall.dev/node | powershell
 PATH %USERPROFILE%\.local\opt\node;%PATH%
 ```
@@ -27,10 +29,14 @@ PATH %USERPROFILE%\.local\opt\node;%PATH%
 ## CrowdNode CLI
 
 ```bash
+# Install to system, globally
 npm install --location=global crowdnode-cli@v1
 ```
 
+Or
+
 ```bash
+# Run without installing
 npx crowdnode-cli@v1
 ```
 
@@ -42,51 +48,89 @@ The Dash you stake **can NOT be retrieved** without this key!
 
 ## QuickStart
 
-You can use an existing key, or generate a new one just for CrowdNode. \
-(I recommend printing a Paper Wallet (WIF QR) and sticking it in your safe)
+- Generate a new staking key, or Import from an existing wallet
+- Load the key with Dash
+- Sign up & Accept the CrowdNode's Terms
+- Deposit
+- Withdrawal and Transfer at any time
 
-You can preload your staking key with the amount you wish to stake, or deposit
-when prompted via
+Note: I recommend printing a Paper Wallet (WIF QR) and putting it your safe.
 
-- QR Code
-- Dash URL
-- or Payment Address
-
-You will be given these options whenever the existing balance is low.
-
-0. Generate a **permanent** staking key (just one):
+0. Generate or Import a **permanent** staking key:
+   ```bash
+   # Generate a new key in your CrowdNode CLI wallet:
+   crowdnode generate
+   ```
+   Or
    ```bash
-   crowdnode generate ./privkey.wif
+   # Save a key from dash-cli or Dash Core's Debug Console to a file for import:
+   #    walletpassphrase "YOUR PASSHRASE" 300
+   #    dumprivkey XxYOURxADDRESSx
+   #
+   # Import to the CrowdNode CLI wallet:
+   crowdnode import ./your-key-file.wif.txt
    ```
-   (and put a backup in a safe place)
-1. Send a (tiny) Sign Up payment (Đ0.00151072)
+1. Load the amount of Dash you wish to stake, plus a little extra for fees:
    ```bash
-   crowdnode signup ./privkey.wif
+   crowdnode load 0.503
    ```
-2. Accept the Terms of Use via payment (Đ0.00085536)
+   (you can load a balance via **QR Code**, Dash URL, and Payment Address)
+2. Send the Sign Up request and the [CrowdNode Terms of Service](https://crowdnode.io/terms/):
    ```bash
-   crowdnode accept ./privkey.wif
+   # Sign Up sends Đ0.00151072 to create your account
+   crowdnode signup
+   
+   # Accept sends Đ0.00085536 to accept terms and enable deposits
+   crowdnode accept
    ```
-3. Deposit your stake
+3. Deposit a test stake (in DASH)
    ```bash
-   crowdnode deposit ./privkey.wif
+   # Create a test deposit:
+   crowdnode deposit 0.01
+   
+   # Stake the remaining balance:
+   crowdnode deposit
+   
+   # Load and stake another Đ10:
+   crowdnode deposit 10.0
    ```
+   Note: CrowdNode requires a minimum stake of Đ0.5 to earn interest.
+
+You can withdrawal from 1.0% to 100.0% of your stake at any time, and transfer to an address in another wallet:
+
+```bash
+# Withdrawal 5.0%
+crowdnode withdrawal 5.0
+
+# Transfer your balance
+crowdnode transfer XxYOURxOTHERxADDRESSx 5.0
+```
 
 ## All Commmands
 
 ```bash
 Usage:
     crowdnode help
-    crowdnode status ./privkey.wif
-    crowdnode signup ./privkey.wif
-    crowdnode accept ./privkey.wif
-    crowdnode deposit ./privkey.wif [amount] [--no-reserve]
-    crowdnode withdrawal ./privkey.wif <permil> # 1-1000 (1.0-100.0%)
+    crowdnode status [keyfile-or-addr]
+    crowdnode signup [keyfile-or-addr]
+    crowdnode accept [keyfile-or-addr]
+    crowdnode deposit [keyfile-or-addr] [dash-amount] [--no-reserve]
+    crowdnode withdrawal [keyfile-or-addr] <percent> # 1.0-100.0 (steps by 0.1)
 
 Helpful Extras:
-    crowdnode generate [./privkey.wif]
-    crowdnode balance ./privkey.wif
-    crowdnode transfer ./source.wif <key-file-or-pub-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]
+
+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>
@@ -104,12 +148,11 @@ CrowdNode HTTP RPC:
 
 ## Glossary
 
-| Term          | Description                                                   |
-| ------------- | ------------------------------------------------------------- |
-| addr          | your Dash address (Base58Check-encoded Pay-to-PubKey Address) |
-| amount        | the integer value of "Duffs" (Đ/100000000)                    |
-| permil        | 1/1000, 1‰, or 0.1% - between 1 and 1000 (0.1% to 100.0%)     |
-| ./privkey.wif | the file path to your staking key in WIF (Base58Check) format |
+| Term          | Description                                                          |
+| ------------- | -------------------------------------------------------------------- |
+| addr          | your Dash address (Base58Check-encoded Pay-to-PubKey Address)        |
+| ./privkey.wif | the file path to your staking key in WIF (Base58Check) format        |
+| signature     | generated with [dashmsg](https://webinstall.dev/dashmsg) or dash-cli |
 
 # JS API Documentation