22ARG COMMIT=""
33ARG VERSION=""
44ARG BUILDNUM=""
5+ ARG SCROLL_LIB_PATH=/scroll/lib
56
67# Build libzkp dependency
7- FROM scrolltech/go-rust-builder:go-1.19 -rust-nightly-2022 -12-10 as chef
8+ FROM scrolltech/go-rust-builder:go-1.21 -rust-nightly-2023 -12-03 as chef
89WORKDIR app
910
1011FROM chef as planner
11- COPY ./rollup/circuitcapacitychecker /libzkp/ .
12+ COPY ./rollup/ccc /libzkp/ .
1213RUN cargo chef prepare --recipe-path recipe.json
1314
1415FROM chef as zkp-builder
15- COPY ./rollup/circuitcapacitychecker /libzkp/rust-toolchain ./
16+ COPY ./rollup/ccc /libzkp/rust-toolchain ./
1617COPY --from=planner /app/recipe.json recipe.json
1718RUN cargo chef cook --release --recipe-path recipe.json
1819
19- COPY ./rollup/circuitcapacitychecker/libzkp .
20+ COPY ./rollup/ccc/libzkp .
21+ RUN cargo clean
2022RUN cargo build --release
21- RUN find ./ | grep libzktrie.so | xargs -I{} cp {} /app/target/release/
2223
2324# Build Geth in a stock Go builder container
24- FROM scrolltech/go-rust-builder:go-1.19 -rust-nightly-2022 -12-10 as builder
25+ FROM scrolltech/go-rust-builder:go-1.21 -rust-nightly-2023 -12-03 as builder
2526
2627ADD . /go-ethereum
27- COPY --from=zkp-builder /app/target/release/libzkp.so /usr/local/lib/
28- COPY --from=zkp-builder /app/target/release/libzktrie.so /usr/local/lib/
29- ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/
28+
29+ ARG SCROLL_LIB_PATH
30+
31+ RUN apt update && apt install vim netcat-openbsd net-tools curl -y
32+ RUN mkdir -p $SCROLL_LIB_PATH
33+
34+ COPY --from=zkp-builder /app/target/release/libzkp.so $SCROLL_LIB_PATH
35+
36+ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SCROLL_LIB_PATH
37+ ENV CGO_LDFLAGS="-L$SCROLL_LIB_PATH -Wl,-rpath,$SCROLL_LIB_PATH"
38+
3039RUN cd /go-ethereum && env GO111MODULE=on go run build/ci.go install -buildtags circuit_capacity_checker ./cmd/geth
3140
3241# Pull Geth into a second stage deploy alpine container
@@ -36,9 +45,15 @@ RUN apt-get -qq update \
3645 && apt-get -qq install -y --no-install-recommends ca-certificates
3746
3847COPY --from=builder /go-ethereum/build/bin/geth /usr/local/bin/
39- COPY --from=zkp-builder /app/target/release/libzkp.so /usr/local/lib/
40- COPY --from=zkp-builder /app/target/release/libzktrie.so /usr/local/lib/
41- ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/
48+
49+ ARG SCROLL_LIB_PATH
50+
51+ RUN mkdir -p $SCROLL_LIB_PATH
52+
53+ COPY --from=zkp-builder /app/target/release/libzkp.so $SCROLL_LIB_PATH
54+
55+ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SCROLL_LIB_PATH
56+ ENV CGO_LDFLAGS="-ldl -L$SCROLL_LIB_PATH -Wl,-rpath,$SCROLL_LIB_PATH"
4257
4358EXPOSE 8545 8546 30303 30303/udp
4459ENTRYPOINT ["geth" ]
0 commit comments