Feel free to add/edit resources Also, it is obvious that some o1js materials is needed. From the beginnings to the advanced structures (Fields to ZkPrograms etc.) should be covered and added.
- Module 0: Blockchain basics
- What is Blockchain, Smart Contracts
- Technical explanation of Blockchain with Bitcoin example
- Module 1: Mathematics for cryptography
- Finite Fields and other heavenly tool
- Elliptic Curves and their applications
- Module 2: Other Primitives for non- Web3/ZK people
- Asymmetric/Symmetric/DLP based cryptography
- Hashing / Merkle Tree
- Digital Signatures
- Module 3: Introduction to Zk Snarks
- What are zkSNARKs
- Module 4: What is Mina and O1js Basics
- What is / not Mina Blockchain is.
- Advanced/Low-level o1js api
- Exercises
If you want to see example codes, you can check examples folder of o1js repo. Also, you can clone this repository and play with the example codes in the examples folder. They are taken from the o1js repo and will be kept updated. Besides that, there will be more increasing number of exercises/examples in this repo. After cloning the repo, do the following:
npm install
You can compile typescript codes in examples via:
npx tsc
Compiled Javascript codes are in build folder. To execute files:
node build/examples/file_you_want.js