aboutsummaryrefslogtreecommitdiff
path: root/zkvms/risc0
diff options
context:
space:
mode:
Diffstat (limited to 'zkvms/risc0')
-rw-r--r--zkvms/risc0/Justfile12
-rw-r--r--zkvms/risc0/default.nix54
l---------zkvms/risc0/guest/Cargo.lock1
l---------zkvms/risc0/guest/guests_macro1
4 files changed, 68 insertions, 0 deletions
diff --git a/zkvms/risc0/Justfile b/zkvms/risc0/Justfile
new file mode 100644
index 0000000..9cd78fe
--- /dev/null
+++ b/zkvms/risc0/Justfile
@@ -0,0 +1,12 @@
+execute: build-guest
+ time cargo run --bin host-risc0 --release -- execute
+
+prove: build-guest
+ time cargo run --bin host-risc0 --release -- prove
+
+verify: build-guest
+ time cargo run --bin host-risc0 --release -- verify
+
+build-guest:
+ cd guest && \
+ cargo build --release --target riscv32im-risc0-zkvm-elf
diff --git a/zkvms/risc0/default.nix b/zkvms/risc0/default.nix
new file mode 100644
index 0000000..42ebf8a
--- /dev/null
+++ b/zkvms/risc0/default.nix
@@ -0,0 +1,54 @@
+{ stdenv,
+ lib,
+ just,
+ metacraft-labs,
+ pkg-config,
+ craneLib-default,
+}:
+let
+ fs = lib.fileset;
+
+ commonArgs = rec {
+ pname = "risc0";
+ version = "infdev";
+
+ src = fs.toSource {
+ root = ../..;
+ fileset = fs.intersection (fs.gitTracked ../..) (fs.unions [
+ ./.
+ ../../guests
+ ../../guests_macro
+ ../../Cargo.lock
+ ../../Cargo.toml
+ ../../Vertices-010.in
+ ]);
+ };
+ };
+
+ craneLib = craneLib-default.overrideToolchain metacraft-labs.risc0;
+ cargoArtifacts = craneLib.buildDepsOnly commonArgs;
+in
+ craneLib.buildPackage (commonArgs
+ // {
+ inherit cargoArtifacts;
+
+ nativeBuildInputs = [
+ just
+ metacraft-labs.risc0
+ stdenv.cc
+ pkg-config
+ ];
+
+ postPatch = ''
+ ln -s ../../../../guests/graph_coloring ./zkvms/risc0/guest/src/zkp
+ '';
+
+ preBuild = ''
+ INPUTS="$PWD/Vertices-010.in"
+ export INPUTS
+ cd zkvms/risc0
+ just prove
+ '';
+
+ doCheck = false;
+ })
diff --git a/zkvms/risc0/guest/Cargo.lock b/zkvms/risc0/guest/Cargo.lock
new file mode 120000
index 0000000..ee3be30
--- /dev/null
+++ b/zkvms/risc0/guest/Cargo.lock
@@ -0,0 +1 @@
+../../../Cargo.lock \ No newline at end of file
diff --git a/zkvms/risc0/guest/guests_macro b/zkvms/risc0/guest/guests_macro
new file mode 120000
index 0000000..98e8cf9
--- /dev/null
+++ b/zkvms/risc0/guest/guests_macro
@@ -0,0 +1 @@
+../../../guests_macro/ \ No newline at end of file