Skip to content

Commit

Permalink
feat(l2): multi prover foundations (#1397)
Browse files Browse the repository at this point in the history
**Motivation**

We want to have multiple `prover_clients` with different proving systems
running in parallel, then the `prover_server` should keep track of each
proving system and their proofs to verify them on chain.

When all the required proving systems finish to create the blocks proof,
and then verified on chain, we can say that the blockchain is advancing.

At the moment, just one proving system is allowed, there isn't a
mechanism to keep track of many `prover_clients` with different proving
systems.

**Description**

- Introduce a common API to access different proving systems.
- Deployment and modification of contracts.
- Switch between the `prover_client's` proving systems
  • Loading branch information
fborello-lambda authored Dec 23, 2024
1 parent 409d22a commit 5e136f4
Show file tree
Hide file tree
Showing 36 changed files with 3,579 additions and 503 deletions.
20 changes: 16 additions & 4 deletions .github/workflows/ci_l2_prover.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,29 @@ jobs:
uses: dtolnay/rust-toolchain@stable
# Use cargo-risczero v1.2.0
# The risc0-zkvm crate should match this version
- name: RISC-V zkVM toolchain install
- name: RISC-V RISC0 toolchain install
run: |
curl -L https://risczero.com/install | bash
~/.risc0/bin/rzup install
~/.risc0/bin/rzup extension install cargo-risczero v1.2.0
~/.risc0/bin/rzup extension use cargo-risczero v1.2.0
- name: Build prover and zkVM
- name: Build prover and RISC0's zkVM
run: |
cd crates/l2/prover
cargo build --release --features build_zkvm
cargo build --release --features build_risc0
- name: Test Prover Execution
run: |
cd crates/l2/prover
RUST_LOG=info make perf_test_proving
RUST_LOG=info make perf-risc0
- name: RISC-V SP1 toolchain install
run: |
curl -L https://sp1.succinct.xyz | bash
~/.sp1/bin/sp1up
- name: Build prover and SP1's zkVM
run: |
cd crates/l2/prover
cargo build --release --features build_sp1
- name: Test Prover Execution
run: |
cd crates/l2/prover
RUST_LOG=info make perf-sp1
Loading

0 comments on commit 5e136f4

Please sign in to comment.