NULS (Self-Hosted)
NOTE: The guide below is for NULS 1.0, which is set to end on 9/11/2019. If you would like to set up a NULS 2.0 node using your own server, please see our NULS 2.0 upgrade guide here: NULS 2.0 Upgrade Guide
The following guide will help you set up your own self-hosted NULS agent "cold" node on a linux cloud hosted server. "Cold" nodes are ideal because they do not hold your collateral private keys on them, and thus it is not possible to lose your NULS if your node becomes compromised. To follow this guide, you'll need a basic understanding of Linux and some of the common tools like putty. Don't know where to get started? Would you rather have the professionals host it? Just reach out to the Node Forge team at sales@nodeforge.io to get started!
If prospective operators need additional support on this guide, drop us a line on our Technical Support channel in our Discord.
Create a hosted server on your platform of choice. Digital Ocean is recommended by this guide. Select one with at least these specifications:
8 cores
16 GB Ram
100GB of SSD Storage
Ubuntu 16.04
Install a helper add-on to unzip files and firewall. If using network storage on platforms such as scaleway, make sure you do not block your storage using ufw inadvertently. See here: https://www.scaleway.com/docs/configure-ufw-firewall-on-ubuntu-bionic-beaver/
apt-get install unzip ufw ufw allow 22 ufw allow 8016 ufw enableOn the server, create a new user to run the nuls wallet software, then switch to that user
sudo adduser --disabled-password --gecos "" nuls-agent sudo su nuls-agentDownload the NULS wallet software and starter data to ~/ and extract them
cd ~ wget http://nuls-usa-west.oss-us-west-1.aliyuncs.com/1.1.5/NULS-Wallet-linux64-1.1.5.tar.gz wget http://nuls-usa-west.oss-us-west-1.aliyuncs.com/data/data-1219733.zip tar -zxf NULS-Wallet-linux64-1.1.5.tar.gz unzip data-1219733.zipStart the node software
sh ~/bin/start.shStart the command line interface and make sure you get a good response back from the network.
sh ~/bin/cmd.sh getconsensusLet your node synchronize until the "localBestHeight" attribute of your node matches the "netBestHeight" attribute. You can also compare it to the highest block number under "transactions" on http://explorer.nuls.io/. You can check your current synchronization with the following command:
getnetinfoCreate an address for packing on the server. This will be your "PACKING_ADDRESS"
createGet the private key of the packing address you just created by running the "getaccounts" command, and copying the contents of the "address" and "priKey" field to a notepad for later use. This will be your "PACKING_ADDRESS" and "PACKING_KEY", respectively.
getaccounts 0 0Open your NULS "collateral" wallet (the wallet that contains all your NULS) and copy down the address that contains your NULS
Open NULS wallet that has collateral NULS in it
Click the "Wallet" tab at the top
Pick the appropriate account from the drop down "Account:" window at the top that has your NULS in it.
Click the
icon to copy the account string that contains your collateral, and save it on your notepad for later. This will be your "AGENT_ADDRESS".
In your NULS "collateral" wallet, your import the PACKING_KEY you saved in step 9:
Click the "Wallet" tab at the top
Click the
icon
Click the "+" icon in the top right
Click "Import a new account"
Click the "Import Key" link below the Keystore box.
Copy the "PACKING_KEY" from earlier into the "Restore private key" box.
Click "I do not want to encrypt this account"
Verify that the "PACKING_ADDRESS" now appears in your list of addresses.
In your NULS "collateral" wallet, create the agent node
Click the "Consensus" tab at the top
Click the "Create" link
In the "Consensus account" drop down box, select your "AGENT_ADDRESS" that contains your NULS
In the "Packing address" field, type in the "PACKING_ADDRESS" from step 9.
In the "Deposit (NULS)" field, type in the amount of NULS you wish to "deposit" as collateral (20,000 is typical).
In the Commission rate (%)" field, type in a percentage of earnings that you want to keep as commission. 10% is the minimum, and also the most common selection if you want to attract stakers.
Click Create.
If prompted for a password, enter the password for your "AGENT_ADDRESS" that you set previously
You should get a brief notice indicating the agent was created successfully.
Remove the "PACKING_ADDRESS" from your "collateral" wallet.
Click the "Wallet" tab at the top
Click the
icon
Click the "Remove" link next to the "PACKING_ADDRESS" that you wrote down in step 9.
Click "Confirm" to remove the address.
That's it! Your NULS agent node is created and running. Now you need to convince other NULS stakers to join your node until you reach 200k in staking (220k total, including your initial collateral). Get to work!