Настройка узла (нода/майнер)
в Ubuntu 18.x - 20.x
Установка ноды из готового пакета:
-
Проверьте соответствие системным требованиям (ссылка)
-
При выборе неверной конфигурации, демон может не синхронизироваться.
-
Обратите внимание: необходим статический внешний IP-адрес, доступный из Интернета (настройки вашего маршрутизатора).
-
-
Скачайте актуальный релиз "buzzer.x.x.x.xx.linux.tar.gz" с нашего github репозитория
-
Распакуйте архив в директорию home: ~/
-
Примечание: избегайте использования пользователя root для развертывания узла
-
-
Войдите в каталог ~/qbit (cd /qbit)
-
Запустите ./buzzer-sync.sh
-
Дождитесь завершения синхронизации ("state": "SYNCHRONIZED"). Статус синхронизации можно проверить с помощью ('sudo apt-get install curl', если у вас нет этого пакета):
-
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getstate","params":[]}' -i -H 'content-type: text/plain' http://127.0.0.1:8080
-
-
Остановите демон qbit:
-
Проверьте идентификатор процесса (ps aux | grep qbit)
-
Остановите демон (kill [ID])
-
-
Выберите подходящую конфигурацию вашего узла (перечислены ниже) и вставьте в 'buzzer.sh'. Пример, для Fullnode с оптимальной конфигурацией:
-
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
-
Необходимо изменить 0.0.0.0 на свой внешний статический IP-адрес, иначе ваш узел может быть не принят сетевым консенсусом.
-
-
-
Запустите ./buzzer.sh
-
Проверьте подключение:
-
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getpeerinfo","params":[]}' -i -H 'content-type: text/plain' http://127.0.0.1:8080
-
-
Проверьте текущее состояние узла и сравните с данными getpeerinfo — высота, блок, dapp:
-
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getstate","params":[]}' -i -H 'content-type: text/plain' http://127.0.0.1:8080
-
Подключение
-
Если вы собираетесь разрешить подключение из сети для node, fullnode, то вы должны выбрать свободный TCP-порт и сделать его доступным из Интернета (на вашем маршрутизаторе); порт по умолчанию - 31415, но вы можете переопределить его.
-
Необходимо изменить 0.0.0.0 на свой внешний статический IP-адрес, иначе ваш узел может быть не принят сетевым консенсусом.
-
Данные об адресах узлов находятся в ~/.buzzer/qbit.config
Сборка ноды (build, альтернативный способ для опытных пользователей):
-
Подготовка
-
Проверьте соответствие системным требованиям (ссылка)
-
При выборе неверной конфигурации, демон может не синхронизироваться
-
Обратите внимание: необходим статический внешний IP-адрес, доступный из Интернета (настройки вашего маршрутизатора).
-
-
Используйте директорию home: ~/
-
Примечание: избегайте использования пользователя root для развертывания узла
-
Во время установки вам могут понадобиться следующие пакеты:
-
[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
-
Обратите внимание - если make выдает ошибки линковки, сделайте следующее:
cmake ./
make -
Обратите внимание - это может занять очень много времени, и не все из пакетов вам будут нужны. Во время компиляции вы можете столкнуться с ошибками сборки, по возможности добавьте их в EXCLUDE_PKGS и повторно запустите make
-
-
nano ./buzzer.sh
-
Введите в 'buzzer.sh' параметры для начальной синхронизации, исключив роль miner:
-
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
-
Введите текущие пиры (пример):
-
{
"peers": "10.0.0.1:10001,10.0.0.2:10001,10.0.0.3:10001",
"notifyTransaction": ""
}
-
-
cd ..
-
cd ./qbit
-
./buzzer.sh
-
Дождитесь завершения синхронизации ("state": "SYNCHRONIZED"). Статус синхронизации можно проверить с помощью:
-
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getstate","params":[]}' -i -H 'content-type: text/plain' http://127.0.0.1:8080
-
-
Остановите демон qbit:
-
Проверьте идентификатор процесса (ps aux | grep qbit)
-
Остановите демон (kill [ID])
-
-
Выберите подходящую конфигурацию вашего узла (перечислены ниже) и вставьте в 'buzzer.sh'. Пример, для Fullnode с оптимальной конфигурацией:
-
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
-
Необходимо изменить 0.0.0.0 на свой внешний статический IP-адрес, иначе ваш узел может быть не принят сетевым консенсусом.
-
-
-
./buzzer.sh
-
Проверьте подключение:
-
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getpeerinfo","params":[]}' -i -H 'content-type: text/plain' http://127.0.0.1:8080
-
-
Проверьте текущее состояние узла и сравните с данными getpeerinfo — высота, блок, 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 в минимальной конфигурации:
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 в оптимальной конфигурации:
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 в максимальной конфигурации:
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
Технические требования к оборудованию
-
Узел (node):
-
6 ядер, 8 Гб RAM, 350 Гб SDD, 20 Мбит доступ в Интернет.
-
-
Полный узел (fullnode):
-
Минимальные (майнинг QBIT, майнер/валидатор Buzzer и Cubix, до 500 подключений клиентов):
-
6-8 ядер, 16 Гб RAM, 200-350 Гб SDD, 50 Мбит доступ в Интернет;
-
-
Оптимальные (майнинг QBIT, майнер/валидатор Buzzer и Cubix, до 1500 подключений клиентов):
-
12-24 ядер, 32 Гб ОЗУ, 500 Гб SDD, 100 Мбит доступ в Интернет.
-
-
Максимальные (майнинг QBIT, майнер/валидатор Buzzer и Cubix, до 3500 подключений клиентов):
-
32+ ядер, 64+ Гб ОЗУ, 1+ Тб SDD, 150+ Мбит доступ в Интернет.
-
-
Обратите внимание: необходим статический внешний IP-адрес, доступный из Интернета (настройки вашего маршрутизатора).
QBIT эксплорер - http://explorer.buzzer.network/