This project provides various forms of distribution for Stone executables.
The goal of this project is to reduce friction and speed up the process of generating proofs using Stone. More broadly, the aim is to make Stone a "known" piece of infrastructure that can be easily integrated into application-specific workflows and maintained efficiently.
- Static binary releases for x86_64
- Static binary releases for ARM64
- Minimal Docker images for x86_64
- Native packages for Debian/Ubuntu
- Native packages for Fedora
Follow-up work:
- Native packages for Alpine
- Homebrew packages
- Technical documentation for file formats (inputs, outputs, memory, trace, proof), and test data
- Documentation hosted on GitHub Pages
- Integrated proof decomposition (related to https://github.com/zksecurity/stark-evm-adapter)
- Observability suite (metrics, dashboards, configurable logging)
- Stwo support
sudo wget https://github.com/dipdup-io/stone-packaging/releases/latest/download/cpu_air_prover-x86_64 -O /usr/local/bin/cpu_air_prover && sudo chmod +x /usr/local/bin/cpu_air_prover
sudo wget https://github.com/dipdup-io/stone-packaging/releases/latest/download/cpu_air_verifier-x86_64 -O /usr/local/bin/cpu_air_verifier && sudo chmod +x /usr/local/bin/cpu_air_verifier
wget https://github.com/dipdup-io/stone-packaging/releases/latest/download/cpu_air_prover-arm64 -O /usr/local/bin/cpu_air_prover && chmod +x /usr/local/bin/cpu_air_prover
wget https://github.com/dipdup-io/stone-packaging/releases/latest/download/cpu_air_verifier-arm64 -O /usr/local/bin/cpu_air_verifier && chmod +x /usr/local/bin/cpu_air_verifier
Clone the repository:
git clone https://github.com/dipdup-io/stone-packaging.git /tmp/stone-packaging
Navigate to the example test directory:
cd /tmp/stone-packaging/test_files/
Copy or download the binary files from the latest release to this directory.
Run the prover:
cpu_air_prover \
--out_file=fibonacci_proof.json \
--private_input_file=fibonacci_private_input.json \
--public_input_file=fibonacci_public_input.json \
--prover_config_file=cpu_air_prover_config.json \
--parameter_file=cpu_air_params.json
The proof will be available at fibonacci_proof.json
.
Run the verifier to verify the proof:
cpu_air_verifier --in_file=fibonacci_proof.json && echo "Successfully verified example proof."
Download the Docker image. The stone-prover package includes both cpu_air_prover and cpu_air_verifier:
docker pull ghcr.io/dipdup-io/stone-packaging/stone-prover:latest
Clone the repository:
git clone https://github.com/dipdup-io/stone-packaging.git /tmp/stone-packaging
Run the Docker container with a volume mounted:
docker run --entrypoint /bin/bash -v /tmp/stone-packaging/test_files:/app/prover ghcr.io/dipdup-io/stone-packaging/stone-prover -c "cd /app/prover && exec cpu_air_prover \
--out_file=fibonacci_proof.json \
--private_input_file=fibonacci_private_input.json \
--public_input_file=fibonacci_public_input.json \
--prover_config_file=cpu_air_prover_config.json \
--parameter_file=cpu_air_params.json"
The proof will be available at test_files/fibonacci_proof.json.
To verify the proof:
docker run --entrypoint /bin/bash -v /tmp/stone-packaging/test_files:/app/prover ghcr.io/dipdup-io/stone-packaging/stone-prover -c "cd /app/prover && exec cpu_air_verifier --in_file=fibonacci_proof.json && echo 'Successfully verified example proof.'"
Download the .deb package from the latest release:
wget https://github.com/dipdup-io/stone-packaging/releases/latest/download/stone-prover-linux-x86_64.deb && sudo dpkg -i stone-prover-linux-x86_64.deb
install the .rpm package from the latest release:
sudo dnf install https://github.com/dipdup-io/stone-packaging/releases/latest/download/stone-prover-fedora-x86_64.rpm
Clone the repository:
git clone https://github.com/dipdup-io/stone-packaging.git /tmp/stone-packaging
Navigate to the example test directory:
cd /tmp/stone-packaging/test_files/
Run the prover:
cpu_air_prover \
--out_file=fibonacci_proof.json \
--private_input_file=fibonacci_private_input.json \
--public_input_file=fibonacci_public_input.json \
--prover_config_file=cpu_air_prover_config.json \
--parameter_file=cpu_air_params.json
The proof will be at fibonacci_proof.json
.
Run the verifier to confirm the proof:
cpu_air_verifier --in_file=fibonacci_proof.json && echo "Successfully verified example proof."
This project is supported by Nethermind and Starknet Foundation via OnlyDust platform
We use Vocs to generate our documentation site. Here's how to set it up and run it locally:
- Node.js (version 14 or later)
- Yarn package manager
-
Clone the repository:
git clone https://github.com/dipdup-io/stone-packaging.git cd stone-packaging
-
Install dependencies:
yarn install
To start the development server:
yarn dev
This will start the server at http://localhost:5173
. The site will automatically reload if you make changes to the source files.
To build the static site:
yarn build
This will generate the static files in the dist
directory.
docs/
: Contains all the documentation markdown files.docs/pages/
: Contains the main content pages.docs/index.md
: The home page of the documentation.vocs.config.ts
: Configuration file for Vocs.
To add a new page to the documentation:
- Create a new markdown file in the
docs/pages/
directory. - Add the new page to the sidebar in
vocs.config.ts
.