Как установить zmq на ubuntu

Обновлено: 04.07.2024

Блогер StopAndDecrypt рассказывает, как установить Kubuntu 18.04 вместе с полной нодой (полным узлом) биткоина без какого-либо опыта работы с Linux. Оригинал поста опубликован на Hackernoon. Предлагаем вам перевод.

Предисловие

Недавно я поставил новый SSD (поэтому мне не пришлось обрезать ноду на моём ноутбуке) и подумал, что могу заодно написать инструкцию.

Никогда не пользовались Linux? Не знаете, что значит «обрезать ноду»? Отлично. Эта статья для вас. Я хочу, чтобы вы переключились на Linux, а биткоин мотивировал бы вас это сделать. Это и руководство по Linux для чайников, и руководство по настройке ноды биткоина. Если вы не хотите читать всю эту кучу текста, можете просто скопировать команды в самом низу.

Я предполагаю, что вы знаете, как загрузить и смонтировать ISO-образ. Я не буду вносить никаких изменений в конфигурацию установки по умолчанию, за исключением шифрования всего диска, а также импорта настроек рабочего стола и темы. Я не буду устанавливать что-либо ещё, кроме ноды биткоина.

Часть 1. Настройка

Пропустите этот раздел полностью, если вы уже на Linux.

Загрузите ISO Kubuntu

Kubuntu — это Ubuntu, только покрасивее. Самый последний LTS — 18.04.

Установите ISO на USB или CD

Следуйте официальному руководству Ubuntu для Windows или macOS.

Установка ОС

Настройте имя компьютера, пользователя и пароль. Моим именем в этой инструкции будет satoshi, а именем компьютера — nakamoto. После установки и входа в систему ваш рабочий стол должен выглядеть так:


Освойтесь, перейдите в приложения и запустите эмулятор терминала (Konsole). Большую часть времени мы будем работать в этом единственном окне, но сначала откроем диспетчер файлов (Dolphin), а также импортируем настройки темы и рабочего стола.


Прежде чем мы войдём в терминал, давайте разберёмся с тем, что мы уже видим. В верхней части окна терминала отображается Konsole. Это просто название программного обеспечения, характерное для данной среды рабочего стола (другие названия — Terminal, Command Line и др.). Как Satoshi (имя пользователя) Nakamoto (имя компьютера) вы будете отображаться в любой сети, к которой cможете подключиться.

Между «:» и «$» вы увидите «

». Это аббревиатура для вашей домашней директории /home/ <username>. / home /<username> похожа на «Мои документы» в Windows.

Часть 2. Подготовка

Скопируйте команды из раздела или из конца статьи, если вы уже на Linux.

В первую очередь мы проверим наличие обновлений в терминале. Введите следующую команду и нажмите Enter (по пути вам будет предложено ввести «y» для «yes» и ваш пароль):

$ sudo apt-get update

sudo иногда называют суперпользователем (superuser do). Команда похожа на «запуск от имени администратора» в Windows. Она необходима потому, что следующие команды будут требовать уровня доступа суперпользователя.

apt-get позволяет вам взаимодействовать с доступными библиотеками программного обеспечения, чтобы вы могли скачать ПО прямо с терминала.

update — одна из нескольких команд, которые должны следовать за apt-get. Она проверяет наличие обновлений для любых установленных вами пакетов.

Затем мы установим Git. Это широко используемое программное обеспечение с открытым кодом, предназначенное для работы с другими проектами с открытым (и закрытым) кодом. Мы будем использовать Git для доступа к репозиторию биткоина и для загрузки его кода.

$ sudo apt-get install git

Команда install должно быть понятной; это как update, но для первой установки конкретного пакета. Для этого требуется имя пакета.

git — это имя пакета Git, он признаётся одним из источников (source), к которым обращается команда apt-get. После установки также будет работать как команда.

Теперь мы создадим папку в нашей домашней директории и перейдём к этой директории, чтобы скопировать нужные нам файлы. Мы можем копировать это в любую нужную нам папку (просто я выбрал именно такой путь). Сначала введите следующую строку:

$ mkdir p bitcoin-source && cd bitcoin-source

Это должно выглядеть так:

mkdir создаёт директорию. Это похоже на щелчок правой кнопкой мыши на рабочем столе и выбор «создать > папку».

bitcoin-source — это лишь имя директории/папки, которую мы собираемся создать.

&& позволяет выполнить вторую команду в той же строке при условии, что первая не дала сбой или ошибку.

cd изменит текущую директорию на ту, которую вы укажете. В этом случае она изменится на директорию /bitcoin-source, которую мы только что создали.

/bitcoin-source, команда создаст каталог

/bitcoin-source/bitcoin и разместит там все необходимые файлы.

Вы можете проверить установку файлов с помощью команды ls или перейти к этой директории в диспетчере файлов.

ls выведет все открытые папки в директории, в которой вы находитесь.

ls bitcoin будет искать папку /bitcoin в директории (в которой вы находитесь), а затем выводить все открытые папки в этой директории.

ls -a выведет все папки, включая скрытые папки (если они существуют). Скрытые папки начинаются с . и выглядят так: /home/satoshi/.abc123


Перейдите в эту папку. Вы увидите, как создаются файлы, когда мы запускаем другие команды.

Теперь нам нужно установить несколько библиотек вместе с Berkeley Database. В этом руководстве я разделил их на группы согласно документации по сборке в Github для Ubuntu, поскольку я пытался объединить их раньше и получил ошибки. Библиотеки:

$ sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3

$ sudo apt-get install libboost-all-dev

Эта команда будет загружать и верифицировать Berkeley Database:

$ echo '12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz' | sha256sum -c

После ввода команды echo вы должны получить ответ:

Следующие команды извлекут (tar -xvf) Berkley Database, которую мы только что загрузили и установили. Она также установит ярлык пути, так что только BDB_PREFIX нужно ввести при ссылке на зависимость. Обычно, когда вы вводите команду, если вы уже на середине пути, вам нужно только ссылаться на оставшийся путь. Но, когда вы компилируете, следует указать весь путь:

$ tar -xvf db-4.8.30.NC.tar.gz
$ cd db-4.8.30.NC/build_unix
$ mkdir -p build
$ BDB_PREFIX = $ (pwd) / build
$ ../dist/configure --disable-shared --enable-cxx --with-pic --prefix = $ BDB_PREFIX
$ sudo make install
$ cd ../ ..

$ sudo apt-get install libminiupnpc-dev

$ sudo apt-get install libzmq3-dev

$ sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler

$ sudo apt-get install libqrencode-dev

Этим и завершается подготовка. Теперь начинаем устанавливать биткоин.

Часть 3. Компиляция Bitcoin Core 0.16.0

Мы находимся в /home/satoshi/bitcoin-source, поэтому давайте перейдём в директорию /bitcoin, скомпилируем и установим:

git checkout tags/v0.16.0 отсылают на конкретный сommit из истории git. «Ветви» могут изменяться по мере обновления, поэтому ссылка на ветку может привести к тому, что команда не будет работать в будущем.

./autgen.sh просто приготовит файлы для установки.

Часть 4. Настройка вашей новой ноды и ознакомление с ней

Большая часть этого раздела не требует запуска программного обеспечения. В будущем вы, скорее всего, просто запустите его в фоновом режиме. Опять же, это просто поможет вам понять, что происходит «за кулисами».

Первое, что вам нужно сделать, прежде чем запустить биткоин в первый раз, — это создать несколько окон. Сначала мы запустим версию GUI, называемую bitcoin-qt, затем мы выйдем из неё и запустим версию без GUI, названную bitcoind, а потом вернёмся к bitcoin-qt с некоторыми действиями и конфигурациями между ними, чтобы вы могли понять, как это работает.

Закройте все открытые окна и откройте два новых окна терминала и диспетчер файлов. В диспетчере файлов перейдите в /home/satoshi/. Вам нужно нажать Home на боковой панели. Затем в строке меню в верхней части выберите Control и установите флажок Hidden Files. В одном из окон терминала введите следующее:

Теперь вы должны увидеть папку с именем .bitcoin в диспетчере файлов. Перейдите в эту папку.

Создадим файл debug.log. Когда вы впервые запускаете биткоин, файл debug.log создаётся автоматически, но вы поймёте, почему я хочу сделать это раньше:

$ touch

Теперь мы запустим файл debug.log. Файлы регистрации (логи) постоянно обновляются с новыми строками информации, так как программа ведёт журналирование своих действий. Команда tail показывает вам последние записи в этом файле, но только один раз. Использование флага -f даст вам непрерывный поток этих обновлений. Когда вы введёте следующую команду, вы ничего не увидите, потому что биткоин ещё не запущен, но мы оставим его так:

В другом открывшемся окне терминала запустите биткоин, введя следующее:

Вы должны увидеть log tail снова. Биткоин работает в фоновом режиме. Ещё раз нажмите CONTROL + C и дайте ему остановиться.

Нам нужно создать файл конфигурации, поэтому в файловом проводнике создайте файл bitcoin.conf. Откройте его, введите следующее и сохраните файл:

Кроме того, вы можете настроить узел, чтобы обрезать (prune) блокчейн по мере его заполнения. Сейчас весь блокчейн весит около 160 Гб. Если у вас недостаточно места для хранения, вы можете сократить данные до 5 Гб (на данный момент). Я не рекомендую этого делать без необходимости, но вы можете обрезать блокчейн до 10 Гб следующей командой:

debug=net
prune=10000

В вашем конфигурационном файле может быть множество параметров, и неважно, в каком порядке они находятся. Он может выглядеть так, если вы, например, хотите ограничить свои мемпул-узлы транзакциями на 100 Мб:

maxmempool=100
prune=10000
debug=net

Откройте третий терминал и введите следующее:

/ .bitcoin / debug.log | grep "UpdateTip:"

grep — это команда, которая имеет несколько функций, но в этом контексте она будет выводить информацию из первой команды и фильтровать её, чтобы отображались только строки, содержащие указанный внутри кавычек текст.

В другом терминале введите следующее:

/.bitcoin/debug.log | grep -v "UpdateTip:\|Requesting block\|sending getdata\|recieved block\|received: block"

Это та же команда, но с флагом -v, она будет делать противоположное предыдущей команде и отбрасывать любую строку с указанным нами текстом.

Итак, теперь мы можем отфильтровывать некоторую информацию, чтобы данные обновлялись не так быстро. Не стесняйтесь играть с настройками, исключая лишнее и добавляя нужное именно вам.

Вот и всё! В зависимости от вашего оборудования / пропускной способности сети этот процесс может занять от нескольких часов до нескольких недель (последнее маловероятно).

Читайте также: