Майнинг

Майнинг криптовалюты QuarkChain (QKC)

Разработчики Quarkchain (QKC) анонсировали на 30 апреля 2019 года (UTC+08.00) переход на собственный блокчейн (QuarkChain Mainnet 1.0). Будет использоваться алгоритм Proof of Staked Work (PoSW), комбинирующий PoW и PoS.

Уже сейчас можно заработать, участвуя в Bounty-программе этого проекта.

Что ждет майнеров после запуска основной сети Quarkchain?

В сети Quarkchain будет возможен майнинг с получением вознаграждения в монетах QKC на трех алгоритмах PoW:

  • собственный algo Qkchash для процессоров (защищен от атак ASIC-ов);
  • на алгоритме Ethash для майнинг-ферм на видеокартах (возможно это станет достойной альтернативой для майнеров вместо Ethereum);
  • на алгоритме Double SHA256 — для ASIC-ов (используется в блокчейне Bitcoin).

Кроме того, будет внедрен механизм поощрения стейкеров, владеющих монетами QKC. При этом минимальная сумма монет, необходимая для стейкинга, будет пропорциональна общему хешрейту сети Quarkchain.

Скорое воплощение идей разработчиков Quarkchain, по их заявлениям, предвосхищает то, что Ethereum планирует реализовать только в долгосрочной перспективе.

До 30 апреля 2019 года можно попробовать майнинг в тестовой сети Quarkchain.

Есть ли смысл заниматься майнингом в тестовой сети Quarkchain?

!!!Важно!!!

Намайненные в тестовой сети монеты tQKC можно будет обменять на реальные монеты Quarkchain (QKC) после запуска основной сети.

За участие в тестовом майнинге между участниками тестирования будет распределено вознаграждение в размере 5 млн. монет QKC. Они будут распределены следующим образом:

  • за майнинг на Ethash Algo: 2,000,000 QKC;
  • за Double SHA256 Algo: 1,000,000 QKC;
  • за Qkchash Algo: 2,000,000 QKC.

Ближе к дате перехода Quarkchain на свой блокчейн возможно появятся пулы для майнинга монет QKC, но при отсутствии таковых можно будет заработать путем установки собственного кластера Кваркчейн.

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

В данной статье рассказывается о том, как настроить майнинг криптовалюты Quarkchain (QRK) в тестовой сети на процессоре и видеокартах.

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

Особенности функционирования блокчейна Quarkchain в тестовой сети

Блокчейн Quarkchain в тестовой сети версии 2.5.2 имеет следующие особенности:

  • используется комбинированный механизм консенсуса Boson с двумя уровнями:

основная цепь (главный блокчейн, Root Chain);

8 связанных с Root Chain шардов (цепочек-ответвлений);

  • Root Chain работает на алгоритме Ethash с интегрированной технологией Guardian (нужна для защиты от атак владельцев больших мощностей) с целевым временам нахождения блока, равным 30 секундам;
  • 4 шарда работает на алгоритме Ethash (10-20 секунд на блок в шардах 0, 1, 2 и 3);
  • 2 шарда (подсеть номер 4) — на алгоритме Double SHA256 (10-20 секунд на блок в шардах 0 и 1 соответственно);
  • 2 шарда (подсеть номер 5) на algo Qkchash (5-10 секунд на блок в шардах 0 и 1);
  • вознаграждение за найденный блок в тестовой сети (цифра может изменяться) – 2,5 tQKC.

Для майнинга в тестовой сети нужно запускать свои узлы Quarkchain. К сожалению, согласно правилам, разработчики запрещают участие в тестовой сети и получение вознаграждения гражданам ряда стран и территорий, включая Беларусь и Крым.

Какие программы можно использовать для майнинга Quarkchain?

Майнинг криптовалюты Quarkchain на видеокартах можно осуществлять с помощью программы QuakrChain miner, которая является форком Ethminer. Для майнинга на процессоре нужно использовать командную консоль и Docker (подробнее этот процесс описан ниже).

Запуск майнинга Quarkchain на видеокартах и процессоре невозможен без инсталляции и наличия кластера, который требует использования Docker — программы для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.

Рассмотрим подробнее, как запустить кластер в операционной системе Windows 10. Этот процесс можно также осуществить непосредственно в Ubuntu\Linux. Процесс установки Docker в Ubuntu\Linux описывается в англоязычной статье.

Как инсталлировать и запустить кластер для майнинга Quarkchain?

Для запуска кластера нужно иметь достаточно производительный компьютер под управлением Windows 10 с объемом оперативной памяти не менее 8 гигабайт.

Файл для установки программы Docker можно скачать по адресу, где можно выбрать версии для Windows и Mac:

После нажатия на кнопку Download for Windows откроется окно со ссылкой для скачивания, для получения которой нужно залогиниться или пройти процесс регистрации (для нее нужно нажать кнопку Signup в правой верхней части окна):

Для регистрации нужно придумать и ввести в интерактивное поле свой Docker ID (маленькими латинскими буквами), адрес электронной почты и пароль, а также согласиться с условиями сервиса:

После успешного введения регистрационных данных появится окно с сообщением о необходимости подтверждения адреса электронной почты:

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

После подтверждения e-mail откроется окно для доступа на сайт Docker:

После введения авторизационных данных откроется доступ на страницу для скачивания Docker:

После нажатия кнопки Download for Windows появится кнопка GetDocker, ведущая на страницу для скачивания инсталляционного пакета для 64-битной версии Windows 10 Professional или Enterprise (файл Docker for Windows Installer.exe):

Установка Docker в операционной системе Windows 10

Установка Docker в операционной системе Windows 10 начнется после нажатия на скачанный инсталляционный файл:

Появится окно, в котором нужно активировать опцию использования контейнеров Windows (эту опцию можно будет выбрать и после инсталляции):

Процесс установки займет несколько минут:

После успешной инсталляции Docker на рабочем столе появится окно с сообщением о необходимости выйти из текущей сессии Windows для завершения процесса установки:

После повторного входа в систему появится окно с сообщением необходимости включения Hyper-V и контейнеров (потребуется перезагрузка):

После перезагрузки появится окно с полями для открытия консоли терминала и ввода авторизационных данных:

В этом окне нужно ввести данные, которые использовались на этапе регистрации для скачивания инсталляционного файла Docker. После этого программа пропишет себя в автозапуск. Можно отключить автозапуск через подменю установок (Settings) и запускать Docker через иконку на рабочем столе:

В нижнем правом углу рабочего стола будет иконка Docker:

При нажатии на иконку правой кнопкой мыши появляется меню управления Docker, содержащее подменю Settings:

Подменю Settings позволяет осуществить отключение автозапуска в разделе General:

Для облегчения использования Docker в операционной системе Windows лучше использовать консольную утилиту portainer, которую можно скачать на сайте portainer.io (работает в Windows 10 не ниже релиза 1803):

Она нужна для управления Докером и мониторингом его состояния в ОС Windows 10 (в Ubuntu\Linux утилита portainer не нужна).

Как использовать утилиту portainer вместе с Docker?

Для использования вместе с Docker вспомогательной утилиты portainer нужно запустить командный интерпретатор, встроенный в Windows. Для этого нужно одновременно нажать клавиши WinKey+R и написать в появившемся окне команду «cmd», а затем нажать ОК:

В консоли cmd, которая появится, будет приглашение для ввода команд C:\Users\User> (в данном случае User это Z370M):

Для установки утилиты portainer нужно использовать командную строку в консоли cmd. При работающем Docker нужно скопировать текст команд, приведенных ниже, нажать правой кнопкой мыши в консоли cmd и активировать ввод:

docker volume create portainer_data

docker run -d -p 9050:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Возможно, нужно будет разблокировать доступ к сети с помощью брандмауэра:

Впоследствии для доступа к portainer нужно будет использовать сетевой адрес http://127.0.0.1:9000/#/home либо http://127.0.0.1:9050/#/home.

Portainer при первом запуске запросит создание авторизационных данных:

После входа в portainer появится окно, в котором нужно связать Portainer с локальным окружением Docker:

Теперь нужно создать контейнер и развернуть в нем образ тестовой сети. Это делается с помощью команды:

docker run --name qkctest  -it -p 38291:38291 -p 38391:38391 -p 38491:38491 -p 38291:38291/udp ninjaahhh/pyquarkchain:testnet2.5.2

Контейнер для тестового майнинга называется qkctest (впоследствии его можно переименовать). Указанная командная строка соответствует версии тестовой сети 2.5.2. Более точную версию сети нужно проверять по адресу на hub.docker.com.

Затем нужно проверить правильность установки и ее статус с помощью команды:

docker ps -a

Должно появиться окно с информацией о двух контейнерах:

Теперь в браузере с открытым Portainer нужно нажать кнопку Connect. Должно появиться окно с доступным окружением Docker с двумя контейнерами:

Затем нужно перейти в контейнер qkctest путем ввода команды:

docker exec -it qkctest bash

После выполнения этой команды должно появиться окно с доступом к тестовой сети:

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

Что делать при проблемах с работой контейнера qkctest?

Если после ввода команды docker exec -it qkctest bash появляется ошибка Error response from daemon: Container 4722ac… is not running, то нужно проверить работу контейнеров в Portainer.

Для этого нажимают на интерактивную надпись 2 containers:

Появится окно с информацией о работе контейнеров и других параметрах окружения Докер:

Нужно выделить неработающий контейнер, который имеет иконку красного цвета, после этого появится меню доступных контейнеров, в котором нужно выделить неработающий и нажать кнопку Start:

В итоге оба контейнера должны работать:

Как открыть кошелек для майнинга в тестовой сети Quarkchain?

Онлайн-кошелек для хранения монет, добытых в тестовой сети QuarkChain можно открыть на странице сайта testnet2.quarkchain.io, где для этого нужно сгенерировать приватный ключ нажатием на кнопку GENERATE (либо ввести ключ своего кошелька и нажать ОК):

После этого появится меню для работы с монетами QKC через браузер:

В меню Shard нужно раскрыть их список и выбрать адрес Primary Wallet, на который можно будет отправлять добытые монеты:

Адрес Primary Wallet нужен для зачисления на него намайненных монет.

Конфигурация майнера для добывания монет QKC

Конфигурация майнера для добывания монет QKC заключается во введении в командную строку батника адреса Primary Wallet, а также ввода своего локального адреса кластера и других параметров.

Для ввода в систему своего адреса кошелька в консоли с открытым контейнером Docker после строки root@свой адрес:/code/pyquarkchain# вводят команду:

pypy3 quarkchain/tools/miner_address.py и нажимают ввод.

В консоли появится запрос на введение адреса кошелька:

Нужно еще раз проверить, что приватный ключ от кошелька сохранен в надежном месте, ввести адрес Primary Wallet и нажать ввод. Появится сообщение ../../testnet/2.5/cluster_config_template.json has been updated with значение, run `git diff` to double check такого вида:

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

Затем нужно произвести очень важную манипуляцию – синхронизировать свой кластер с сетью.

Как синхронизировать кластер с сетью Quarkchain?

Чтобы синхронизировать кластер с сетью Quarkchain нужно в командной консоли после строки root@свой ID:/code/pyquarkchain# ввести следующую команду:

python3 quarkchain/cluster/cluster.py --cluster_config /code/pyquarkchain/testnet/2.5/cluster_config_template.json

Эту манипуляцию также можно произвести в новом окне cmd путем введения такой команды:

docker exec -it qkctest python3 quarkchain/cluster/cluster.py --cluster_config /code/pyquarkchain/testnet/2.5/cluster_config_template.json

Загрузка блокчейна займет некоторое время (несколько часов), процесс можно наблюдать в консоли:

Если синхронизация застопорилась (долгое время не меняется рут-блок), то стоит перезагрузить компьютер и запустит ее снова.

После успешной синхронизации можно начинать майнинг, не закрывая консоли синхронизации кластера.

Скриншот консоли после достижения синхронизированного состояния кластера с сетью Quarkchain:

Майнинг Quarkchain нужно запускать только при полной уверенности в синхронизации кластера с сетью. Иначе все найденные решения будут уходить в никуда.

Проверка синхронизации кластера с сетью Quarkchain

Проверка синхронизации кластера с сетью Quarkchain осуществляется путем ввода в консоли cmd команды:

docker exec -it qkctest pypy3 quarkchain/tools/stats -i 2 --ip localhost

При незавершенной синхронизации окно будет выглядеть так:

При полной синхронизации кластера окно консоли должно выглядеть так:

При работе с кластером до запуска майнинга нужно придерживаться следующей последовательности действий:

  • запустить кластер и синхронизацию;
  • запустить проверку синхронизации и дождаться появления сообщения False в столбце Syncing;
  • сверить номер последнего блока в столбце Syncing с номером блока ROOT на сайте testnet2.quarkchain.io/stats (нужно проверять значение Root Chain — the Height string);

Скриншот эксплорера сети Quarkchain с последним номером root-блока:

  • запустить CPU и/или GPU майнер.

Майнинг Quarkchain в тестовой сети

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

Запуск майнинга криптовалюты Quarkchain в тестовой сети во всех подсетях и шардах сразу производится следующей командой:

docker exec -it qkctest quarkchain/tools/external_miner_manager.sh -c /code/pyquarkchain/testnet/2.5/cluster_config_template.json -p 4  -t 1 -h localhost

В параметре -p цифра нужно установить желаемое количество потоков для майнинга.

Консоль майнера:

При более тонкой настройке майнинга нужно учитывать следующие факторы:

  • подсети 0-3 ($SHARD_ID 1, 10001, 20001, 30001 ) работают на алгоритме Ethash (видеокарты);
  • подсети 4-5 ($SHARD_ID 262146, 262147) – на алгоритме DSHA256 (ASIC-и);
  • подсети 6-7 ($SHARD_ID 327682, 327683) – на алгоритме QKCHASH (процессоры)

Для выбора подсети 4 или 5 (для Асиков) нужно указать соответствующий $SHARD_ID:

docker exec -it qkctest pypy3 quarkchain/tools/external_miner.py --config /code/pyquarkchain/testnet/2.5/cluster_config_template.json --worker 2 --shard 262146 262147 --host localhost

Для выбора подсети 6 или 7 (для процессоров) нужно набрать такую команду:

docker exec -it qkctest pypy3 quarkchain/tools/external_miner.py --config /code/pyquarkchain/testnet/2.5/cluster_config_template.json --worker 2 --shard 327682 327683 --host localhost

Значение 2.5 должно соответствовать текущей версии тестовой сети.

Для более точной настройки майнинга нужно выставить значения следующих параметров:

--worker — число потоков для майнинга;

--shard – номер шарда, выбранного для майнинга.

При работающем кластере можно запускать майнинг просто создав пакетный файл (батник) с таким содержимым:

@echo off

:loop
docker exec -it qkctest pypy3 quarkchain/tools/external_miner.py --config /code/pyquarkchain/testnet/2.5/cluster_config_template.json --worker 3 --shard 327682 327683 --host localhost

echo restart miner…
goto loop

Скриншот работающего майнера:

QKC-mining

Майнинг Quarkchain на видеокартах

Майнинг криптовалюты Quarkchain (QKC) на видеокартах в тестовой сети возможен с помощью модифицированного Ethminer – QuarkChain miner.

Этот майнер можно скачать со страницы разработчиков на Github:

Он поддерживает видеокарты AMD и Nvidia с поддержкой технологии OpenCL.

Как настроить батник для майнинга Quarkchain?

Батник для майнинга криптовалюты QRK имеет следующий вид:

ethminer -G http://$CLUSTER_IP:38391 --shard-id $SHARD_ID --cuda-devices $GPU_ID

В батник майнера нужно вставить свои данные относительно IP-адреса кластера ($CLUSTER_IP), id шарда ($SHARD_ID) и идентификатора видеокарты ($GPU_ID).

При конфигурации майнера нужно помнить, что шарды от нуля до трех предназначены для майнинга на алгоритме Ethash.

Для видеокарт NVIDIA *.bat-файл для запуска майнинга Quarkchain выглядит так:

ethminer.exe -U http://172.17.0.3:38291 --shard-id 1 --farm-recheck 200
pause

Для видеокарт AMD *.bat-файл для запуска майнинга Quarkchain выглядит так:

Setx GPU_FORCE_64BIT_PTR 0
Setx GPU_MAX_HEAP_SIZE 100
Setx GPU_USE_SYNC_OBJECTS 1
Setx GPU_MAX_ALLOC_PERCENT 100
Setx GPU_SINGLE_ALLOC_PERCENT 100
ethminer.exe -G http://172.17.0.3:38391 --shard-id 1 --farm-recheck 200 --cl-local-work 256 --cl-global-work 8192
pause

Параметр http://172.17.0.3:38291 нужно заменить на адрес своего кластера в формате http://YourIpAdress:38291.

Видеокарты должны иметь не менее 2 гигабайт памяти, потому что текущий размер DAG равен 1.08 GB.

Выбор подсети и шарда осуществляется путем замены числового значения параметра —shard-id 1 в соответствии со списком:

Для вывода статистики о работе майнера можно открыть отдельное окно консоли и ввести команду:

docker exec -it qkctest pypy3 quarkchain/tools/stats -i 5 -a адрес_кошелька --ip localhost

Полезные ссылки:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *