4.7 KiB
Руководство по майнингу Zcash
Добро пожаловать! Это руководство расскажет вам, как начать майнить Zcash, также называемых "ZEC", в основной сети Zcash. Скорость майнинга измеряется в реш/с (решений в секунду).
Если вы сталкиваетесь с препятствиями, пожалуйста, сообщите нам. Предстоит немало работы, чтобы сделать всё удобным и ваш отклик поможет нам расположить по приоритетам и в первую очередь начать сглаживать наиболее острые углы. Для помощи пользователю мы рекомендуем использовать наш форум:
Установка
Во-первых, вам нужно настроить свой локальный узел Zcash. Следуйте [1.0 руководству пользователя] (1.0 руководство пользователя) до конца раздела "Компилирование", затем вернитесь сюда. (Вы можете использовать секцию "Тестирование", если хотите!)
Конфигурация
Сконфигурируйте свой узел согласно 1.0-User-Guide#configuration, включая раздел [доступность майнинга на CPU] (https://github.com/zcash/zcash-docs/blob/master/ru/Sprout_User_Guide.md).
Майнинг
Сейчас начните майнинг!
$ ./src/zcashd
Для запуска в фоновом режиме (без экрана параметров узла, который обычно отображается):
$ ./src/zcashd -daemon
Вы должны увидеть следующие данные в журнале отладки (~/.zcash/debug.log
):
Майнер Zcash стартовал
Поздравляем! Сейчас вы майните в основной сети.
Расходование Вознаграждения Майнеров
Монеты майнятся на t-адрес (прозрачный адрес), но могут быть потрачены только на z-адрес (скрытый адрес). Сошлёмся на наше [1.0 руководство пользователя] (https://github.com/zcash/zcash-docs/blob/master/ru/Sprout_User_Guide.md) для инструкций, как использовать команду z_sendmany
, чтобы переслать монеты с t-адреса на z-адрес. Вам потребуется как минимум 4 гигабайта оперативной памяти RAM для этой операции.
Модификации
Как майнить на отдельный адрес
Внутренний майнер zcashd
использует новый прозрачный адрес для каждого намайненного блока. Если вы хотите использовать один и тот же адрес для каждого намайненного блока, найдите эти строки в src/miner.cpp
(в функции ProcessBlockFound()
) и src/wallet/wallet.cpp
(в функции CommitTransaction()
):
reservekey.KeepKey();
Удалите или закомментируйте эту строку в обеих местах.
Использование транзакций P2PKH
Внутренний майнер zcashd
, унаследованный от Биткоина, использует P2PK для транзакций coinbase. Сейчас есть тенденция использовать в блокчейне Биткоина P2PKH вместо этого; мы рассматриваем [изменение внутреннего майнера для использования P2PKH] (https://github.com/zcash/zcash/issues/945), но не для 1.0 релиза.
Если вы хотите использовать P2PKH для ваших транзакций coinbase, найдите следующую строку в src/miner.cpp
(в функции CreateNewBlockWithKey()
):
CScript scriptPubKey = CScript() << ToByteVector(pubkey) << OP_CHECKSIG;
Поменяйте это на:
CScript scriptPubKey = CScript() << OP_DUP << OP_HASH160 << ToByteVector(pubkey.GetID()) << OP_EQUALVERIFY << OP_CHECKSIG;