dashhive / crowdnode.js

CrowdNode SDK for Node.js
https://github.com/dashhive/crowdnode.js
MIT License
5 stars 3 forks source link

CrowdNode Trustless #50

Open riongull opened 1 year ago

riongull commented 1 year ago

Some links for CrowdNode's trustless staking:

jojobyte commented 1 year ago

Walk through video here: https://youtu.be/jHzEy6WAsx0

Step 1: Setup Dash Core

  1. Download the Dash Core Desktop Client from https://www.dash.org/downloads/#desktop
  2. Install & Run Dash core
    # Start Dash Core on Testnet
    dash-qt -testnet
  3. Configure Dash Core and Enable Coin Control Once Dash Core Wallet is open, select the menu Settings -> Options, select the Wallet Tab inside of the Options dialog, then check the box next to "Enable coin control features". You will need this enabled for later in the setup process.
  4. Select the Receive tab, Enter an optional Label like Piggy Bank or Funding Address for CrowdNode (This is just for your own reference), then click the Create new receiving address button (This guide will reference it as the Piggy Bank address going forward)
  5. Right click the new row in the Requested payments history table with the Label you just entered (Piggy Bank) and select Copy address. You will need to provide this address to CrowdNode and send funds to CrowdNode from it specifically.
  6. Visit a testnet faucet such as https://testnet-faucet.dash.org/ or http://faucet.testnet.networks.dash.org/ to add funds to your new Piggy Bank address

Step 2: Setup CrowdNode

  1. Initial Signup for CrowdNode Account
    • Use a real email address and enter a password
    • Setup TOTP (Two-Factor Authentication)
    • Verify Email
  2. After verifying your email and logging in Accept the Terms of Service and follow the Profile Guide
    1. Click the Accept terms of service button
    2. Select your country and click the Save button
    3. Fill out your personal information and click the Save button
    4. (optional) Fill out the optional Mobile phone field or click the Skip button
    5. Enter your Dash (tDASH on testnet) Address (Piggy Bank if you followed the instructions above)
    6. (optional) Enter a secondary DASH address

Step 3: Funding CrowdNode

  1. With [coin control enabled](#Enable Coin Control) in Dash Core, select the Send Tab in the main Dash Core window. Before sending to CrowdNode, you will need to make sure the funds are sent from the exact address you registered with CrowdNode (the Piggy Bank address) by selecting the Inputs... button, then checking any of the boxes that match the Piggy Bank address. Press the Okay button to confirm your selection.
  2. Enable the Custom change address box and enter your Piggy Bank address (the one you provided to CrowdNode).
  3. Retrieve CrowdNode funding address from the Make a deposit box on the Funds page inside the CrowdNode Web UI and enter it into the Pay To field inside Dash Core Wallet. Enter the Amount you wish to deposit into CrowdNode then click the Send button.
  4. If you encrypted your wallet, enter your encryption passphrase, then verify the information is correct on the Confirm send coins confirmation dialog. If it is, click Send. This will drop you into the Transactions tab where you should see your pending deposit transaction at the top of the list. You can double click the row to open a Details dialog for the transaction, or right-click and Copy transaction ID if you wish to track it with another tool like: http://insight.testnet.networks.dash.org:3001/insight/

Step 4: Trustless Staking

  1. Navigate to the Trustless tab in the CrowdNode Web UI
  2. Begin Step 1 - Pledge and prepare by selecting a pledge amount (at time of writing intervals of 100 Dash, with 100 Dash being the minimum pledge)
  3. Select the pledge duration (currently 10 days is the only available option)
  4. Now provide the pubkey for your Dash Wallet. See Knowledge Base article https://knowledge.crowdnode.io/en/articles/6531845-intro-to-crowdnode-trustless-masternodes for detailed instructions.
  5. Once pubkey is validated press the Click to sign button, and copy the message and paste into the debug console
  6. Copy the Hash output by the debug console and paste into the box next to the Request verification button, then press the button.

Step 5: Sign, Validate & Finalize pledge

Once the masternode has reached 1,000 Dash worth of of pledges from multiple members, you'll receive 3 more items to copy and paste into the Dash Core console to verify and sign, then submit back the signatures. This process is more involved than any other steps thus far and is detailed in https://knowledge.crowdnode.io/en/articles/6531845-intro-to-crowdnode-trustless-masternodes

  1. You sign a normal refund transaction, modifying the provided text and replacing a portion by adding your private key, retrieved from the console with a command provided by CrowdNode, then paste the JSON response data back into CrowdNode
  2. In a similar manner you sign the emergency refund transaction, also replacing the text with your private key, and pasting the JSON response back to CrowdNode, however the amount of times is based on the number of participants in the masternode.

Bugs

Inconsistencies