Skip to content

erhant/moonmath

Repository files navigation

🌑 Moon Math 🌕

Exercises & codes from the "MoonMath Manual to zkSNARKs" by Least Authority.

Chapters

  1. Introduction
  2. Software Used in This Book
  3. Arithmetics
  4. Algebra
  5. Elliptic Curves
  6. Statements
  7. Circuit Compilers
  8. Zero-Knowledge Protocols

Usage

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

Book

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.

Contributions

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.