Current Test Plan - CLI Node
Current Test as at 22 Sept 2021 - this will test the suspected issue that nodes fail after about an hour, because wallets set up using the config.toml or masq setup commands aren't saved in the database, and therefore consuming fails from neighbor nodes
The goal of this test plan is to start up your Node from CLI only using wallets from the --generate-wallets or --recover-wallets command
To do this, you have to ensure that any config.toml you use does not have any wallet information saved for the earning-wallet and consuming-private-key parameters.
Use this config.toml, completing the "xxxxx" values with what you require:
A sample one without wallet info can be found here:

Testing Plan 3 Steps

  • Download current Master branch binaries
  • Put your config.toml file in a folder where the database can be created
  • Open terminal windows and start Daemon passing in test config.toml without wallet info
    • Add neighbor node (can be cloud nodes) to config.toml if you don't want to set it in CLI using setup commands
  • Run masq from second terminal and enter interactive mode
    • Set db-password
    • Generate or recover wallets, to create a single wallet for earning and consuming
  • Subvert your DNS and try to browse the web
  • Let run for as long as possible, observe behaviour and test token payments

FRESH Cloud Nodes TBC

Testing Steps:

Use Binaries from current Master branch - PR #22
ubuntu binary
macOS binary
Windows binary
Tips for setting up are here, but ONLY use the binaries referenced above for this current test

Start Daemon with test config.toml

Open a terminal window, navigate to where your binaries are, and start the Daemon using this command
sudo ./MASQNode --data-directory <path of where you saved your config.toml>

Run masq in Second Terminal

In a second terminal window, navigate to where your binaries are and start masq in interactive mode using masq
Run setup commands to set your db-password *(and neighbors if needed)

db-password set using set-password command

db-password is set using specific command to save it to the database:
masq> setup set-password

**optional if not in config.toml - neighbors

add a neighbor into the config.toml using one of the Cloud Nodes above
masq> setup --neighbors <cloud node descriptor>

Setting Up Wallets

Generate Wallets

This will generate a new wallet (pair of wallets) using a new seed phrase
In this example command, we are getting a single wallet for earning and consuming and a set of 12 mnemonic seed words
generate-wallets --consuming-path "m/44'/60'/0'/0/0" --db-password <DB-PASSWORD> --earning-path "m/44'/60'/0'/0/0" --word-count 12 --passphrase <PASSPHRASE>
Enter values for your --db-password
**OPTIONAL ONLY --passphrase is an option for additional seed-words, its best to not use this parameter
Make sure you write down your 12 seed words, so you can keep using the same wallet for testing, and only send test ETH (ROP tokens) and SHRD test tokens just once to your address

Recover Wallets

If you have already completed recoverwallets for your Node, then you can simply import your wallet information again using this command:
recover-wallets --consuming-path "m/44'/60'/0'/0/0" --db-password <DB-PASSWORD> --mnemonic-phrase <MNEMONIC-PHRASE> --earning-path "m/44'/60'/0'/0/0"
Enter values for your --db-password and --mnemonic-phrase (ONLY use the optional --passphrase if you used it to generate your previous wallets, as its an additional seed word)
You may be wanting to use a single wallet for both earning and consuming wallets. Ensure that your derivation path is the same for both wallets

Subverting DNS

To consume over MASQ Network you need to subvert your DNS to or proxy your browser to and (this is for HTTP and HTTPS traffic)
To subvert your DNS, find your network adaptor settings (usually its in the system settings of your machine) and change your DNS from 'Automatic' to manually use
If you can disable IPv6 as an option is recommended to do this as well.

Shutting down Node and Reverting DNS

The cleanly shutdown node, in your Node terminal (not the Daemon terminal), type shutdown in interactive mode, or masq shutdown from a terminal if you aren't in interactive mode.
Ensure that you revert your environment DNS back to Automatic or your default settings before you subverted them, or you will not regain connection to the internet.