Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/erhant/moonmath

Solutions to exercises from MoonMath Manual to zkSNARKs.
https://github.com/erhant/moonmath

algebra cryptography mathematics sage web3 zero-knowledge

Last synced: about 1 month ago
JSON representation

Solutions to exercises from MoonMath Manual to zkSNARKs.

Awesome Lists containing this project

README

        



🌑 Moon Math 🌕



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


Chapters

1. [**Introduction**](./introduction/)
2. [**Software Used in This Book**](./software-used/)
3. [**Arithmetics**](./arithmetics/)
4. [**Algebra**](./algebra/)
5. [**Elliptic Curves**](./elliptic-curves/)
6. [**Statements**](./statements/)
7. [**Circuit Compilers**](./circuit-compilers/)
8. [**Zero-Knowledge Protocols**](./zero-knowledge/)


Usage

See [Software Used](./software-used/) for the required software. If you don't have [Sage](https://www.sagemath.org/) installed, you can use [Docker](https://www.docker.com/) mounted over the repository. We have scripts for that:

```sh
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:

```sh
make markdown
```


Book

A [mdBook](https://github.com/rust-lang/mdBook) build can be created & opened with:

```sh
make book
```

The README file are copied under the [`.book`](./.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](https://github.com/lzanini/mdbook-katex) and [Mermaid](https://github.com/badboy/mdbook-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`.