
How to setup your Node (miner) on Ubuntu 18.x - 20.x
NODE Installation from a ready-made package:
-
Check system requirements (link)
-
Notice: if you choose the wrong configuration your daemon may be not synchronize.
-
Notice: you need a static external IP address and make it accessible from the internet (your router).
-
-
Download latest "buzzer.x.x.x.xx.linux.tar.gz" release from our github repository.
-
Unpack the archive into your home directory ~/
-
Notice: avoid using root user for the node deploying
-
-
Enter ~/qbit directory (cd /qbit)
-
Run ./buzzer-sync.sh
-
Wait for the synchronization to complete ("state": "SYNCHRONIZED"). The sync status can be checked using ('sudo apt-get install curl' if you don't have one):
-
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getstate","params":[]}' -i -H 'content-type: text/plain' http://127.0.0.1:8080
-
-
Stop qbit daemon:
-
Check qbit process ID (ps aux | grep qbit)
-
Stop daemon (kill [ID])
-
-
Choose the appropriate parameters for your node (listed below) and paste them into 'buzzer.sh'. For example for Fullnode with optimum configuration:
-
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/qbit/lib
-
./qbitd -home .buzzer -endpoint 0.0.0.0 -port 31415 -threadpool 6 -clients 1500 -http 8080 -daemon -roles fullnode,miner -debug info,warn,error,store
-
you should change 0.0.0.0 to your external static IP, otherwise your node might be not accepted by the network consensus
-
-
-
Run ./buzzer.sh
-
Check your node connectivity:
-
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getpeerinfo","params":[]}' -i -H 'content-type: text/plain' http://127.0.0.1:8080
-
-
Check your node current state and compare to data from getpeerinfo - height, block, dapp:
-
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getstate","params":[]}' -i -H 'content-type: text/plain' http://127.0.0.1:8080
-
Connectivity
-
If you are going to enable connectivity from the network for the nodes, full and light nodes, you should select the available TCP port and make it accessible from the internet (your router); default port is 31415, but you can override it.
-
You should change 0.0.0.0 to your external static IP, otherwise your node might be not accepted by the network consensus.
-
Initial nodes are located in ~/.buzzer/qbit.config
NODE building (alternative installation way for experienced users):
-
Preparations
-
Check system requirements (link)
-
Notice: if you choose the wrong configuration your daemon may be not synchronize.
-
Notice: you need a static external IP address and make it accessible from the internet (your router).
-
-
Use your home directory ~/
-
Avoid using root user for the node deploying
-
During installation, you may need the following packages:
-
[optionally] sudo apt-get update && sudo apt-get install build-essential
-
[optionally] sudo apt-get install autoconf
-
[optionally] sudo apt-get install libtool
-
[optionally] sudo apt-get install cmake
-
sudo apt-get install libjpeg-dev
-
sudo apt-get install libpng-dev
-
sudo apt-get install git
-
sudo apt-get install curl
-
-
-
git clone https://github.com/qbit-t/qbit
-
cd ./qbit
-
cd ./secp256k1
-
./autogen.sh
-
./configure --enable-experimental --enable-module-schnorrsig --enable-module-musig --enable-module-ecdh --enable-module-generator --enable-module-rangeproof --with-bignum=no
-
cd ..
-
cd ./boost
-
./bootstrap.sh --with-libraries=system,thread,chrono,random,filesystem --prefix=../
-
./b2
-
cd ..
-
cmake -DCMAKE_BUILD_TYPE=Release
-
make
-
Please, note - if make produces linking errors, do the following:
cmake ./
make -
Please, note - it can take a long time, very long and not all from the packages you need. During compilation you may experience building errors, consider to add to the EXCLUDE_PKGS and rerun make
-
-
nano ./buzzer.sh
-
Enter the necessary parameters for initial synchronization into 'buzzer.sh' excluding the miner role:
-
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/qbit/lib
./qbitd -home .buzzer -port 31415 -threadpool 4 -clients 1500 -http 8080 -roles fullnode -debug info,warn,error,store,cons,val -daemon
-
-
chmod +x buzzer.sh
-
cd ..
-
mkdir .buzzer
-
cd .buzzer
-
nano ./qbit.config
-
Enter the current peers (for example):
-
{
"peers": "10.0.0.1:10001,10.0.0.2:10001,10.0.0.3:10001",
"notifyTransaction": ""
}
-
-
cd ..
-
cd ./qbit
-
./buzzer.sh
-
Wait for the synchronization to complete ("state": "SYNCHRONIZED"). The sync status can be checked using:
-
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getstate","params":[]}' -i -H 'content-type: text/plain' http://127.0.0.1:8080
-
-
Stop qbit daemon:
-
Check qbit process ID (ps aux | grep qbit)
-
Stop daemon (kill [ID])
-
-
Choose the appropriate parameters for your node (listed below) and paste them into 'buzzer.sh'. For example for Fullnode with optimum configuration:
-
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/qbit/lib
./qbitd -home .buzzer -endpoint 0.0.0.0 -port 31415 -threadpool 6 -clients 1500 -http 8080 -daemon -roles fullnode,miner -debug info,warn,error,store-
you should change 0.0.0.0 to your external static IP, otherwise your node might be not accepted by the network consensus
-
-
-
./buzzer.sh
-
Check your node connectivity:
-
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getpeerinfo","params":[]}' -i -H 'content-type: text/plain' http://127.0.0.1:8080
-
-
Check your node current state and compare to data from getpeerinfo - height, block, dapp:
-
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getstate","params":[]}' -i -H 'content-type: text/plain' http://127.0.0.1:8080
-
Fullnode with minimum configuration:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/qbit/lib
./qbitd -home .buzzer -endpoint 0.0.0.0 -port 31415 -threadpool 3 -clients 500 -http 8080 -daemon -roles fullnode,miner -debug info,warn,error,store
Fullnode with optimum configuration:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/qbit/lib
./qbitd -home .buzzer -endpoint 0.0.0.0 -port 31415 -threadpool 6 -clients 1500 -http 8080 -daemon -roles fullnode,miner -debug info,warn,error,store
Fullnode with maximum configuration:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/qbit/lib
./qbitd -home .buzzer -endpoint 0.0.0.0 -port 31415 -threadpool 12 -clients 3500 -http 8080 -daemon -roles fullnode,miner -debug info,warn,error,store
Technical requirements for NODE/validator equipment
-
Node:
-
6 cores, 8 Gb RAM, 350 Gb SDD, 20 Mbit Internet access
-
-
Full node:
-
Minimum (Qbit mining, Buzzer & Cubix miner/validator, up to 500 clients connectivity)
-
6-8 cores, 16 Gb RAM, 200-350 Gb SDD, 50 Mbit Internet access.
-
-
Optimum (Qbit mining, Buzzer & Cubix miner/validator, up to 1500 clients connectivity)
-
12-24 cores, 32 Gb RAM, 500 Gb SDD, 100 Mbit Internet access
-
-
Maximum (Qbit mining, Buzzer & Cubix miner/validator, up to 3500 clients connectivity)
-
32+ cores, 64+ Gb RAM, 1 Tb+ SDD, 150+ Mbit Internet access
-
-
Notice: you'll need a static external IP address accessible from the Internet (your router settings).
QBIT Explorer - http://explorer.buzzer.network/