Skip to content
This repository has been archived by the owner on Mar 4, 2023. It is now read-only.

InternetMaximalism/stark-pure-rust

develop
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

zk-STARKs Library

original implementation

How to Use

First, Install Rust (cargo version >= 1.56.0).

cd packages/r1cs-stark
rustup override set nightly
CIRCUIT_NAME="compute"
RUST_BACKTRACE=1 cargo run ./tests/${CIRCUIT_NAME}.r1cs ./tests/${CIRCUIT_NAME}.wtns ./tests/${CIRCUIT_NAME}_proof.json

CIRCUIT_NAME allows following values.

  • compute
  • bits
  • pedersen_test
  • poseidon3_test
  • sha256_2_test

Test with Docker

If your machine is not Linux, we can use this method to measure memory loads.

build

docker build -t r1cs-stark .

run

docker run -it -v $PWD:/root r1cs-stark \
  sh -c 'cd packages/r1cs-stark; CIRCUIT_NAME="compute"; RUST_BACKTRACE=1 cargo run ./tests/${CIRCUIT_NAME}.r1cs ./tests/${CIRCUIT_NAME}.wtns ./tests/${CIRCUIT_NAME}_proof.json > ./tests/log_${CIRCUIT_NAME}.txt'

CIRCUIT_NAME allows following values.

  • compute
  • bits
  • pedersen_test
  • poseidon3_test
  • sha256_2_test (Docker process may be killed due to high memory loads)

Todo

  • Calculate public wires for verifier from input.json .

  • Introduce faster algorithm for inv FFT and FFT.

  • Reduce the number of constraints of zkSTARK.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published