This is a demo running a simple Sovereign SDK rollup prover on Celestia, with RiscZero as a prover.
Stuck, facing problems, or unsure about something?
Join our Discord and ask your questions in #support
!
⚠️ Warning!⚠️
demo-prover
is a prototype! It contains known vulnerabilities and inefficiencies, and no part of its code not be used in production under any circumstances.
This demo shows how to integrate the RiscZero prover into a rollup built with the Sovereign SDK. It reads blocks from Celestia, executes them inside the RiscZero zkVM, and creates a cryptographic proof of the result.
This package implements the same logic as demo-rollup
, but it splits the logic between
a "host" and a "guest" (respectively the prover and ZK-circuit) to create actual ZK proofs. This separation makes it slightly harder to follow at first glance, so we recommend diving into the demo-rollup
before attempting to use this package.
You'll need at least 96GiB of RAM to run this example on a x86_64 CPU. If you don't have that much memory available, you can still still run the demo but skip proof generation by setting the environment variable SKIP_PROVER
.
- Make sure Celestia light node is running as described in Demo Rollup README.
make clean
make start
make test-create-token
to produce blob with transaction
- Make sure you're in
examples/demo-prover
folder after previous step - Make sure that there's no data from previous runs
rm -rf demo_data
- Execute
cargo run -- ../demo-rollup/rollup_config.toml
.
Follow our IDE integration guide document.
Licensed under the Apache License, Version 2.0.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this repository by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.