Skip to content

Commit

Permalink
fix + test
Browse files Browse the repository at this point in the history
  • Loading branch information
ctian1 committed Jun 7, 2024
1 parent aa66842 commit 0eb956f
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 11 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/docker-publish-gnark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ on:
push:
tags:
- "v*.*.*"
branches:
- chris/ffi-docker
schedule:
- cron: "0 0 * * *"
# Trigger without any parameters a proactive rebuild
Expand Down Expand Up @@ -86,6 +88,7 @@ jobs:
with:
context: .
file: ./Dockerfile.gnark-ffi
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.docker_tagging.outputs.docker_tags }}
labels: ${{ steps.meta.outputs.labels }}
Expand Down
22 changes: 11 additions & 11 deletions book/verifying-proofs/solidity-and-evm.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,7 @@ of using SP1 for on-chain usecases, refer to the [SP1 Project Template](https://

By default, the proofs generated by SP1 are not verifiable onchain, as they are non-constant size and STARK verification on Ethereum is very expensive. To generate a proof that can be verified onchain, we use performant STARK recursion to combine SP1 shard proofs into a single STARK proof and then wrap that in a SNARK proof. Our `ProverClient` has a function for this called `prove_plonk`. Behind the scenes, this function will first generate a normal SP1 proof, then recursively combine all of them into a single proof using the STARK recursion protocol. Finally, the proof is wrapped in a SNARK proof using PLONK.

**The PLONK Bn254 prover is only guaranteed to work on official releases of SP1.**

To use PLONK proving & verification locally, ensure that you have Docker installed.

If you would like to run the PLONK prover directly without Docker, you must have Go 1.22 installed and enable the `native-plonk` feature in `sp1-sdk`.

```toml
sp1-sdk = { features = ["native-plonk"] }
```
**The PLONK Bn254 prover is only guaranteed to work on official releases of SP1. To use PLONK proving & verification locally, ensure that you have Docker installed.**

### Example

Expand All @@ -25,9 +17,17 @@ sp1-sdk = { features = ["native-plonk"] }

You can run the above script with `RUST_LOG=info cargo run --bin plonk_bn254 --release` in `examples/fibonacci/script`.

## Install SP1 Contracts
### Advanced: PLONK without Docker

If you would like to run the PLONK prover directly without Docker, you must have Go 1.22 installed and enable the `native-plonk` feature in `sp1-sdk`. This path is not recommended and may require additional native dependencies.

```toml
sp1-sdk = { features = ["native-plonk"] }
```

# Install SP1 Contracts

# SP1 Contracts
## SP1 Contracts

This repository contains the smart contracts for verifying [SP1](https://github.com/succinctlabs/sp1) EVM proofs.

Expand Down

0 comments on commit 0eb956f

Please sign in to comment.