Skip to content

Latest commit

 

History

History
43 lines (29 loc) · 1.98 KB

README.md

File metadata and controls

43 lines (29 loc) · 1.98 KB

zkspv-circuits

We extend our heartfelt gratitude to the spirit of open-source community, particularly to projects like halo2-lib and snark-verifier. Their pioneering work has laid a solid foundation for our project, enabling us to build upon their achievements and contribute to the collective advancement of our field.

The function of this zero-knowledge proof circuit library is to enable us to have untrusted access to historical data on the blockchain and arbitrary computational expressions.

Build and usage

Prerequisites

  1. system requirements:
    • Minimum 64-core CPU
    • Minimum 3080 Nvidia GPU(which supports CUDA Toolkit version 12.0 or above).
    • Minimum 350GB RAM
    • Minimum 500GB ROM
  2. software requirements:
    • CUDA Toolkit version 12.0 or newer.
    • CMake, version 3.24.3 and above. Latest version is recommended.
    • Solc, version 0.8.19.

Build systems

  1. All circuits in this project rely on a one-time universal trusted setup, also known as the tau power ceremony. This is the same as the ceremony conducted by the Ethereum Foundation in preparation for EIP-4844 (also known as proto-danksharding). Execute the download_setup script to download the halo2-compatible trusted setup files.

    sh scripts/download_setup.sh
  2. In order to successfully run the service in a user environment in a certain and stable way, please execute the following command.

    cp release_Cargo.lock Cargo.lock
  3. Please ensure that the Rust version in use is on the nightly version, then execute the services script to start the service.

    sh scripts/services.sh

Docker

We offer a simple Docker container so you can simply run zkspv-circuits without setting everything up locally.