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
- Homebrew packages
Follow-up work:
- Native packages for Alpine
- 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_verifierwget 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_verifierClone the repository:
git clone https://github.com/dipdup-io/stone-packaging.git /tmp/stone-packagingNavigate 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.jsonThe 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:latestClone the repository:
git clone https://github.com/dipdup-io/stone-packaging.git /tmp/stone-packagingRun 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.debinstall 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.rpmInstall the stone-prover package via Homebrew:
brew tap dipdup-io/stone-packaging
brew install stone-proverNote: The Homebrew formula is maintained in the homebrew-stone-prover repository. If you encounter any issues or wish to contribute to the formula, please visit the repository.
Clone the repository:
git clone https://github.com/dipdup-io/stone-packaging.git /tmp/stone-packagingNavigate 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.jsonThe 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."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 devThis 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 buildThis 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.
This project is supported by Nethermind and Starknet Foundation via OnlyDust platform