aboutsummaryrefslogtreecommitdiff
path: root/zkvms
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-01-13 10:45:08 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-01-13 10:45:08 +0200
commit07c565962194606d873ca14681c51a1cba048ec3 (patch)
tree22169c0b8dea7e1cbb97fcfa0d0ff07259099cc0 /zkvms
parentf0870084c382617d9d51b7d448efafc4cc07a69f (diff)
downloadzkVMs-benchmarks-07c565962194606d873ca14681c51a1cba048ec3.tar
zkVMs-benchmarks-07c565962194606d873ca14681c51a1cba048ec3.tar.gz
zkVMs-benchmarks-07c565962194606d873ca14681c51a1cba048ec3.zip
feat: Generic build and install phases, which only compile instead of proving
Diffstat (limited to 'zkvms')
-rw-r--r--zkvms/risc0/default.nix18
-rw-r--r--zkvms/risc0/host/src/main.rs4
2 files changed, 14 insertions, 8 deletions
diff --git a/zkvms/risc0/default.nix b/zkvms/risc0/default.nix
index 42ebf8a..c491217 100644
--- a/zkvms/risc0/default.nix
+++ b/zkvms/risc0/default.nix
@@ -4,6 +4,7 @@
metacraft-labs,
pkg-config,
craneLib-default,
+ withZKVMPhases,
}:
let
fs = lib.fileset;
@@ -28,7 +29,7 @@ let
craneLib = craneLib-default.overrideToolchain metacraft-labs.risc0;
cargoArtifacts = craneLib.buildDepsOnly commonArgs;
in
- craneLib.buildPackage (commonArgs
+ craneLib.buildPackage (withZKVMPhases (commonArgs
// {
inherit cargoArtifacts;
@@ -44,11 +45,16 @@ in
'';
preBuild = ''
- INPUTS="$PWD/Vertices-010.in"
- export INPUTS
- cd zkvms/risc0
- just prove
+ cd zkvms/risc0/guest
+ cargo build --release --target riscv32im-risc0-zkvm-elf
+ ln -s ../../../../zkvms/risc0/guest/target/riscv32im-risc0-zkvm-elf/release/guest ../host/src/guest
+ '';
+
+ hostBin = "host-risc0";
+
+ postInstall = ''
+ ln -s "${metacraft-labs.risc0}"/bin/r0vm "$out"/bin/r0vm
'';
doCheck = false;
- })
+ }))
diff --git a/zkvms/risc0/host/src/main.rs b/zkvms/risc0/host/src/main.rs
index de5417c..653f11d 100644
--- a/zkvms/risc0/host/src/main.rs
+++ b/zkvms/risc0/host/src/main.rs
@@ -1,6 +1,6 @@
use risc0_zkvm::{default_prover, default_executor, ExecutorEnv};
-static HELLO_GUEST_ELF: &[u8] = include_bytes!("../../../../zkvms/risc0/guest/target/riscv32im-risc0-zkvm-elf/release/guest");
+static HELLO_GUEST_ELF: &[u8] = include_bytes!("./guest");
fn main() {
let args: Vec<String> = std::env::args().collect();
@@ -29,7 +29,7 @@ fn main() {
let prover = default_prover();
// Produce a receipt by proving the specified ELF binary.
- let receipt = prover.prove(env, HELLO_GUEST_ELF).unwrap().receipt;
+ let receipt = prover.prove(env, HELLO_GUEST_ELF).expect("Error occured").receipt;
// Extract journal of receipt
let journal: bool = receipt.journal.decode().unwrap();