Zerocash 1.0 user guide

  • 12nd day of Aftermath, in the yold 3182
  • 0 Comments

Zerocash is a new protocol that provides a privacy-preserving version of Bitcoin. Zcash is currently only available for Linux.

English version of this page under construction. You can read automatic translation.


Несколько дней назад вышла первая релизная версия новой криптовалюты zcash. Среди множества так называемых “альткоинов” – это пока первая и единственная полностью анонимная валюта. Дело в том, что bitcoin и все его форки – сохраняют историю всех транзакций, при этом некоторые версии позволяли ассоциировать кошельки с ip-адресами. В этой статье будет описано как собрать и запустить zcash-кошелёк v.1.0 с возможностью майнинга в linux.

Zcash (zerocash) использует протокол доказательства с нулевым разглашением (Zero-knowledge proof), что позволяет проводить полностью анонимные транзакции. Движение валюты по кошелькам в случае zcash отследить невозможно, чего нельзя сказать о bitcoin и его форках. Прочитать о zcash подробнее и обсудить новую валюту вы можете здесь. Сейчас zcash поддерживает исключительно операционные системы Linux с 64-битной архитектурой, и, минимум, 4ГБ оперативной памяти. Официальное руководство по установке и настройке zcash находится здесь.

В Debian/Ubuntu и основанных на них дистрибутивах вы можете использовать уже готовые пакеты из официального репозитория:

sudo apt-get install apt-transport-https
wget -qO - https://apt.z.cash/zcash.asc | sudo apt-key add -
echo "deb https://apt.z.cash/ jessie main" | sudo tee /etc/apt/sources.list.d/zcash.list
sudo apt-get update && sudo apt-get install zcash

Но предпочтительнее собрать программу самостоятельно из исходного кода.

Для этого в Debian/Ubuntu предварительно необходимо установить все зависимости:

sudo apt-get install \
build-essential pkg-config libc6-dev m4 g++-multilib \
autoconf libtool ncurses-dev unzip git python \
zlib1g-dev wget bsdmainutils automake

В основанных на Redhat (Fedora) дистрибутивах:

sudo dnf install \
git pkgconfig automake autoconf ncurses-devel python wget \
gtest-devel gcc gcc-c++ libtool patch

Далее, загрузите исходный код:

git clone https://github.com/zcash/zcash.git
cd zcash/
git checkout v1.0.0
./zcutil/fetch-params.sh

При этом, помимо исходного кода, загрузятся контрольные ключи, объем которых может достигать 1ГБ. После успешного завершения приступайте к компиляции:

./zcutil/build.sh -j$(nproc)

(если nproc у вас не работает — просто укажите количество ядер вашего процессора)

Компиляция может проходить несколько десятков минут. Если она у вас остановится на этапе «Fetching boost…» – это означает, что скорее всего программе не хватает оперативной памяти. Помните, что для работы ей необходимо 4ГБ, по этому на время компиляции рекомендуется закрыть все приложения (в том числе, браузеры). Также можно порекомендовать остановку графической среды и запуск компиляции в консоли.

После успешной сборки — потребуется сконфигурировать программу:

mkdir -p ~/.zcash
echo "addnode=mainnet.z.cash" >~/.zcash/zcash.conf
echo "rpcuser=username" >>~/.zcash/zcash.conf
echo "rpcpassword=`head -c 32 /dev/urandom | base64`" >>~/.zcash/zcash.conf

Для включения CPU-майнинга (генерации денег на центральном процессоре) выполните:

echo 'gen=1' >> ~/.zcash/zcash.conf
echo "genproclimit=$(nproc)" >> ~/.zcash/zcash.conf

Также можно включить более эффективный (но менее подробно описанный) майнер командой:

echo 'equihashsolver=tromp' >> ~/.zcash/zcash.conf

Здесь вы можете прочитать подробности о майнинге zcash.

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

./src/zcashd

Вы увидите подобный вывод в консоли:

zcash

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

./src/zcashd —daemon

Когда программа запущена, вы можете получить новый t-address:

./src/zcash-cli getnewaddress

Также, можете создать дополнительный z-address:

./src/zcash-cli z_getnewaddress

Просмотреть все z-адреса вашего кошелька:

./src/zcash-cli z_listaddresses

Просмотреть входящие транзакции:

./src/zcash-cli z_listreceivedbyaddress "$ZADDR"

(где вместо $ZADDR – укажите ваш z-address)

Послать монеты на чейто-то z-address:

./src/zcash-cli z_sendmany "$ZADDR" "[{\"amount\": 0.8, \"address\": \"$FRIEND\"}]"

(где $ZADDR — ваш z-address, 0.8 — здесь сумма перевода, а $FRIEND — адрес получателя)

Где-то через минуту вы можете проверить успешность перевода командой:

./src/zcash-cli z_getoperationresult

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

Leave a Comment

Your email address will not be published. Required fields are marked *