Practical overview
When it fits
Use Moonmath when you want a hands-on study resource that links zkSNARK theory with SageMath exercises, notebooks and protocol-oriented chapters.
Who it is for
- Students learning the mathematical foundations of zero-knowledge proofs.
- Researchers studying zkSNARK concepts through exercises and notebooks.
- Developers who want Sage-based examples related to circuits and zero-knowledge protocols.
Documented uses
- Work through structured exercises connected to the MoonMath Manual to zkSNARKs.
- Study the mathematics behind zero-knowledge systems, including algebra and elliptic curves.
- Explore circuit compiler and zero-knowledge protocol material in executable or notebook-oriented form.
- Generate Markdown and mdBook views of the repository's educational content.
Requirements & limits
The repository is public, active and MIT-licensed. Its documented workflows support Linux, macOS and Windows environments, with Docker and CLI usage described in the repository.
- SageMath is the repository's primary language and working environment.
- Docker provides the documented alternative when Sage is not installed.
- Jupyter Notebook is available through the documented
make notebookworkflow. - The material spans mathematical foundations as well as circuit compilers and zero-knowledge protocols.
- The mdBook workflow requires KaTeX and Mermaid plugins and is not hot-reloaded.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up the SageMath and notebook study workflow
Prepare the repository for Sage CLI or Jupyter Notebook work using the documented SageMath or Docker path.
Before you start
- A local copy of the public Moonmath repository.
- SageMath installed, or Docker available for the repository's SageMath image workflow.
- For notebook work, the repository's Jupyter Notebook workflow.
Steps
Use the repository's software guidance to work with an installed SageMath environment, or use the documented Docker-based SageMath image path.
Run the documented the command below step when using the Docker image workflow.
make pullUse the command below to open the Sage CLI, or the command below to open Jupyter Notebook with Sage.
make sagemake notebookUse the repository chapters to study arithmetic, algebra, elliptic curves, statements, circuit compilers and zero-knowledge protocols.
Expected outcome
A documented local study workflow for working through Moonmath material in Sage CLI or Jupyter Notebook.
Guide limitations
- The repository documents environment setup and study workflows, but this guide does not establish successful execution on a particular machine.
- The Docker path depends on Docker and the repository's SageMath image workflow.
Create the repository's readable book and Markdown views
Convert notebook material to Markdown and build the repository documentation as an mdBook.
Before you start
- A working repository checkout.
- The documented Jupyter nbconvert workflow for Markdown conversion.
- mdBook with the KaTeX and Mermaid plugins for the book build.
Steps
Run the documented the command below step to convert notebooks into Markdown.
make markdownRun the command below to create and open the mdBook build.
make bookUse the generated documentation as a readable view of the repository chapters.
Expected outcome
Markdown versions of notebook material and an mdBook build based on the repository README files.
Guide limitations
- The repository states that the book build is not hot-reloaded with
mdbook serve. - The book workflow requires the KaTeX and Mermaid plugins.
- This is a documented build procedure, not a compatibility or successful-build guarantee.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 3 October 2026
- Original website title
- erhant/moonmath · Official homepage title · retained in its source language

