# 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
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%
```
## CrowdNode CLI
```bash
+# Install to system, globally
npm install --location=global crowdnode-cli@v1
```
+Or
+
```bash
+# Run without installing
npx crowdnode-cli@v1
```
## 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>
## 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