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/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..717358d1a6 --- /dev/null +++ b/zkvm-prover/print_plonky3gpu_version.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +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") + +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 +fi \ No newline at end of file