Date:                                       July 20, 2018 

SmartCash Client:                  v1.2.4

Author:                                    Azuuri


The atttached PDF guide has everything you need to know about SmartNodes.

1. General Information

 

1.1 What are SmartNodes

 

SmartNodes are servers that run a SmartCash Node Wallet and enable certain features on the SmartCash network. One service that SmartNodes enable is InstantPay, which locks incoming transactions to verify them through Node communication. The payee receives their SmartCash instantly and doesn’t have to wait for mined blocks to process the transaction.

SmartNodes store the full blockchain, which contains an overview of the whole network and each address within it at all times. This enables them to verify all addresses that are qualified for SmartRewards for the current reward cycle.

1.2 What does a SmartNode require

 

To set-up and host a SmartNode, the following is needed:

  1. 10,000 SmartCash
  2. A SmartCash Desktop Node Client, which holds your funds
  3. A server with at least the minimum specifications on Ubuntu which needs to be online 24/7

Purchase 10,000 SmartCash on one of the exchanges where SmartCash is traded. A full list can be found here: Exchange List

Download the Desktop Node Client Wallet for your operating system here: Desktop Node Client

Minimum specifications for VPS: 1GB RAM, 20 GB drive, and one static IPV4 Address per SmartNode. More details about the sever can be found at VPS Server Deployment section below.

1.3 How to earn SmartCash by running a SmartNode

 

Because SmartNodes need to be online 24/7 and perform work for the network, they get 10% of the Block Reward in return. SmartNodes are paid at a rate of 10 nodes every other block, which means a payout will be 2% of the Block Reward for every Node.

A newly started SmartNode has to wait for one entire payout cycle, before it can get into

the queue.

Because SmartNode addresses hold over 1,000 SmartCash, they are also eligible for SmartRewards (smartrewards.cc).


2. VPS Server Deployment


 
In this guide we are using vultr.com as provider, but you are free to pick any provider you are comfortable with.
 
First, navigate to the VPS provider website website and create an account. For Vultr, a credit card is required. Later payments can also be done with Bitcoin.
 
Now that the account is activated, click on the blue + to deploy a new instance.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
First select a location, which can be chosen randomly.
 
For Server Type select 64bit Ubuntu 16.04 or
18.04. For Server Size select 1GB RAM for 5$/ month.
 
Skip the next sections and pick a name for the Server, e.g. SmartNode01
 
 
 
 
 
 
 
 
 
 
 
 
The new VPS will take a few minutes to deploy. Vultr will send an email when the VPS is ready to be accessed.

Once the sever is ready, go into details to find
the IP address.
Copy this IP address and paste it somewhere
easily accessible for the next steps within the

Desktop Node Client.




3. Desktop Node Client Setup and Configuration



 
Download and install the latest Desktop Node Client for your local operating system:
 
https://smartcash.cc/wallets/#nodeclient

 
After the installation is done open the Wallet and wait until both the Blockchain and the SmartNode data synchronization has finished.
 
A checkmark will appear in the bottom right of the SmartCash Node Client window to signify completion.
 
 
 
 
 
 
 
 
 
 
Create a new receiving address to receive the recently bought 10,000 SmartCash. Click on:
 
File -> Receiving addresses…

Click on New and call it e.g. SmartNode1. Now copy that address.

 
Send exactly 10,000 SmartCash to this address. Take possible fees into account, since only transactions with exactly 10,000 SMART will be considered as a collateral transaction.
Once your coins have reached your wallet, it will look like this ->
 
(Transactions within the wallet will only be displayed as a spent fee.)

Now navigate to the SmartNodes tab and click on:
 
Create SmartNode


  1. Pick an Alias for your SmartNode, (e.g. SmartNode01).
  2. Copy&paste the IP address from the VPS in the dedicated field.
  3. The recently sent collateral transaction will be displayed along with the receiving address. If multiple collaterals are available, select the desired line for this SmartNode. This information will be added to smartnode.conf when applying.
  4. A SmartNode GenKey is also created automatically; make sure to copy and save it somewhere as this key is used during the VPS configuration.
  5.  Click on Apply to complete adding the SmartNode within the Desktop Node Client


4. Server Setup and SmartNode Configuration

Now it’s time to connect to the newly created. VPS sever to configure the SmartNode. Vultr offers an integrated console, but it is not recommend. This console does not support copy/paste, and certain characters cannot be typed normally. A suggested solution for Windows user is PuTTY (Website Download), Mac user can use the integrated terminal app.
For the further instructions please be aware, that paste is done by a right-click if using PuTTY, while command+v does it in the Mac Terminal. For both operating systems, the commands are the same.

Login via PuTTY:
 
Paste the IP address of the recently created VPS in the Host Name (IP) field. Default port is 22, and Connections type is SSH. Click Open to connect.
 
A console window will appear and ask for a user; type root and confirm with Enter.
 
Next the password is needed. Return to the VPS details and copy the password. Paste the copied password with a right-click in PuTTY and confirm with Enter. (PLEASE NOTE: For security reasons the password will not be displayed, nor any characters, but a right-click will paste it there).

Login via Mac Terminal:
 
First copy the IP address of the recently created VPS, open the Terminal and type:
 
ssh root@IPAddress

 Next the password is needed. Return to the VPS details and copy the password. Paste the copied password into the Terminal with CMD+v and confirm with Enter. (PLEASE NOTE: For security reasons the password will not be displayed, nor any characters, but CMD+v will paste it there).

To setup the SmartNode copy and paste the following two commands (ensuring there are no spaces in the URL):

wget https://raw.githubusercontent.com/SmartCash/smartnode/master/install.sh

confirm with Enter and:
 
bash ./install.sh
 
After pressing Enter a warning will appear that the server will reboot after using this command, confirm with Enter.
Now it will ask for a Custom Port; for security reasons it’s recommended to change the standard port (22), pick a random number (<10000) and confirm with Enter. Remember this port for later use
 
 This process will ask for the SmartNode GenKey which was created via the Desktop Node Client and placed into the smartnode.conf file. Copy this GenKey and paste it into PuTTY/Mac Terminal and confirm with Enter.

Now the installation process will automatically download and install several items. Once this is complete, login to the VPS again. Remember to adjust the port to the one set in the step above.
 
It will now synchronize the Blockchain. To follow this process run:
 
 smartcash-cli getinfo

 The current block height can be found here.

While the wallet catches up on blocks, add some swap memory. Run the following commands to add swap:
 
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab

Now 4GB of swap was allocated and activated.

After the synchronization is done, start the Desktop Node Client and wait until it is synched.
 
Once both are done, check the status of the SmartNode on the VPS with:
 
 smartcash-cli smartnode status
 
This command should return: Not capable smartnode: Smartnode not in smartnode list
 
 One last step is needed, switch back to the Desktop Node Client, click on
SmartNodes -> My SmartNodes
Select the new node and click on
Start MISSING

When prompted, enter your wallet passphrase and click YES to really start missing.
 
This window will pop up and the status of the Node will change to PRE-ENABLED.
 
 The status will change to ENABLED later on; this can take up to 60 minutes or even longer.

Finally, verify the status of the new SmartNode on the VPS. No matter what the Desktop Node Client says, the VPS will ALWAYS return the correct information. Type:
 
 smartcash-cli smartnode status
 
 If the status says "Smartnode successfully started", the new SmartNode is now active!



5. Setup multiple SmartNodes


 
To setup a second or multiple SmartNodes, the process will be the same:
 
  • Send Exactly 10,000 SmartCash to a new created receiving address (SmartNodes cannot share collateral addresses).
  • Deploy a new VPS instance.
  • Create a new SmartNode in the Desktop Node Client
  • Copy the new IP Address
  • Log into your VPS and configure it.
  • Wait until everything is synced and start the new Node through the Desktop Node Client with Start MISSING.
 Every SmartNode needs a unique GenKey, IP address, and collateral address.

 
As an alternative for experienced users, many VPS provider offer a snapshot feature. A Snapshot allows the cloning the current state of an existing VPS.
 
This makes it possible to create additional SmartNode VPSs while only changing the information in the VPS smartcash.conf file (server side) so a fresh download of the blockchain and configuration of the VPS is not needed.
 
On the Desktop Node Client side, everything remains the same: unique collateral transaction and address, unique IP address, and unique GenKey.
 
Once you are done on the local Client log into the VPS and type:
 
nano ~/.smartcash/smartcash.conf

Within the editor change the GenKey and the external IP address. Confirm the changes with control + x.
 
Then restart smartcashd with the below two commands:
 
smartcash-cli stop
smartcashd

 
After restarting the Desktop Node Client and waiting for it to fully sync, click on Start MISSING to start the second SmartNode.


6. Monitoring SmartNodes



The status of a SmartNode can always be checked by logging into the VPS and running

smartcash-cli smartnode status

The SmartNode Monitor Bot was created to simplify this process and notify users of potential issues, payments, and provide general SmartNode related information.

Once a SmartNode is registered with the bot, it will send notifications for status changes and payouts. Additional information such as queue position and general network information can be accessed as well.

The SmartNode Monitor Bot can be accessed via Discord and Telegram. Please use the following guide to assist with SmartNode registration: SmartNode Monitor Bot Guide


7. Get Support for SmartNode related Questions


For additional assistance with SmartNodes, desktop node clients, and to connect with the community, please visit our SmartCash Community Discord (discord.smartcash.cc) and access the #support or #smartnodes channels for help.