Zcash Cryptocurrency - RPMs for Fedora
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Zcash Cryptocurrency Wallet and Full Node

Currently supported: Fedora Linux (27 and 28). Nothing else tested thus far.

This repository maintains source RPM packages needed for building Zcash. From this source package, a runnable binary has been conveniently built for you. See below.

tl;dr - Installation (DNF install) and upgrades:

Installation of the repository configuration for the first time...

# Snag the repository configuration
sudo rpm --import https://keybase.io/toddwarner/key.asc
sudo dnf install -y https://raw.githubusercontent.com/taw00/zcash-rpm/master/toddpkgs-zcash-repo-1.0-3.fc28.taw0.noarch.rpm

Installation of zcash for the first time...

# install Fedora's distribution GPG keys
sudo dnf install -y distribution-gpg-keys
# Show me the package!
sudo dnf list | grep zcash
# Install zcash!
sudo dnf install zcash

On-going updates...

# Subsequent updates
sudo dnf upgrade zcash -y

Restarting systemd service...
(only perform this if you are running zcash as a systemd service)

# Running zcash like a sysadmin? Restart the systemd service...
sudo systemctl restart zcashd.service

Read the docs, especially the "helpful supplemental information" listed below

NEW as of Zcash package version 1.0.15-2...

You can now run your zcashd as a sysadmin would. I.e., It can be run as a service. Until I write up more instruction, here are some hints for those who understand systemd. If you don't, skip this section. Hints...

  • There is now a user/group pair (zcashuser and zcashgroup)
  • zcashd run as a systemd service has these attributes:
    • datadir — /var/lib/zcash
    • configuration file — /etc/zcash/zcash.conf
    • debug.log — /var/log/zcash/debug.log and /var/log/zcash/testnet3/debug.log
    • debug.log files will be logrotated. Adjust at /etc/logrotate.d/zcash
    • zcash params are stored at /usr/share/zcash/params, therefore... sudo -u zcashuser zcash-fetch-params to populate. Any user on the system can use it ... (as normal user) ln -s /usr/share/zcash/params ~/.zcash-params
  • If you want to be emailed when your zcashd.service is has been started, stopped, or restarted, ensure you have system-level email working and then edit /etc/sysconfig/zcashd and set the appropriate email address. (more detail on the coming)
  • Before you sudo systemctl enable zcashd.service please read "Running Zcash for the first time (using systemd)?" listed below.

Or ignore all this sysadminy stuff and just run it like you have before as a normal user. :)

Hopefully that gets you started. With systemd managing that service, it should be pretty robust and auto restart, shutdown gracefully, etc. Now to upgrade your machine things should be fairly safe to do things like, for example, sudo dnf upgrade -y ; sudo reboot but I usually to do a sudo systemctl stop zcashd.service ; sudo dnf upgrade -y ; sudo reboot

To build from SRPM on your own...

  1. Set up your rpmbuild environment. See link below for "Building RPMs". Read especially "Preparing your system" from that webpage.
  2. Download the lastest .src.rpm from this repository
  3. Build it (versions listed here are merely examples)...
    • Is your ~/rpmbuild tree created?: rpmdev-setuptree
    • If using mock (recommended):
      • Build it: mock -r fedora-27-x86_64 zcash-1.1.1-2.taw.fc28.src.rpm
    • If using rpmbuild:
      • Install build requirements:
        sudo dnf install -y <todd needs to insert deps here still>
      • Build it: rpmbuild --rebuild zcash-1.1.1-2.taw.fc28.src.rpm

NOTE: You will currently have to fetch the source RPM from my keybase pub directory because github disallows files over 100MB in size. I am still trimming down the source RPM (swapping out components with OS supplied components). You can get that RPM here (it's almost 400MB): https://toddwarner.keybase.pub/pub/zcash-1.1.1-2.fc28.taw0.src.rpm

Helpful supplemental information...

Running Zcash after you have installed the RPM...

  • Read the user guide (see above). Just note the commandline differences:
    zcash-fetch-params instead of ./czutil/fetch-params.sh
    zcash-cli instead of ./src/zcash-cli
    zcashd instead of ./src/zcashd

  • Note that if you find your CPU being crushed by zcashd, use a beefier machine or run it with nice. I.e., nice zcashd

  • Running Zcash for the first time (as a normal user)?

    • Run this command to download the parameters used to create and verify shielded transactions (it will create the ~/.zcash-params directory):
    • Create your data directory:
      mkdir ~/.zcash
    • Copy over the example zcash.conf configuration file from the RPM:
      cp /usr/share/doc/zcash/zcash.conf.example ~/.zcash/zcash.conf
    • Edit ~/.zcash/zcash.conf as needed.
  • Running Zcash for the first time (as a systemd service)?

    • There is now a user/group pair (zcashuser and zcashgroup) who owns /var/lib/zcash (the service's datadir) and /etc/zcash (houses the service's zcash.conf file)
    • Run this command to download the parameters used to create and verify shielded transactions and create the /var/lib/zcash/.zcash-params directory):
      sudo -u zcashuser zcash-fetch-params
    • Enable and start the service:
      sudo systemctl enable zcashd.service
      sudo systemctl start zcashd.service
      sudo tail -f /var/lib/zcash/debug.log  
      sudo -u zcashuser zcash-cli -conf /etc/zcash/zcash.conf getinfo
    • Note, in this scenario, the blockchain and wallet for the systemd managed service are stored in /var/lib/zcash


Send comment and feedback - https://keybase.io/toddwarner

Have fun and read the docs listed at the links above. Please remember to BACK EVERYTHING UP!

If you like my Zcash builds, also check out my Dash RPMs which I have maintained for years for the Dash Project: https://github.com/taw00/dashcore-rpms. I am a huge fan of both endeavors. Please no flame or FUD directed my way. We are all in this together! :)