From c84485b89359e3bdbd4cf1be7555a46c62b91d18 Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 7 Mar 2025 20:15:05 +0800 Subject: [PATCH 1/5] fix: makefile prover version --- zkvm-prover/Makefile | 26 ++++++++++++------------- zkvm-prover/print_halo2gpu_version.sh | 21 -------------------- zkvm-prover/print_high_zkevm_version.sh | 10 ---------- zkvm-prover/print_high_zkvm_version.sh | 10 ++++++++++ zkvm-prover/print_plonky3gpu_version.sh | 17 ++++++++++++++++ zkvm-prover/test.toml | 0 6 files changed, 40 insertions(+), 44 deletions(-) delete mode 100755 zkvm-prover/print_halo2gpu_version.sh delete mode 100755 zkvm-prover/print_high_zkevm_version.sh create mode 100755 zkvm-prover/print_high_zkvm_version.sh create mode 100755 zkvm-prover/print_plonky3gpu_version.sh create mode 100644 zkvm-prover/test.toml diff --git a/zkvm-prover/Makefile b/zkvm-prover/Makefile index 6bcd3faa7f..1d5e1fbe4d 100644 --- a/zkvm-prover/Makefile +++ b/zkvm-prover/Makefile @@ -1,22 +1,22 @@ .PHONY: prover lint tests_binary ifeq (4.3,$(firstword $(sort $(MAKE_VERSION) 4.3))) - HALO2_VERSION=$(shell grep -m 1 "halo2.git" ./Cargo.lock | cut -d "#" -f2 | cut -c-7) + PLONKY3_VERSION=$(shell grep -m 1 "Plonky3.git" ./Cargo.lock | cut -d "#" -f2 | cut -c-7) else - HALO2_VERSION=$(shell grep -m 1 "halo2.git" ./Cargo.lock | cut -d "\#" -f2 | cut -c-7) + PLONKY3_VERSION=$(shell grep -m 1 "Plonky3.git" ./Cargo.lock | cut -d "\#" -f2 | cut -c-7) endif -ZKEVM_VERSION=$(shell ./print_high_zkevm_version.sh) -ifeq (${ZKEVM_VERSION},) - $(error ZKEVM_VERSION not set) +ZKVM_VERSION=$(shell ./print_high_zkvm_version.sh) +ifeq (${ZKVM_VERSION},) + $(error ZKVM_VERSION not set) else - $(info ZKEVM_VERSION is ${ZKEVM_VERSION}) + $(info ZKVM_VERSION is ${ZKVM_VERSION}) endif -ZKEVM_COMMIT=$(shell echo ${ZKEVM_VERSION} | cut -d " " -f2) -$(info ZKEVM_COMMIT is ${ZKEVM_COMMIT}) +ZKVM_COMMIT=$(shell echo ${ZKVM_VERSION} | cut -d " " -f2) +$(info ZKVM_COMMIT is ${ZKVM_COMMIT}) -HALO2_GPU_VERSION=$(shell ./print_halo2gpu_version.sh | sed -n '2p') +PLONKY3_GPU_VERSION=$(shell ./print_plonky3gpu_version.sh | sed -n '2p') GIT_REV=$(shell git rev-parse --short HEAD) GO_TAG=$(shell grep "var tag = " ../common/version/version.go | cut -d "\"" -f2) @@ -27,12 +27,12 @@ else $(info GO_TAG is ${GO_TAG}) endif -ifeq (${HALO2_GPU_VERSION},) - # use halo2_proofs with CPU - ZK_VERSION=${ZKEVM_COMMIT}-${HALO2_VERSION} +ifeq (${PLONKY3_GPU_VERSION},) + # use plonky3 with CPU + ZK_VERSION=${ZKVM_COMMIT}-${PLONKY3_VERSION} else # use halo2_gpu - ZK_VERSION=${ZKEVM_COMMIT}-${HALO2_GPU_VERSION} + ZK_VERSION=${ZKVM_COMMIT}-${PLONKY3_GPU_VERSION} endif prover: diff --git a/zkvm-prover/print_halo2gpu_version.sh b/zkvm-prover/print_halo2gpu_version.sh deleted file mode 100755 index 7806811ab1..0000000000 --- a/zkvm-prover/print_halo2gpu_version.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -config_file="$HOME/.cargo/config" - -if [ ! -e "$config_file" ]; then - exit 0 -fi - -if [[ $(head -n 1 "$config_file") == "#"* ]]; then - exit 0 -fi - -halo2gpu_path=$(grep -Po '(?<=paths = \[")([^"]*)' $config_file) - -pushd $halo2gpu_path - -commit_hash=$(git log --pretty=format:%h -n 1) -echo "${commit_hash:0:7}" - -popd - diff --git a/zkvm-prover/print_high_zkevm_version.sh b/zkvm-prover/print_high_zkevm_version.sh deleted file mode 100755 index 9b44b1b778..0000000000 --- a/zkvm-prover/print_high_zkevm_version.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -set -ue - -higher_zkevm_item=`grep "zkevm-circuits.git" ./Cargo.lock | sort | uniq | awk -F "[#=]" '{print $3" "$4}' | sort -k 1 | tail -n 1` - -higher_version=`echo $higher_zkevm_item | awk '{print $1}'` - -higher_commit=`echo $higher_zkevm_item | cut -d ' ' -f2 | cut -c-7` - -echo "$higher_version $higher_commit" \ No newline at end of file diff --git a/zkvm-prover/print_high_zkvm_version.sh b/zkvm-prover/print_high_zkvm_version.sh new file mode 100755 index 0000000000..c4b6ffa1c5 --- /dev/null +++ b/zkvm-prover/print_high_zkvm_version.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -ue + +higher_zkvm_item=`grep "zkvm-prover" ./Cargo.lock | sort | uniq | awk -F "[#=]" '{print $3" "$4}' | sort -k 1 | tail -n 1` + +higher_version=`echo $higher_zkvm_item | awk '{print $1}'` + +higher_commit=`echo $higher_zkvm_item | cut -d ' ' -f2 | cut -c-7` + +echo "$higher_version $higher_commit" \ No newline at end of file diff --git a/zkvm-prover/print_plonky3gpu_version.sh b/zkvm-prover/print_plonky3gpu_version.sh new file mode 100755 index 0000000000..02b05d614f --- /dev/null +++ b/zkvm-prover/print_plonky3gpu_version.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +config_file="~/.cargo/config.toml" # 替换为你的文件路径 + +# 使用 grep 和 awk 提取路径 +plonky3_gpu_path=$(grep -oP 'path\s*=\s*"\K/plonky3-gpu[^"]*' "$config_file") + +if [ -d $plonky3_gpu_path ]; then + pushd $plonky3_gpu_path + + commit_hash=$(git log --pretty=format:%h -n 1) + echo "${commit_hash:0:7}" + + popd +else + exit 0 +fi \ No newline at end of file diff --git a/zkvm-prover/test.toml b/zkvm-prover/test.toml new file mode 100644 index 0000000000..e69de29bb2 From c473c1ae08c45745cd498053bde3a08e2800c047 Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 7 Mar 2025 22:06:31 +0800 Subject: [PATCH 2/5] fix: makefile prover version --- zkvm-prover/config | 38 +++++++++++++++++++++++++ zkvm-prover/print_plonky3gpu_version.sh | 14 ++++----- 2 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 zkvm-prover/config diff --git a/zkvm-prover/config b/zkvm-prover/config new file mode 100644 index 0000000000..976e1abf4f --- /dev/null +++ b/zkvm-prover/config @@ -0,0 +1,38 @@ +# stark-backend +[patch."https://github.com/openvm-org/stark-backend.git"] +openvm-stark-backend = { path = "/openvm-stark-gpu/crates/stark-backend", features = ["gpu"] } +openvm-stark-sdk = { path = "/openvm-stark-gpu/crates/stark-sdk", features = ["gpu"] } + +# plonky3 +[patch."https://github.com/Plonky3/Plonky3.git"] +p3-air = { path = "/plonky3-gpu/air" } +p3-field = { path = "/plonky3-gpu/field" } +p3-commit = { path = "/plonky3-gpu/commit" } +p3-matrix = { path = "/plonky3-gpu/matrix" } +p3-baby-bear = { path = "/plonky3-gpu/baby-bear" } +p3-util = { path = "/plonky3-gpu/util" } +p3-challenger = { path = "/plonky3-gpu/challenger" } +p3-dft = { path = "/plonky3-gpu/dft" } +p3-fri = { path = "/plonky3-gpu/fri" } +p3-goldilocks = { path = "/plonky3-gpu/goldilocks" } +p3-keccak = { path = "/plonky3-gpu/keccak" } +p3-keccak-air = { path = "/plonky3-gpu/keccak-air" } +p3-blake3 = { path = "/plonky3-gpu/blake3" } +p3-mds = { path = "/plonky3-gpu/mds" } +p3-monty-31 = { path = "/plonky3-gpu/monty-31" } +p3-merkle-tree = { path = "/plonky3-gpu/merkle-tree" } +p3-poseidon = { path = "/plonky3-gpu/poseidon" } +p3-poseidon2 = { path = "/plonky3-gpu/poseidon2" } +p3-poseidon2-air = { path = "/plonky3-gpu/poseidon2-air" } +p3-symmetric = { path = "/plonky3-gpu/symmetric" } +p3-uni-stark = { path = "/plonky3-gpu/uni-stark" } +p3-maybe-rayon = { path = "/plonky3-gpu/maybe-rayon" } +p3-bn254-fr = { path = "/plonky3-gpu/bn254-fr" } + +# gpu crates +[patch."ssh://git@github.com/scroll-tech/plonky3-gpu.git"] +p3-gpu-base = { path = "/plonky3-gpu/gpu-base" } +p3-gpu-build = { path = "/plonky3-gpu/gpu-build" } +p3-gpu-field = { path = "/plonky3-gpu/gpu-field" } +p3-gpu-backend = { path = "/plonky3-gpu/gpu-backend" } +p3-gpu-module = { path = "/plonky3-gpu/gpu-module" } \ No newline at end of file diff --git a/zkvm-prover/print_plonky3gpu_version.sh b/zkvm-prover/print_plonky3gpu_version.sh index 02b05d614f..717358d1a6 100755 --- a/zkvm-prover/print_plonky3gpu_version.sh +++ b/zkvm-prover/print_plonky3gpu_version.sh @@ -1,17 +1,15 @@ #!/bin/bash -config_file="~/.cargo/config.toml" # 替换为你的文件路径 +config_file=~/.cargo/config.toml +plonky3_gpu_path=$(grep 'path.*plonky3-gpu' "$config_file" | cut -d'"' -f2 | head -n 1) +plonky3_gpu_path=$(dirname "$plonky3_gpu_path") -# 使用 grep 和 awk 提取路径 -plonky3_gpu_path=$(grep -oP 'path\s*=\s*"\K/plonky3-gpu[^"]*' "$config_file") - -if [ -d $plonky3_gpu_path ]; then +if [ -z $plonky3_gpu_path ]; then + exit 0 +else pushd $plonky3_gpu_path - commit_hash=$(git log --pretty=format:%h -n 1) echo "${commit_hash:0:7}" popd -else - exit 0 fi \ No newline at end of file From 54905c03b3cbed63bde0346a5d5e4e77810da55b Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 7 Mar 2025 22:06:55 +0800 Subject: [PATCH 3/5] update prover dockerfile --- build/dockerfiles/prover.Dockerfile | 6 +++--- go.work.sum | 2 ++ scroll-contracts | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/build/dockerfiles/prover.Dockerfile b/build/dockerfiles/prover.Dockerfile index 85f2831ce7..90efa6efa0 100644 --- a/build/dockerfiles/prover.Dockerfile +++ b/build/dockerfiles/prover.Dockerfile @@ -12,12 +12,12 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y ENV PATH="/root/.cargo/bin:${PATH}" ENV CARGO_HOME=/root/.cargo -COPY ./zkvm-prover . +COPY . /src -RUN cargo build --release +RUN cd /src/zkvm-prover && make prover FROM ubuntu:24.04 AS runtime -COPY --from=builder /target/release/prover /usr/local/bin/ +COPY --from=builder /src/zkvm-prover/target/release/prover /usr/local/bin/ ENTRYPOINT ["prover"] \ No newline at end of file diff --git a/go.work.sum b/go.work.sum index 2f1ad8ce9e..88bf33c8a3 100644 --- a/go.work.sum +++ b/go.work.sum @@ -434,6 +434,7 @@ github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBp github.com/AzureAD/microsoft-authentication-library-for-go v0.6.0 h1:XMEdVDFxgulDDl0lQmAZS6j8gRQ/0pJ+ZpXH2FHVtDc= github.com/AzureAD/microsoft-authentication-library-for-go v0.6.0/go.mod h1:BDJ5qMFKx9DugEg3+uQSDCdbYPr5s9vBTrL9P8TpqOU= github.com/AzureAD/microsoft-authentication-library-for-go v1.0.0/go.mod h1:kgDmCTgBzIEPFElEF+FK0SdjAor06dRq2Go927dnQ6o= +github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= @@ -1763,6 +1764,7 @@ gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2 h1:OAj3g0cR6Dx/R07QgQe8wkA9RNjB2u4i700xBkIT4e0= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6 h1:a6cXbcDDUkSBlpnkWV1bJ+vv3mOgQEltEJ2rPxroVu0= gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= diff --git a/scroll-contracts b/scroll-contracts index 81f0db72ca..2ac4f3f7e0 160000 --- a/scroll-contracts +++ b/scroll-contracts @@ -1 +1 @@ -Subproject commit 81f0db72ca5335e0dddfaa99cb415e3d1cee895f +Subproject commit 2ac4f3f7e090d7127db4b13b3627cb3ce2d762bc From dd7d50c9c355f273e704d6440befc9cf19c4b8f2 Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 7 Mar 2025 22:47:04 +0800 Subject: [PATCH 4/5] rm test files --- zkvm-prover/config | 38 -------------------------------------- zkvm-prover/test.toml | 0 2 files changed, 38 deletions(-) delete mode 100644 zkvm-prover/config delete mode 100644 zkvm-prover/test.toml diff --git a/zkvm-prover/config b/zkvm-prover/config deleted file mode 100644 index 976e1abf4f..0000000000 --- a/zkvm-prover/config +++ /dev/null @@ -1,38 +0,0 @@ -# stark-backend -[patch."https://github.com/openvm-org/stark-backend.git"] -openvm-stark-backend = { path = "/openvm-stark-gpu/crates/stark-backend", features = ["gpu"] } -openvm-stark-sdk = { path = "/openvm-stark-gpu/crates/stark-sdk", features = ["gpu"] } - -# plonky3 -[patch."https://github.com/Plonky3/Plonky3.git"] -p3-air = { path = "/plonky3-gpu/air" } -p3-field = { path = "/plonky3-gpu/field" } -p3-commit = { path = "/plonky3-gpu/commit" } -p3-matrix = { path = "/plonky3-gpu/matrix" } -p3-baby-bear = { path = "/plonky3-gpu/baby-bear" } -p3-util = { path = "/plonky3-gpu/util" } -p3-challenger = { path = "/plonky3-gpu/challenger" } -p3-dft = { path = "/plonky3-gpu/dft" } -p3-fri = { path = "/plonky3-gpu/fri" } -p3-goldilocks = { path = "/plonky3-gpu/goldilocks" } -p3-keccak = { path = "/plonky3-gpu/keccak" } -p3-keccak-air = { path = "/plonky3-gpu/keccak-air" } -p3-blake3 = { path = "/plonky3-gpu/blake3" } -p3-mds = { path = "/plonky3-gpu/mds" } -p3-monty-31 = { path = "/plonky3-gpu/monty-31" } -p3-merkle-tree = { path = "/plonky3-gpu/merkle-tree" } -p3-poseidon = { path = "/plonky3-gpu/poseidon" } -p3-poseidon2 = { path = "/plonky3-gpu/poseidon2" } -p3-poseidon2-air = { path = "/plonky3-gpu/poseidon2-air" } -p3-symmetric = { path = "/plonky3-gpu/symmetric" } -p3-uni-stark = { path = "/plonky3-gpu/uni-stark" } -p3-maybe-rayon = { path = "/plonky3-gpu/maybe-rayon" } -p3-bn254-fr = { path = "/plonky3-gpu/bn254-fr" } - -# gpu crates -[patch."ssh://git@github.com/scroll-tech/plonky3-gpu.git"] -p3-gpu-base = { path = "/plonky3-gpu/gpu-base" } -p3-gpu-build = { path = "/plonky3-gpu/gpu-build" } -p3-gpu-field = { path = "/plonky3-gpu/gpu-field" } -p3-gpu-backend = { path = "/plonky3-gpu/gpu-backend" } -p3-gpu-module = { path = "/plonky3-gpu/gpu-module" } \ No newline at end of file diff --git a/zkvm-prover/test.toml b/zkvm-prover/test.toml deleted file mode 100644 index e69de29bb2..0000000000 From 1f6bcf56f1416f461f734473ef91a5f6c0d07480 Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 7 Mar 2025 22:58:16 +0800 Subject: [PATCH 5/5] typo --- scroll-contracts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scroll-contracts b/scroll-contracts index 2ac4f3f7e0..81f0db72ca 160000 --- a/scroll-contracts +++ b/scroll-contracts @@ -1 +1 @@ -Subproject commit 2ac4f3f7e090d7127db4b13b3627cb3ce2d762bc +Subproject commit 81f0db72ca5335e0dddfaa99cb415e3d1cee895f