top of page

How to setup your Node (miner) on Ubuntu 18.x - 20.x

NODE Installation from a ready-made package:

  1. 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).

  2. Download latest "buzzer.x.x.x.xx.linux.tar.gz" release from our github repository.​

  3. Unpack the archive into your home directory ~/

    • Notice: avoid using root user for the node deploying

  4. Enter ~/qbit directory (cd /qbit)

  5. Run ./buzzer-sync.sh

  6. 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

  7. Stop qbit daemon:​

    • Check qbit process ID (​ps aux | grep qbit)

    • Stop daemon (kill [ID])

  8. 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

  9. Run ./buzzer.sh

  10. 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

  11. 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):

  1. 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

  2. git clone https://github.com/qbit-t/qbit

  3. cd ./qbit

  4. cd ./secp256k1

  5. ./autogen.sh

  6. ./configure --enable-experimental --enable-module-schnorrsig --enable-module-musig --enable-module-ecdh --enable-module-generator --enable-module-rangeproof --with-bignum=no

  7. cd ..

  8. cd ./boost

  9. ./bootstrap.sh --with-libraries=system,thread,chrono,random,filesystem --prefix=../

  10. ./b2

  11. cd ..

  12. cmake -DCMAKE_BUILD_TYPE=Release

  13. 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

  14. nano ./buzzer.sh

  15. 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

  16. chmod +x buzzer.sh

  17. cd .. 

  18. mkdir .buzzer

  19. cd .buzzer

  20. 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": ""
      }

  21. ​cd .. 

  22. cd ./qbit 

  23. ./buzzer.sh

  24. 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

  25. Stop qbit daemon:​

    • Check qbit process ID (​ps aux | grep qbit)

    • Stop daemon (kill [ID])

  26. 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

  27. ./buzzer.sh

  28. 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

  29. 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/​

Node Сonfigurations
Equipment requirements
bottom of page