Skip to content

How to setup KARBO masternode

Ihor Zenich edited this page Dec 24, 2018 · 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. Download latest linux version of karbowanec:
wget https://github.com/seredat/karbowanec/releases/download/v.1.5.9/karbowanec-xenial-1.5.9_linux_x86_64.zip
  1. Unpack it to directory /opt/karbo/:
sudo mkdir /opt/karbo/
sudo unzip karbowanec-xenial-1.5.9_linux_x86_64.zip -d /opt/karbo/
sudo rm karbowanec-xenial-1.5.9_linux_x86_64.zip
  1. To start service we will use user karbo, so lets create it and manage permissions:
sudo useradd karbo
sudo groupadd karbo
sudo usermod -a -G karbo karbo
sudo chgrp -R karbo /opt/karbo/
sudo chmod -R 770 /opt/karbo/
  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. Lets check if everything is ok. Try to run daemon with karbo user permission:
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

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

Do not forget to change address to your wallet! Stop it via entering exit inside daemon session.

  1. You should pre-download blockchain bootstrap to speed-up process:
cd ./opt/karbo/.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

Start karbo daemon again and wait for SYNCHRONIZED OK. After that, stop it via entering exit inside daemon session.

  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:
sudo systemctl daemon-reload
sudo systemctl enable karbowanecd.service
sudo systemctl start karbowanecd.service
  1. To check service status:
systemctl status karbowanecd.service
● karbowanecd.service - karbowanecd
   Loaded: loaded (/etc/systemd/system/karbowanecd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-01-07 10:44:28 EET; 48min ago
     Docs: http://karbo.io
 Main PID: 14788 (karbowanecd)
   CGroup: /system.slice/karbowanecd.service
           └─14788 /opt/karbo/karbowanecd --data-dir=/opt/karbo/.karbowanec --log-file=/var/log/karbowanecd --restricted-rpc --rpc-bi
lines 1-7/7 (END)

And check your Karbo masternode from browser: http://YOUR.KARBO.NODE.IP:32348/feeaddress http://YOUR.KARBO.NODE.IP:32348/getinfo

You should see something like

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

and

{"alt_blocks_count":0,"difficulty":25084820779,"fee_address":"KaAxHCPtJaFGDq4xLn3fASf3zVrAmqyE4359zn3r3deVjCeM3CYq7K4Y1pkfZkjfRd1W2VPXVZdA5RBdpc4Vzamo1H4F5qZ","grey_peerlist_size":4999,"height":259154,"incoming_connections_count":0,"last_known_block_index":259153,"min_tx_fee":18066428108,"outgoing_connections_count":8,"readable_tx_fee":"0.018066428108","rpc_connections_count":1,"start_time":1533241937,"status":"OK","top_block_hash":"6aa91e26d5fcbb3661e16c137358762122fb98b2e781c331bcbe302ab726842a","tx_count":324054,"tx_pool_size":0,"version":"1.5.4.801 ()","white_peerlist_size":1000}

Update KARBO masternode

  1. Check current Karbo version: karbowanecd --version
  2. Download new Karbo binaries, unzip it.
  3. Stop Karbo daemon: systemctl stop karbowanecd.service
  4. Replace Karbo binaries with a fresh one.
  5. Start Karbo daemon: systemctl start karbowanecd.service and check Karbo daemon status systemctl status karbowanecd.service and version: karbowanecd --version