https://github.com/alpenlabs/zkvm
https://github.com/alpenlabs/zkvm
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/alpenlabs/zkvm
- Owner: alpenlabs
- Created: 2024-12-17T12:48:41.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-01-23T16:46:56.000Z (5 months ago)
- Last Synced: 2025-01-23T17:22:16.751Z (5 months ago)
- Language: Rust
- Size: 384 KB
- Stars: 3
- Watchers: 7
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ZKVM Adapters Repository
This repository provides adapters for various ZKVMs (Zero-Knowledge Virtual Machines) to ensure a unified interface and enable the reuse of guest logic across multiple ZKVM implementations. By writing the code once, we aim to support multiple ZKVMs seamlessly.
## Supported ZKVMs
Currently, the repository supports the following ZKVMs:
- [x] Risc0
- [x] SP1
- [ ] OpenVM
- [ ] Valida## Repository Structure
- **`crates/`**
Contains core traits and ZKVM-specific adapters to standardize proof generation and verification.
Each adapter implements core interfaces to interact with the underlying ZKVM.- **`examples/`**
Contains guest logic for different programs. These programs demonstrate how to use the adapters for various ZKVMs.- **`artifacts/`**
Contains the build pipeline for generating necessary artifacts, including ELF binaries and other dependencies.---
## Usage
### Generating report of cycle count of different programs
```bash
make report
```---
## Adding Support for New ZKVMs
To add support for a new ZKVM:
1. Create a new adapter in the `crates/` directory.
2. Implement the core traits required to interface with the ZKVM.
3. Extend the artifact generation logic in `artifacts/` as needed.---
## Contributions
We welcome contributions to support additional ZKVMs or enhance the functionality of the repository. Feel free to create a pull request or open an issue to discuss your ideas.