Установка zcash кошелька linux

Установка, настройка и мониторинг ноды Zcash

Я много работаю с криптовалютами, поэтому решил написать цикл статей по этому поводу. Сегодня я расскажу, как установить и настроить ноду Zcash, а так же сделать ее мониторинг с помощью Zabbix. Информация уникальная и в рунете практически нет ничего на эту тему, так что я решил поделиться.

Цели статьи

  1. Установить ноду криптовалюты zcash на свой сервер.
  2. Настроить удаленную работу через rpc ноды с авторизацией.
  3. Сделать мониторинг ноды с помощью zabbix.

Введение

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

Я все изучал и настраивал сам. За основу брал только официальную документацию. В работе нод много нюансов, которые нужно учитывать. Постараюсь поделиться основной информацией, которая у меня есть.

Я уже писал статью про настройку нод криптовалют, а так же их мониторинг, но это все частично устарело, особенно установка. Надо все обновить. В этот раз будет по каждой ноде отдельная статья, чтобы не мешать все в кучу.

Системные требования zcash

Системные требования zcash, которые указаны в документации:

  • 64-х битный процессор.
  • 5G оперативной памяти.
  • 25 Gb диск

Нода zcash нормально запускается на виртуальной машине с 2 CPU, 4 Gb памяти и ssd диском. На момент написания статьи, блокчейн занимал 25 Gb. Места под него должно быть не меньше. С учетом того, что блокчейн постоянно растет, надо делать запас.

Установка ноды zcash

Ставится zcash не сложно, но и не сказать, что просто, так как готовые пакеты есть только под Debian. Я обычно под ноды использую Ubuntu, поэтому собирать буду из исходников. Хотя пакет от Debian скорее всего подойдет и под Ubuntu, но я не люблю экспериментов. Из исходников точно заработает так, как надо.

Для начала установим необходимые для сборки zcash зависимости.

Копируем к себе репозиторий.

Выбираем ветку с последней версией.

Запускаем скрипт, который скачивает необходимые для сборки файлы. Качать будет много, порядка 1,7 Gb.

После этого запускаем сборку.

Установим скомпилированные бинарники в систему:

Обновление ноды zcash обычно выглядит так:

  1. Скачиваем и компилируем новые исходники.
  2. Останавливаем ноду, заменяем старые исходники.
  3. Запускаем ноду.

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

Когда нода в работе, обновление надо обязательно предварительно тестировать и смотреть, к чему оно приводит. В проде я обычно держу 2 ноды — основную и резервную. На резервной тестируется обновление. Если все ОК, она становится основной, а рабочая уходит в резерв. И так каждый раз ротируется при обновлении.

Читайте также:  Приложение task host windows не дает выключить компьютер

Настройка и удаленный доступ

Теперь создадим фай конфигурации ноды zcash в директории

rpcuser имя пользователя для работы через rpc
rpcpassword пароль пользователя
addnode выбор блокчейна, основной mainnet.z.cash или тестовый testnet.z.cash
rpcbind ip сервера, на котором будет работать сервис rpc
rpcallowip список разрешенных ip адресов для подключения к rpc

Я для теста разрешил слушать все ip адреса сервера и подключаться отовсюду. Чаще всего это не нужно. Ограничивайте доступ к ноде списком только своих доверенных адресов. Я всегда это делаю, если нода поддерживает такую возможность. Например, parity для ноды ethereum не имеет таких настроек. Дополнительно я всегда ограничиваю доступ к ноде на уровне iptables. Настоятельно рекомендую это делать.

В общем случае ноду лучше запускать не от пользователя root. Более того, некоторые ноды невозможно запустить под рутом, они хотят отдельного пользователя. У меня обычно нода это виртуальная машина, где кроме самой ноды ничего нет. В этом случае нет принципиальной разницы с точки зрения безопасности, от root она работает или нет.

Запуск и проверка работы

Мы установили и настроили ноду zcash. Теперь запускаем ее. Она поддерживает работу как в виде обычного приложения в консоли, так и в режиме демона. Первый раз можете запустить ее прямо в консоли, чтобы тут же увидеть результат работы.

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

В принципе, можно запускать ноду в этом режиме в screen, тогда можно очень быстро и просто посмотреть ее статус. В таком виде ее можно и в автозапуск добавить. Но надежнее запускать ноды zcash как демон. Она поддерживает такой режим.

Нода запускается в виде службы. За ее состоянием можно следить по логу —

/zcash/debug.log. Для автозапуска достаточно добавить в cron:

Состояние ноды можно проверить через консоль с помощью zcash-cli.

Корректно остановить работу ноды zcash можно командой:

Теперь попробуем выполнить удаленный запрос о состоянии ноды через rpc. Для этого идем на любой другой linux сервер, где есть curl. Главное, проверить работу с сервера приложений, где будет крутиться софт для работы с нодой. В консоли выполняем команду:

8232 — дефолтный порт, который слушает нода, если вы его явно не указывали в конфигурационном файле. Следите за правильностью набора пользователя или пароля. Если укажете неправильно, в ответ ничего не получите, что несколько сбивает с толку. Информация об этом будет в debug.log, но там ее так много, что трудно заметить то, что надо.

В ответ на запрос получите информацию о состоянии ноды в json формате.

Читается в консоли не очень, зато удобно парсить данные, в том числе для системы мониторинга. Об этом будет рассказано далее. Полное описание api для удаленных запросов можно посмотреть в документации — https://zcash.readthedocs.io/en/latest/rtd_pages/zig.html.

Читайте также:  Что такое клиентские лицензии windows server 2012

Мониторинг работы ноды zcash

Расскажу, как я мониторю работу ноды. Для этого использую Zabbix.

Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:

То же самое на Debian 10, если предпочитаете его:

Здесь я не буду останавливаться на заббиксе подробно. Для этого у меня есть отдельные статьи. Расскажу сразу суть — что и как мониторю.

В одной из недавних версий у Zabbix появились http агенты, с помощью которых можно отправлять post запросы. Это очень упростило многие задачи по мониторингу. То, что я раньше делал с помощью скриптов и curl теперь можно делать прямо в шаблоне и свободно переносить с сервера на сервер в виде экспорта и импорта шаблона.

Что я мониторю в ноде zcash:

  1. Работу самой службы zcashd на сервере.
  2. Состояние блокчена и разницу между headers и blocks. Первое это количество блоков в блокчейне, а второе — номер блока, который синхронизирован на твоей ноде.
  3. Состояние сети блокчейна, активна или нет.

И соответственно триггеры:

  1. Служба zcashd не работает.
  2. Нода начинает отставать, разница между headers и blocks превышает 50 или 100 блоков.
  3. Сеть блокчейна неактивна.

Теперь как это реализовано. В конце будет готовый шаблон.

Таймаут можно побольше ставить, часто 3 секунды не хватает. Этот итем собирает вот такие данные:

Дальше делаем зависимые элементы, для данных из headers и blocks.

И в предобработке выделяем нужный нам JSONPATH.

По аналогии то же самое делается для blocks. Потом делаем простой триггер с их сравнением.

В данном случае разница в 9 блоков была просьба программистов. Я не знаю, какая именно разница критична для работы.

Дальше берется состояние network запросом:

Делается итем по аналогии с blockchaininfo. И для него зависимый элемент и триггер на наличие слова true в данных из JSONPATH по пути $.result.networks[:1].reachable.

Вот итоговый список итемов и триггеров.

Готовый шаблон с этими элементами — zabbix-zcash.xml. Импорт делался с версии сервера 4.4 В шаблоне нет графиков. Обычно все это смотрится в Latest Data.

На этом по установке, настройке и мониторингу ноды zcash у меня все.

Заключение

Это первая статья из цикла. Я планирую пройтись по всем основным и популярным нодам — bitcoin, bitcoin cash, ethereum, litecoin, dash, cardano, destream, tron, neo, ripple xrp и др.

Если у вас есть желание каким-то образом использовать ноды, открыть криптобиржу или что-то связанное с блокчейном, можете обращаться ко мне. У меня большой практический опыт работы с ними — установка, обслуживание, обновление, мониторинг. Могу подобрать площадку для размещения, запланировать ресурсы, рассчитать затраты на размещение и т.д.

Источник

Как майнить zcash на Ubuntu

В последнее время криптовалюты набирают очень большой популярности, и хотя сейчас мейнстримом становится PoS майнинг, для которого не нужны аппаратные мощности, остались еще криптовалюты, для майнинга которых еще можно использовать видеокарты. Одна из таких криптовалют — ZCash. Она была выпущена 28 октября 2016 и ориентирована на максимальную анонимность транзакций.

Причем суммарная мощность сети не такая и большая, поэтому по прибыльности ZCash сравнивается с эфиром. В этой статье мы рассмотрим как майнить zcash на Ubuntu с помощью GPU или процессора используя официальную программу от разработчиков.

Читайте также:  Lazarus для mac os

Майнинг ZCash на CPU

Сначала поговорим о майнинге на процессоре с помощью официальной программы. Это не просто майнер, а полноценный кошелек-нода, которая будет работать на вашем компьютере. Вы можете собрать ее из исходников, но в этой статье мы будем устанавливать программу из репозитория Debian. Инструкция подойдет для всех дистрибутивов, основанных на Ubuntu.

Сначала добавьте репозиторий в систему. Для этого откройте файл источников и добавьте в него строчку:

sudo vi /etc/apt/sources.list

deb [arch=amd64] https://apt.z.cash/ jessie main

Затем нужно импортировать GPG ключ репозитория в систему:

wget -qO — https://apt.z.cash/zcash.asc | sudo apt-key add —

Затем обновляем список пакетов в репозитории и устанавливаем саму ноду:

sudo apt update
$ sudo apt install zcash

Дальше нам нужно настроить основные параметры, для этого достаточно выполнить команду:

Загрузка может занять длительное время, дальше нужно установить имя пользователя и пароль для нашего кошелька:

/.zcash/zcash.conf
$ echo «rpcuser=username» >>

/.zcash/zcash.conf
$ echo «rpcpassword=`head -c 32 /dev/urandom | base64`» >>

Для включения поддержки майнинга выполните:

/.zcash/zcash.conf
$ echo «genproclimit=$(nproc)» >>

Теперь можно запустить ноду, при первом запуске будет создан кошелек и полностью загружен блокчейн:

Или в режиме сервиса:

Для остановки запустите:

Мы настроили соло майнинг, но в наше время это очень невыгодная затея, поскольку в одиночку вы будете майнить один блок очень долго если у вас нет мощной фермы из видеокарт. Поэтому в большинстве случаев применяется майнинг с помощью пулов.

Майнинг ZCash в пуле на GPU

Майнинг с помощью видеокарты NVIDIA или AMD будет намного быстрее, вы можете использовать, например, zcash miner ubuntu — EWBF’s CUDA Zcash miner для видеокарт NVIDIA. Скачать последнюю версию этого майнера можно на Google Drive. Дальше вам остается только распаковать архив, и отредактировать файл настроек:

Здесь нужно указать адрес пула в котором вы хотите майнить, имя пользователя и пароль. Найдите секцию server и установите значения для таких полей:

  • server — адрес сервера пула;
  • port — порт пула;
  • user — ваше имя пользователя на пуле;
  • pass — пароль пользователя.

Дальше можно запускать майнинг командой:

Все данные будут прочитаны из конфига.

Майнинг ZCash в пуле на CPU

Хотя на CPU производительность намного ниже, но вы тоже можете попробовать майнить ZCash. Для этого можно использовать майнер от NiceHash. Сначала нужно скачать майнер с Github и собрать из исходников:

/miner
$ cd /miner
$ git clone https://github.com/feeleep75/nheqminer.git

sudo apt-get install cmake libboost-all-dev

Запустите компиляцию исходников:

cd nheqminer/nheqminer
$ mkdir build
$ cd build
$ cmake ..
$ make

После завершения сборки вы можете выбрать пул и начинать майнить:

./nheqminer -l адрес_пула:порт -u имя_пользователя

Как видите, все достаточно просто. Майнинг zcash ubuntu возможен, но вряд ли сейчас это целесообразно делать без мощной видеокарты.

Выводы

В этой статье мы рассмотрели как майнить ZCash на Ubuntu различными способами, с помощью процессора, видеокарты и соло майнинг с помощью официального клиента.

Источник

Оцените статью