Feb 22, 2019
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. 100,000 SMART. You can purchase SmartCash on any of the online exchanges where SmartCash is traded. A current list can be found at: https://smartcash.cc/get-smartcash/
2. The SmartCash Desktop Node Wallet. Find the most recent version for your specific operating system at: https://smartcash.cc/wallets/#nodeclient
3. VPS Server online 24/7 (with minimum specifications below):
a. 2GB RAM
b. 20 GB drive
c. One Static IPV4 Address per SmartNode. More details about the sever can be found in Section 2. VPS Server Deployment on page 3.
1.3 Earning 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 1 node 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.
2. Setting Up a VPS Server
Find a VPS Hosting Provider that best fits your
needs and budget. You can find a current list at:
After selecting your VPS Provider, you’ll want to create an account with that provider. Be sure to save your username and password.
For this tutorial, we have used DigitalOcean.com as the VPS host provider, but most have a similar setup process.
Next, you’ll “Create a Server”. Also referred to as
“Droplet” or “Instance” depending on the provider.
Be sure that the specifications of the server within
the plan you choose meets the minimum
requirements listed in the General Information
section above (b3).
- Server Type, select 64bit Ubuntu 16.04 or 18.04
- Server Size, select 2GB RAM minimum.
- Choose a name for the Server, ex: “SmartNode1”
- Select a datacenter region of your choice.
- No need for Additional Options.
Click on, “Create”.
Once the server is set up, your provider will send an
email with confirmation and/or details.
From the email or within your account online, go into the details section to find the IP Address of your newly created server.
Copy this IP address and save it somewhere easily accessible for the next steps.
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 complete, open the wallet
and wait for it to sync. Please be patient, this can
take some time.
A checkmark will appear in the bottom right of the SmartCash Node Wallet window once fully synchrozined.
Create a new receiving address to receive the
recently bought 100,000 SmartCash.
Select: File -> Receiving addresses…
In the Pop-up Window, select: New
Give the address a name, ex: “SmartNode1”
and select: OK
Now, Copy that address for the next step.
You now need to send exactly 100,000 SMART
to this address.
IMPORTANT! Since only transactions with exactly
100,000 SMART will be accepted,
DO NOT Subtract Fee from Amount.
Leave the box Unchecked so the transaction fee
will be added to the amount.
(Transactions from within the wallet will only be displayed as a spent fee.)
Now navigate to the SmartNodes tab and click on:
4. Server Setup and SmartNode Configuration
Now, we need to connect to the newly created VPS
server to configure the SmartNode.
Vultr offers an integrated console for connecting, but it is NOT recommended, because it does not support copy/paste, and certain characters cannot be typed normally.
A suggested solution for Windows is PuTTY.
It can be downloaded at: https://www.putty.org/
Mac user can use the integrated Terminal App.
If using PuTTY, please be aware that Paste is done by a right-click, while command+v does it in the Mac Terminal. For both operating systems, thecommands 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, buta 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:
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):|
confirm with Enter and:
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:
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
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
|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 100,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
• 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 Wallet with Start Missing.
Every SmartNode needs a unique GenKey, IP address, and collateral address.
As an alternative for experienced users, many VPS provider oﬀer 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:
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:
After restarting the Desktop Node Client and waiting for it to fully sync, click on Start MISSING to start the second SmartNode.
6. Monitoring YOUR 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 at http://discord.smartcash.cc and access the #support
or #smartnodes channels for help.
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.