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