Exercises & codes from the "MoonMath Manual to zkSNARKs" by Least Authority.
- Introduction
- Software Used in This Book
- Arithmetics
- Algebra
- Elliptic Curves
- Statements
- Circuit Compilers
- Zero-Knowledge Protocols
See Software Used for the required software. If you don't have Sage installed, you can use Docker mounted over the repository. We have scripts for that:
make pull # pull the SageMath image
make sage # open Sage CLI
make notebook # open Jupyter Notebook with Sage
We also have a script that converts all the notebooks into Markdown format via jupyter nbconvert
so that they are easier to read on the web from the READMEs alone:
make markdown
A mdBook build can be created & opened with:
make book
The README file are copied under the .book
directory and a build is created from them. Note that it is not hot-reloaded (i.e. mdbook serve
). You will also need KaTeX and Mermaid plugins.
Please feel free to open an issue or create a pull-request if something is not clear, could have been better, or is missing references. For the chapters with notebooks, please write the changes in the notebook and then generate the README files with make markdown
.