Skip to content

SecurFi/zkProver

Repository files navigation

zkProver

Besides generating the proof of exploit using our online tool, you can also do it locally with zkProver.

Installation

Currently, zkProver supports Linux and MacOS with Apple Silicon.

curl -L https://install.SecurFi.com | bash

If you're using MacOS, please make sure you have installed Xcode, xcode-select --install and run xcrun metal successfully.

If you encounter any errors, please contact me via Telegram.

Building from source

Requirements

  • Ubuntu

    sudo curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    • build tools
    sudo apt install -y build-essential pkg-config libssl-dev
  • Centos

    • Developments Tools
    sudo yum groupinstall 'Development Tools'
  • Mac

    brew install rustup-init
    rustup-init

Usage

generate zk proof

# For MacOS with Metal support
cargo run -r -p zkProver -F metal -- evm -r <RPC_URL> -b <BLOCK_NUMBER> -d <DEAL> <path>

# For Linux/Windows with CUDA support
cargo run -r -p zkProver -F cuda -- evm -r <RPC_URL> -b <BLOCK_NUMBER> -d <DEAL> <path>

# For CPU-only Linux/Windows/MacOS
# Not recommended, the generation might be very slow.
cargo run -r -p zkProver -- evm -r <RPC_URL> -b <BLOCK_NUMBER> -d <DEAL> <path>

We highly recommend you start hacking from PoC demos after installing zkProver.

Documentation

Documentation for SecurFi

Acknowledgements

Thanks to the contributions of foundry, revm, reth, ethers-rs and RISC Zero to crypto. We're grateful for these awesome projects.