Skip to content

Files

Latest commit

89de834 · Sep 24, 2019

History

History
This branch is 2559 commits behind zcash/zips:main.

protocol

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Sep 3, 2019
Sep 3, 2019
Feb 11, 2016
Feb 11, 2016
Mar 18, 2018
Dec 2, 2017
Feb 22, 2019
Mar 13, 2016
Sep 4, 2016
Mar 18, 2018
Dec 16, 2017
Apr 20, 2018
Apr 20, 2018
Jul 8, 2019
Jul 8, 2019
Sep 24, 2019
Sep 24, 2019
Sep 24, 2019
Sep 24, 2019
Sep 3, 2019

Zcash Protocol Specification

Build dependencies on Debian-based systems include, at least:

apt-get install texlive texlive-science texlive-fonts-extra \
  texlive-generic-recommended texlive-bibtex-extra biber latexmk perl awk

Building

Use:

  • make sapling to make the specification for the Overwinter and Sapling upgrades (protocol.pdf);
  • make blossom to make the draft specification for the Blossom upgrade (blossom.pdf);
  • make sprout to make a version of the specification that does not include Overwinter or Sapling.

make all is equivalent to make sapling blossom sprout.

By default these use latexmk. If you have trouble getting latexmk to work, you can instead use make nolatexmk-sapling, etc. That is not the preferred way of building because it may not run pdflatex enough times.

There is also support for using the incremental (-pvc) mode of latexmk to automatically rebuild when changes in the source files are detected: make pvcsapling, make pvcblossom, or make pvcsprout. Manual intervention is still needed when there are LaTeX errors.

Alternative TeX engines

There is experimental support for building the specification using LuaTeX or XeTeX; see the comments at the top of the Makefile. However, this will currently produce poor output. A warning is included below the Abstract to indicate this.