Skip to content

How to setup KARBO masternode

Ihor Zenich edited this page Mar 9, 2019 · 6 revisions

Create linux service to start karbowanecd

On this page you will find description how to run karbowanecd with JSON PRC as linux service. I use Ubuntu server 16.03 x64, but this description you can be applied to any of the linux versions with small changes.

  1. To start service we will use user karbo, so lets create it, manage permissions and login:
useradd -m -s /bin/bash -G adm,systemd-journal,sudo karbo && passwd karbo
groupadd karbo
usermod -a -G karbo karbo
su karbo
cd
sudo mkdir /opt/karbo/
sudo chgrp -R karbo /opt/karbo/
sudo chmod -R 770 /opt/karbo/
  1. Download latest linux version of karbowanec:
wget https://github.com/seredat/karbowanec/releases/download/v.1.6.3/karbowanec-xenial-1.6.3_linux_x86_64.zip
  1. Unpack it to directory /opt/karbo/:
unzip -j karbowanec-xenial-1.6.3_linux_x86_64.zip -d /opt/karbo/
rm karbowanec-xenial-1.6.3_linux_x86_64.zip
  1. Create log file and add permision to write it:
sudo touch /var/log/karbowanecd
sudo chgrp -R karbo /var/log/karbowanecd
sudo chmod -R 770 /var/log/karbowanecd
  1. You should pre-download blockchain bootstrap to speed-up process:
cd /opt/karbo/
mkdir .karbowanec
cd .karbowanec
wget https://bootstrap.karbo.io/blockchain-$(date "+%Y-%m-%d").tar.gz
tar -xvzf blockchain-$(date "+%Y-%m-%d").tar.gz
rm -f blockchain-$(date "+%Y-%m-%d").tar.gz

Exit to root

exit
  1. Add Karbo to firewall:
apt-get install ufw -y
ufw default allow outgoing
ufw default deny incoming
ufw allow ssh/tcp
ufw limit ssh/tcp
ufw allow http/tcp
ufw allow https/tcp
ufw allow 32348/tcp comment "KARBO"
ufw logging on
ufw -f enable
systemctl enable ufw
ufw status
  1. Lets check if everything is ok. Try to run daemon with karbo user permission and wait for SYNCHRONIZED OK. Do not forget to change address to your wallet!
sudo -u karbo /opt/karbo/karbowanecd --data-dir=/opt/karbo/.karbowanec --log-file=/var/log/karbowanecd --restricted-rpc --enable-cors=* --enable-blockchain-indexes --rpc-bind-ip=0.0.0.0 --rpc-bind-port=32348 --fee-address=KaAxHCPtJaFGDq4xLn3fASf3zVrAmqyE4359zn3r3deVjCeM3CYq7K4Y1pkfZkjfRd1W2VPXVZdA5RBdpc4Vzamo1H4F5qZ

After that, stop it via entering exit inside daemon session.

If you facing errors, you could run Karbo node with debug:

sudo -u karbo /opt/karbo/karbowanecd --restricted-rpc --enable-cors=*  --enable-blockchain-indexes --rpc-bind-ip=0.0.0.0 --rpc-bind-port=32348 --log-level=4 --fee-address=KaAxHCPtJaFGDq4xLn3fASf3zVrAmqyE4359zn3r3deVjCeM3CYq7K4Y1pkfZkjfRd1W2VPXVZdA5RBdpc4Vzamo1H4F5qZ
  1. To autostart karbowanecd daemon, we need to create service file in /etc/systemd/system:
nano /etc/systemd/system/karbowanecd.service
[Unit]
Description=karbowanecd
Documentation=http://karbo.io
After=syslog.target

[Service]
User=karbo
ExecStart=/opt/karbo/karbowanecd --data-dir=/opt/karbo/.karbowanec --log-file=/var/log/karbowanecd --restricted-rpc --enable-cors=*  --enable-blockchain-indexes --rpc-bind-ip=0.0.0.0 --rpc-bind-port=32348 --fee-address=KaAxHCPtJaFGDq4xLn3fASf3zVrAmqyE4359zn3r3deVjCeM3CYq7K4Y1pkfZkjfRd1W2VPXVZdA5RBdpc4Vzamo1H4F5qZ
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

Do not forget to change address to your wallet!

  1. Run service:
systemctl daemon-reload
systemctl enable karbowanecd.service
systemctl start karbowanecd.service
  1. Check service status:
systemctl status karbowanecd.service
● karbowanecd.service - karbowanecd
   Loaded: loaded (/etc/systemd/system/karbowanecd.service; enabled; vendor pres
   Active: active (running) since Sat 2019-03-09 11:08:52 UTC; 7s ago
     Docs: http://karbo.io
 Main PID: 3192 (karbowanecd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/karbowanecd.service
           └─3192 /opt/karbo/karbowanecd --data-dir=/opt/karbo/.karbowanec --log

Mar 09 11:08:52 karbonode.top systemd[1]: Started karbowanecd.
Mar 09 11:08:52 karbonode.top karbowanecd[3192]: 2019-Mar-09 11:08:52.300038
Mar 09 11:08:52 karbonode.top karbowanecd[3192]:
Mar 09 11:08:52 karbonode.top karbowanecd[3192]:   _|    _|    _|_|    _|_|_
Mar 09 11:08:52 karbonode.top karbowanecd[3192]:   _|  _|    _|    _|  _|
Mar 09 11:08:52 karbonode.top karbowanecd[3192]:   _|_|      _|_|_|_|  _|_|_
Mar 09 11:08:52 karbonode.top karbowanecd[3192]:   _|  _|    _|    _|  _|
Mar 09 11:08:52 karbonode.top karbowanecd[3192]:   _|    _|  _|    _|  _|
Mar 09 11:08:52 karbonode.top karbowanecd[3192]:
lines 1-18/18 (END)

And check your Karbo masternode from browser:

You should see something like

{"fee_address":"KaAxHCPtJaFGDq4xLn3fASf3zVrAmqyE4359zn3r3deVjCeM3CYq7K4Y1pkfZkjfRd1W2VPXVZdA5RBdpc4Vzamo1H4F5qZ","status":"OK"}

and

{"already_generated_coins":"7211265.290723158339","alt_blocks_count":0,"block_major_version":4,"block_minor_version":0,"contact":"","difficulty":5913562593,"fee_address":"KaAxHCPtJaFGDq4xLn3fASf3zVrAmqyE4359zn3r3deVjCeM3CYq7K4Y1pkfZkjfRd1W2VPXVZdA5RBdpc4Vzamo1H4F5qZ","grey_peerlist_size":4997,"height":334835,"incoming_connections_count":0,"last_block_difficulty":5776420295,"last_block_reward":10638219251617,"last_block_timestamp":1552129953,"last_known_block_index":334834,"min_tx_fee":100000000000,"outgoing_connections_count":8,"readable_tx_fee":"0.100000000000","rpc_connections_count":2,"start_time":1552129743,"status":"OK","top_block_hash":"e0371a70493638699a3311bd62b2b56ad4fc87ae1ced9149c4caaa0623aea867","tx_count":381775,"tx_pool_size":0,"version":"1.6.3.815 (525aaaf)","white_peerlist_size":644}

Update KARBO masternode

  1. Login to karbo user, go to karbo folder:
su karbo
cd /opt/karbo
  1. Check current Karbo version: ./karbowanecd --version
  2. Download new Karbo binaries, unzip it.
  3. Stop Karbo daemon: sudo systemctl stop karbowanecd.service
  4. Replace Karbo binaries with a fresh one.
  5. Start Karbo daemon: sudo systemctl start karbowanecd.service and check Karbo daemon status sudo systemctl status karbowanecd.service and version: ./karbowanecd --version