dashhive / crowdnode-cli

Earn ~6% Interest on Dash via CrowdNode - CLI for Mac, Linux, and Windows
https://github.com/dashhive/crowdnode-cli
MIT License
4 stars 1 forks source link

QA Task 1 Notes #9

Closed riongull closed 2 years ago

riongull commented 2 years ago

Notes while doing QA Task 1:

1) Test all features of staking with the crowdnode-cli and report feedback e.g. suggested improvement, roadblocks, etc https://trello.com/c/QUOVFBdT/208-crowdnode-tooling-docs

General nodes

  1. Maybe make the global installation "recommended" on the Crowdnode CLI installation step, since people who know what they're doing know when to not do the recommended option, but people who don't will be lost.

  2. Maybe add a step how to open up a terminal for people who don't know what they're doing. I actually do think there will be some Dash people who are adventurous enough to use this CLI (if for no other reason, for privacy), but who just need that one prerequisite step of knowing how to get into Terminal (or the Windows alternative). I like the Mac option of typing command + spacebar, then typing "Terminal".

  3. The CLI Usage message is a little scary.

CrowdNode staking is managed with a permanent staking key.

The Dash you stake can NOT be retrieved without this key!

Maybe it could be reworded to make the user feel more safe if they follow x, y, z precautions.

Command notes

Command 1
npm install --location=global crowdnode-cli@v1```

Output:

added 110 packages, and audited 111 packages in 5s

14 packages are looking for funding
  run `npm fund` for details

4 moderate severity vulnerabilities

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.
npm notice 
npm notice New major version of npm available! 7.20.3 -> 8.13.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.13.2
npm notice Run npm install -g npm@8.13.2 to update!
npm notice 
20:56:50 [~] % 
Command 2
crowdnode stake 1 

Output:

zsh: command not found: crowdnode
coolaj86 commented 2 years ago
  1. Make sure that you have the latest version of node installed. Obviously, I recommend webi because it's conflict free and Just Works™ using the official tar distributable:
  2. You may need to close and reopen your Terminal for any node / npm ENV changes to take effect
riongull commented 2 years ago

After chatting on Discord, it seems my installation of node was screwy (used nvm with zsh, which may not play nice with each other).

Backing up and installing node as instructions recommend (using webi).

21:01:03 [~] % curl https://webinstall.dev/node@lts | bash   
export PATH="${HOME}/.local/opt/node:$PATH"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6298    0  6298    0     0   9431      0 --:--:-- --:--:-- --:--:--  9527

Thanks for using webi to install 'node@lts' on 'Darwin/x86_64'.
Have a problem? Experience a bug? Please let us know:
        https://github.com/webinstall/webi-installers/issues

Lovin' it? Say thanks with a Star on GitHub:
        https://github.com/webinstall/webi-installers

WARN: possible PATH conflict between 'node v16.15.1' and currently installed version
    /Users/riongull/.local/opt/node/bin/node (new)
    /Users/riongull/.nvm/versions/node/v16.6.1/bin/node (existing)
Downloading node from
https://nodejs.org/dist/v16.15.1/node-v16.15.1-darwin-x64.tar.gz
######################################################################## 100.0%

Saved as /Users/riongull/Downloads/webi/node/16.15.1/node-v16.15.1-darwin-x64.tar.gz
Extracting /Users/riongull/Downloads/webi/node/16.15.1/node-v16.15.1-darwin-x64.tar.gz
Installing to /Users/riongull/.local/opt/node-v16.15.1/bin/node
######################################################################## 100.0%
Installed 'node' and 'npm' at /Users/riongull/.local/opt/node

You need to update your PATH to use node:

    export PATH="/Users/riongull/.local/bin:$PATH"
    export PATH="/Users/riongull/.local/opt/node/bin:$PATH"
21:24:18 [~] % 

Note, I intentionally copy/pasted the two line instruction together since some people will try that in one single step. :

curl https://webinstall.dev/node@lts | bash   
export PATH="${HOME}/.local/opt/node:$PATH"

These might be better as two separate steps since it looks like it didn't update my PATH.

riongull commented 2 years ago
Would you like to set an encryption passphrase? [Y/n]: 

If we simplified this to:

Would you like to protect your keys with a password [Y/n]?

would anything be lost or inaccurate?

riongull commented 2 years ago
Would you like to set an encryption passphrase? [Y/n]: y
Enter (new) passphrase: ********************
Enter passphrase again: ********************
Encrypting...

Done 🔐

Generated ~/.config/crowdnode/keys/Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.wif 

Checking CrowdNode account... 
    ℹ️ SignUpForApi deposit is 151072 (+ tx fee)
    ℹ️ AcceptTerms deposit is 85536 (+ tx fee)

[QR code]

dash://Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?amount=1.00300000

Use the QR Code above to load 100300000 (Đ1.00300000) onto your staking key.

(waiting...)

To serve desktop users, maybe replace

Use the QR Code above to load 100300000 (Đ1.00300000) onto your staking key.

with

Send Đ1.00300000 to your staking key (Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) using the QR Code above or another sending method. This does not (yet) send your funds to CrowdNode.

Or something similar.

riongull commented 2 years ago
(waiting...)

Received 100300000
Checking balance... 
Key:       Đ  1.00300000
CrowdNode: Đ  0.00000000
Dividends: Đ  0.00000000

Enter passphrase: **********

Requesting account...
    ✅ SignUpForApi
Accepting terms...
    ✅ AcceptTerms
reserving 50000 (Đ0.00050000) for withdrawals (--no-reserve to disable)
Initiating deposit of 100052926 (Đ1.00052926)...
    ✅ DepositReceived
22:23:27 [~] % 

Correction to the above comment: I guess this does the forwarding of the 1 DASH without further prompt (except the password).

Suggestions:

  1. Change above to

Send Đ1.00300000 to your staking key (Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) using the QR Code above or another sending method. This will forward the funds to CrowdNode after prompting for your password (if applicable).

  1. Maybe run whatever command produces this:

Checking balance... Key: Đ 1.00300000 CrowdNode: Đ 0.00000000 Dividends: Đ 0.00000000

again at the end to verify and show the user that the funds were forwarded on to CrowdNode successfully.

  1. Might be a good time to recommend to the user to run crowdnode help to show them what else they can do with the CLI.
riongull commented 2 years ago
22:37:16 [~] % crowdnode balance
Selected default staking key Xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

Staking keys: (in ~/.config/crowdnode/keys/)

|                                    |   🔑 Holdings |   🪧  Stakings |   💸 Earnings |
| ---------------------------------: | ------------: | ------------: | ------------: |
| Xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy | Đ  0.00060014 | Đ  1.00238043 | Đ  0.00000000 |
|                                    |               |               |               |
|                             Totals | Đ  1.00238043 | Đ  1.00238043 | Đ  0.00000000 |
  1. Was a bit surprised to see more than exactly 1 DASH staked. Not a big deal for me, but might be for others?
  2. Is the terminal output supposed to be in markdown format?
coolaj86 commented 2 years ago

It would be ideal to create multiple issues and link them back to this as a meta issue rather than having so many threads to traverse.

Too bad they don't have a "convert to issue" button for comments.

riongull commented 2 years ago

I think I responded to all the issues. Please merge your PR and close related issues.

Overall, I got my Dash staked and the tool was a breeze after I got my Node issues worked out. Let's open this up to others to test!