How to activate smartnodes on Ubuntu VPS
How to activate smartnodes on Ubuntu VPS
- 1.Update the server
sudo apt update && sudo apt upgrade -y
sudo apt install unzip
2. Add 2GB of SWAP First check to make sure there is not already swap active:
free -h
If the return is 0, you should create and activate the SWAP. Swap: 0B 0B 0B
Create SWAP and Activate (only if required):
sudo dd if=/dev/zero of=/swapfile bs=1k count=2048k
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo echo "/swapfile swap swap auto 0 0" | tee -a /etc/fstab
sudo sysctl -w vm.swappiness=10
sudo echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
The return of the echo should be: swappiness = 10
3. Enable firewall & open ports
First check to make sure there is not already swap active:
apt install ufw -y
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 17899/tcp
ufw enable
4. Install Fail2Ban
sudo apt install fail2ban -y
sudo nano /etc/fail2ban/jail.local
Copy and paste the following config into the file:
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
ctrl +x y then enter
reboot
adduser USERNAME
adduser USERNAME sudo
Switch to the user using
su - USERNAME
5. Jagoancoin daemon You can monitor the activity of the daemon with this command:
mkdir jagoancoin
cd jagoancoin
wget https://github.com/jagoanpilot/jagoancoin/releases/download/v1.1.2/jagoancoin-ubuntu18-1.1.1.2.zip
unzip jagoancoin-ubuntu18-1.1.1.2.zip
tar -xf jagoancoin-ubuntu18-1.1.1.2.tar.gz
wget https://github.com/jagoanpilot/jagoancoin/releases/download/v1.1.2/jagoancoin-ubuntu20-1.1.1.2.zip
unzip jagoancoin-ubuntu20-1.1.1.2.zip
tar -xf jagoancoin-ubuntu20-1.1.1.2.tar.gz
cd
mkdir .jagoancoincore
cd .jagoancoincore
nano jagoancoin.conf
rpcuser=typerandomuser
rpcpassword=typerandompassword
rpcport=17898
rpcallowip=127.0.0.1
externalip=put your vps ip
server=1
daemon=1
listen=1
index=1
txindex=1
addressindex=1
addnode=93.114.133.183
addnode=47.250.38.177
addnode=108.136.131.161
addnode=47.254.192.216
addnode=203.194.112.206
addnode=194.233.175.188
ctrl +x y then enter
cd
cd jagoancoin/jagoancoin-build
./jagoancoind -daemon
./jagoancoin-cli getblockchaininfo
{
"chain": "main",
"blocks": 6127,
"headers": 6127,
"bestblockhash": "7009330d79d901c6026c7ae95e1be781bcfa767ef3bf9957b9a588b719a430a2",
"difficulty": 0.0747120277985517,
"mediantime": 1662384224,
"verificationprogress": 1,
"initialblockdownload": false,
"chainwork": "000000000000000000000000000000000000000000000000000000f5394469e0",
"size_on_disk": 6494486,
"pruned": false,
"softforks": [
],
"bip9_softforks": {
},
"warnings": ""
}
6. Collateral address
Open your LOCAL wallet. Create new receiving address. Send 500,000 JGC to the new receiving address. Wait transaction confirmation
7. Build protx command for control wallet
Enter the protx command in the Debug console of YOUR LOCAL wallet. This will create a .conf file for that node in the same directory you ran the wallet from.
protx quick_setup [Transaction ID] [Collateral index] [Smartnode server IP:17899] [Fee address]
The structure from left to right is:
Transaction ID
In your wallet go to “Transactions” right click the one you sent yourself earlier and “Copy Transaction ID”. Replace the Transaction ID in example.
Collateral index
Tools > Debug console. Type smartnode outputs to check if 1 or 0. Adjust example command if needed.
Smartnode server IP:17899
Replace example IP with your Smartnode server IP, leave port as is.
Fee address
This is any address in your wallet that contains enough JGC to pay the fee (cannot be the address to which you sent the 500,000 JGC). When you enter the protx quick_setup command it is a transaction and needs to be paid for. It is a very small amount of -0.00000479 JGC. In Debug console do “listaddressbalances” to show all addresses with a balance, choose one, and replace the address in the example command.
Example:
protx quick_setup "38be2b14541b4018fd5532eda4ccb192798f23d0b91f93bcdf666b25154cac16" "1" "172.245.228.130:17899" "JSsSMLwBmTfEaBAvoVG2WJu9q1m8YSpSEr"
Outputs
{
"txid": "c52c9f954d6de7351887c7d5bca5dd3d46995722e5a9b695abe8aef573216e1d",
"tx": "0300010001b24bda52aa9db8558da5d8cf64e4363703a9fc466a0b5268cf94d1bde170fb020000000000feffffff015459cd1d000000001976a914d4bf1af10ee01dcc3b53fcfb75d26a2b6b88ebb488ac00000000d10100000000006773c2c119a8d679a706b15b1a51fe8050944115ca92527e15d5394ff86e4d480100000000000000000000000000ffff2d99b9d045eb295329fccbd56dd49770289f96d2c22f2453360d8c3fdda830f8fdb9c41129424aea4ee8f32b075ce39d0659930f9412978be41e57cd33bfa07422434382d9acdff7b5a765e9723ef2eb5301f86797751ca2b2e77368034900001976a9143bbec8664282ffbbfeb97b31e722bf5b6f81e4db88ac7f9513af520f97015c0654701ba5c836eec38301bf6abd8949bf4de8be7921cd00",
"ownerAddress": "JNJSfsXxvPEvqKm8nkviTrNGSy2dyzhkJm",
"votingAddress": "JTpoFBBWrTvqAF37Gov7iC3N4tt6Wgw769",
"payoutAddress": "JPyqkowWjVYTaT8jcDMRJgETF2S8zNrrrk",
"collateralAddress": "Jgtqrxibi2YQ7XM8m2BLWUvnsCGof3BGvk",
"collateralAmount": 500000,
"signedMessage": "IHI3Bcu5ft3qDrt3hQrgszLr+tDg8gNVeMakEv1+JnCnWcnfO45Evbboq8oQB8blHtsbvZGCgPEAF1xoqGMh=",
"operatorPublic": "8c3fdda830f8fdb9c41129424aea4ee8f32b075ce39d0659930f9412978be41e57cd33bfa07422434382d9acdff7b5a7",
"operatorSecret": "68bed74ad9b2012ee302dfdaad04b451e8f18b5da2f129c27bfb5aa8e00",
"jagoancoin.conf": "C:/Users/acer/OneDrive/Documents/Jgtqrxibi2YQ7XM8m2BLWUvnsCGof3BGvk_jagoancoin.conf"
}
8. Configure the smartnode
./jagoancoin-cli stop
cd
nano .jagoancoincore/jagoancoin.conf
Add smartnodeblsprivkey and externalip from bottom configuration
smartnodeblsprivkey=operatorsecret
externalip=your-vps-ip:17899
Save your configuration
cd jagoancoin/jagoancoin-build
./jagoancoind -daemon
Wait few minutes and validate the smartnode status:
./jagoancoin-cli smartnode status
Outputs
{
"outpoint": "484d6ef84f39d5157e5292ca1541945080fe511a5bb106a779d6a819c1c27367-1",
"service": "45.153.185.208:17899",
"proTxHash": "c52c9f954d6de7351887c7d5bca5dd3d46995722e5a9b695abe8aef573216e1d",
"collateralHash": "484d6ef84f39d5157e5292ca1541945080fe511a5bb106a779d6a819c1c27367",
"collateralIndex": 1,
"dmnState": {
"service": "45.153.185.208:17899",
"registeredHeight": 6952,
"lastPaidHeight": 0,
"PoSePenalty": 0,
"PoSeRevivedHeight": -1,
"PoSeBanHeight": -1,
"revocationReason": 0,
"ownerAddress": "JNJSfsXxvPEvqKm8nkviTrNGSy2dyzhkJm",
"votingAddress": "JTpoFBBWrTvqAF37Gov7iC3N4tt6Wgw769",
"payoutAddress": "JPyqkowWjVYTaT8jcDMRJgETF2S8zNrrrk",
"pubKeyOperator": "8c3fdda830f8fdb9c41129424aea4ee8f32b075ce39d0659930f9412978be41e57cd33bfa07422434382d9acdff7b5a7"
},
"state": "READY",
"status": "Ready"
}
Last modified 8mo ago