Skip to content

Michael-Nwachukwu/Zk-Training

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZERO KNOWLEDGE PLAYGROUND

This repository dedicated to learning and practicing zero-knowledge concepts, with progress tracked through hands-on implementation using the Rust programming language.

Table of Contents

Introduction

Zero-knowledge proofs (ZKP) are a powerful cryptographic concept enabling one party to prove the validity of information without revealing the information itself. This repository serves as a training ground to understand, implement, and experiment with ZKP using the Rust programming language.

Features

  • Hands-on exercises for understanding ZKP concepts.
  • Implementation of zero-knowledge proof protocols in Rust.
  • Progress tracking and learning resources.
  • Modular codebase for experimenting with cryptographic ideas.

Technologies Used

  • Rust: The primary programming language for implementations.
  • Makefile: For build automation and task management.
  • LLVM: Contributing to low-level optimizations.

Getting Started

Follow these steps to set up the repository locally:

  1. Clone the repository:

    git clone [https://github.com/Michael-Nwachukwu/Zk-Training.git](https://github.com/Michael-Nwachukwu/Zk-Training.git)
    cd Zk-Training
  2. Install Rust (if not already installed):

    curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh
  3. Build the project:

    make build
  4. Run tests to verify setup:

    make test

Usage

The repository is structured to include various modules corresponding to different ZKP concepts. Each module comes with its own README or documentation.

  1. Navigate to a specific module:

    cd modules/<module_name>
  2. Run examples or exercises:

    cargo run
  3. Explore and modify the code to deepen understanding.

Contribution Guidelines

We welcome contributions! To get started:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Commit your changes with clear descriptions.
  4. Open a pull request and provide details about your changes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

This repository dedicated to learning and practicing zero-knowledge concepts, with progress tracked through hands-on implementation using the Rust programming language.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors