diff --git a/Dockerfile b/Dockerfile index 16bd1e83511c..181da6184c3f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,6 @@ ARG COMMIT="" ARG VERSION="" ARG BUILDNUM="" -ARG LIBSCROLL_ZSTD_VERSION=v0.1.0-rc0-ubuntu20.04 ARG SCROLL_LIB_PATH=/scroll/lib # Build libzkp dependency @@ -28,14 +27,12 @@ FROM scrolltech/go-rust-builder:go-1.20-rust-nightly-2022-12-10 as builder ADD . /go-ethereum -ARG LIBSCROLL_ZSTD_VERSION ARG SCROLL_LIB_PATH RUN mkdir -p $SCROLL_LIB_PATH COPY --from=zkp-builder /app/target/release/libzkp.so $SCROLL_LIB_PATH COPY --from=zkp-builder /app/target/release/libzktrie.so $SCROLL_LIB_PATH -RUN wget -O $SCROLL_LIB_PATH/libscroll_zstd.so https://github.com/scroll-tech/da-codec/releases/download/$LIBSCROLL_ZSTD_VERSION/libscroll_zstd.so ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SCROLL_LIB_PATH ENV CGO_LDFLAGS="-L$SCROLL_LIB_PATH -Wl,-rpath,$SCROLL_LIB_PATH" @@ -46,21 +43,19 @@ RUN cd /go-ethereum && env GO111MODULE=on go run build/ci.go install -buildtags FROM ubuntu:20.04 RUN apt-get -qq update \ - && apt-get -qq install -y --no-install-recommends ca-certificates wget + && apt-get -qq install -y --no-install-recommends ca-certificates COPY --from=builder /go-ethereum/build/bin/geth /usr/local/bin/ -ARG LIBSCROLL_ZSTD_VERSION ARG SCROLL_LIB_PATH RUN mkdir -p $SCROLL_LIB_PATH COPY --from=zkp-builder /app/target/release/libzkp.so $SCROLL_LIB_PATH COPY --from=zkp-builder /app/target/release/libzktrie.so $SCROLL_LIB_PATH -RUN wget -O $SCROLL_LIB_PATH/libscroll_zstd.so https://github.com/scroll-tech/da-codec/releases/download/$LIBSCROLL_ZSTD_VERSION/libscroll_zstd.so ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SCROLL_LIB_PATH -ENV CGO_LDFLAGS="-L$SCROLL_LIB_PATH -Wl,-rpath,$SCROLL_LIB_PATH" +ENV CGO_LDFLAGS="-ldl -L$SCROLL_LIB_PATH -Wl,-rpath,$SCROLL_LIB_PATH" EXPOSE 8545 8546 30303 30303/udp ENTRYPOINT ["geth"] diff --git a/Dockerfile.mockccc b/Dockerfile.mockccc index fad790a5b563..a01c36713d53 100644 --- a/Dockerfile.mockccc +++ b/Dockerfile.mockccc @@ -2,42 +2,22 @@ ARG COMMIT="" ARG VERSION="" ARG BUILDNUM="" -ARG LIBSCROLL_ZSTD_VERSION=v0.1.0-rc0-ubuntu20.04 ARG SCROLL_LIB_PATH=/scroll/lib # Build Geth in a stock Go builder container FROM scrolltech/go-rust-builder:go-1.20-rust-nightly-2022-12-10 as builder ADD . /go-ethereum - -ARG LIBSCROLL_ZSTD_VERSION -ARG SCROLL_LIB_PATH - -RUN mkdir -p $SCROLL_LIB_PATH - -RUN apt-get -qq update && apt-get -qq install -y wget -RUN wget -O $SCROLL_LIB_PATH/libscroll_zstd.so https://github.com/scroll-tech/da-codec/releases/download/$LIBSCROLL_ZSTD_VERSION/libscroll_zstd.so - -ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SCROLL_LIB_PATH -ENV CGO_LDFLAGS="-L$SCROLL_LIB_PATH -Wl,-rpath,$SCROLL_LIB_PATH" +RUN cd /go-ethereum && env GO111MODULE=on go run build/ci.go install ./cmd/geth RUN cd /go-ethereum && env GO111MODULE=on go run build/ci.go install ./cmd/geth # Pull Geth into a second stage deploy alpine container FROM ubuntu:20.04 -COPY --from=builder /go-ethereum/build/bin/geth /usr/local/bin/ - -ARG LIBSCROLL_ZSTD_VERSION -ARG SCROLL_LIB_PATH - -RUN mkdir -p $SCROLL_LIB_PATH +ENV CGO_LDFLAGS="-ldl" -RUN apt-get -qq update && apt-get -qq install -y wget -RUN wget -O $SCROLL_LIB_PATH/libscroll_zstd.so https://github.com/scroll-tech/da-codec/releases/download/$LIBSCROLL_ZSTD_VERSION/libscroll_zstd.so - -ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SCROLL_LIB_PATH -ENV CGO_LDFLAGS="-L$SCROLL_LIB_PATH -Wl,-rpath,$SCROLL_LIB_PATH" +COPY --from=builder /go-ethereum/build/bin/geth /usr/local/bin/ EXPOSE 8545 8546 30303 30303/udp ENTRYPOINT ["geth"] diff --git a/Makefile b/Makefile index c2b3d016cc20..95b6baae0f7e 100644 --- a/Makefile +++ b/Makefile @@ -2,30 +2,22 @@ # with Go source code. If you know what GOPATH is then you probably # don't need to bother with make. -.PHONY: geth android ios evm all test clean libzkp libzstd +.PHONY: geth android ios evm all test clean libzkp GOBIN = ./build/bin GO ?= latest -GORUN = go run -LIBSCROLL_ZSTD_VERSION = v0.1.0-rc0-ubuntu20.04 -SCROLL_LIB_PATH = /scroll/lib +GORUN = env GO111MODULE=on go run libzkp: cd $(PWD)/rollup/circuitcapacitychecker/libzkp && make libzkp -libzstd: - @sudo mkdir -p $(SCROLL_LIB_PATH) - @sudo wget -O $(SCROLL_LIB_PATH)/libscroll_zstd.so https://github.com/scroll-tech/da-codec/releases/download/$(LIBSCROLL_ZSTD_VERSION)/libscroll_zstd.so - -nccc_geth: libzstd ## geth without circuit capacity checker - @LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(SCROLL_LIB_PATH)" CGO_LDFLAGS="-L$(SCROLL_LIB_PATH) -Wl,-rpath,$(SCROLL_LIB_PATH)" $(GORUN) build/ci.go install ./cmd/geth +nccc_geth: ## geth without circuit capacity checker + $(GORUN) build/ci.go install ./cmd/geth @echo "Done building." @echo "Run \"$(GOBIN)/geth\" to launch geth." -geth: libzkp libzstd - @sudo cp $(PWD)/rollup/circuitcapacitychecker/libzkp/libzkp.so $(SCROLL_LIB_PATH) - @sudo cp $(PWD)/rollup/circuitcapacitychecker/libzkp/libzktrie.so $(SCROLL_LIB_PATH) - @LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(SCROLL_LIB_PATH)" CGO_LDFLAGS="-L$(SCROLL_LIB_PATH) -Wl,-rpath,$(SCROLL_LIB_PATH)" $(GORUN) build/ci.go install -buildtags circuit_capacity_checker ./cmd/geth +geth: libzkp + $(GORUN) build/ci.go install -buildtags circuit_capacity_checker ./cmd/geth @echo "Done building." @echo "Run \"$(GOBIN)/geth\" to launch geth." @@ -44,14 +36,17 @@ ios: @echo "Done building." @echo "Import \"$(GOBIN)/Geth.framework\" to use the library." -test: - ./run_test.sh +test: all + # genesis test + cd ${PWD}/cmd/geth; go test -test.run TestCustomGenesis + # module test + $(GORUN) build/ci.go test ./consensus ./core ./eth ./miner ./node ./trie ./rollup/... lint: ## Run linters. $(GORUN) build/ci.go lint clean: - go clean -cache + env GO111MODULE=on go clean -cache rm -fr build/_workspace/pkg/ $(GOBIN)/* # The devtools target installs tools required for 'go generate'. diff --git a/build/ci.go b/build/ci.go index 360e0390ec34..f9734e64bad7 100644 --- a/build/ci.go +++ b/build/ci.go @@ -232,6 +232,9 @@ func doInstall(cmdline []string) { // Show packages during build. gobuild.Args = append(gobuild.Args, "-v") + // Add -ldl flags for libscroll_zstd.a. + gobuild.Args = append(gobuild.Args, "-ldflags", "-extldflags -ldl") + // Now we choose what we're even building. // Default: collect all 'main' packages in cmd/ and build those. packages := flag.Args() diff --git a/go.mod b/go.mod index 913f800dd39e..a8610fdcca45 100644 --- a/go.mod +++ b/go.mod @@ -50,8 +50,8 @@ require ( github.com/prometheus/tsdb v0.7.1 github.com/rjeczalik/notify v0.9.1 github.com/rs/cors v1.7.0 - github.com/scroll-tech/da-codec v0.0.0-20240516115958-db04f5e6772c - github.com/scroll-tech/zktrie v0.8.4 + github.com/scroll-tech/da-codec v0.0.0-20240605080813-32bfc9fccde7 + github.com/scroll-tech/zktrie v0.8.2 github.com/shirou/gopsutil v3.21.11+incompatible github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index 9e09f8da2c64..d2cdab36b1d2 100644 --- a/go.sum +++ b/go.sum @@ -392,10 +392,10 @@ github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncj github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/scroll-tech/da-codec v0.0.0-20240516115958-db04f5e6772c h1:Vi1BGENMGO8yjmnJe6QP9Eb1OPPuEi4+wd8d/DxhJ6Q= -github.com/scroll-tech/da-codec v0.0.0-20240516115958-db04f5e6772c/go.mod h1:1wWYii0OPwd5kw+xrz0PFgS420xNadrNF1x/ELJT+TM= -github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= -github.com/scroll-tech/zktrie v0.8.4/go.mod h1:XvNo7vAk8yxNyTjBDj5WIiFzYW4bx/gJ78+NK6Zn6Uk= +github.com/scroll-tech/da-codec v0.0.0-20240605080813-32bfc9fccde7 h1:CDrPMqifvAVyYqu0x1J5qickVV0b51tApPnOwDYLESI= +github.com/scroll-tech/da-codec v0.0.0-20240605080813-32bfc9fccde7/go.mod h1:1wWYii0OPwd5kw+xrz0PFgS420xNadrNF1x/ELJT+TM= +github.com/scroll-tech/zktrie v0.8.2 h1:UMuIfA+jdgWMLmTgTL64Emo+zzMOdcnH0+eYdDcshxQ= +github.com/scroll-tech/zktrie v0.8.2/go.mod h1:XvNo7vAk8yxNyTjBDj5WIiFzYW4bx/gJ78+NK6Zn6Uk= github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= diff --git a/params/version.go b/params/version.go index a8ddf9139005..58788aa3b491 100644 --- a/params/version.go +++ b/params/version.go @@ -24,7 +24,7 @@ import ( const ( VersionMajor = 5 // Major version component of the current release VersionMinor = 3 // Minor version component of the current release - VersionPatch = 35 // Patch version component of the current release + VersionPatch = 36 // Patch version component of the current release VersionMeta = "mainnet" // Version metadata to append to the version string ) diff --git a/rollup/rollup_sync_service/README.md b/rollup/rollup_sync_service/README.md deleted file mode 100644 index 0eb4aadf8916..000000000000 --- a/rollup/rollup_sync_service/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Running unit tests - -Follow these steps to run unit tests, in the repo's root dir: - -``` -docker pull scrolltech/go-rust-builder:go-1.21-rust-nightly-2023-12-03 --platform linux/amd64 -docker run -it --rm -v "$(PWD):/workspace" -w /workspace scrolltech/go-rust-builder:go-1.21-rust-nightly-2023-12-03 - -export LIBSCROLL_ZSTD_VERSION=v0.1.0-rc0-ubuntu20.04 -export SCROLL_LIB_PATH=/scroll/lib - -mkdir -p $SCROLL_LIB_PATH -wget -O $SCROLL_LIB_PATH/libscroll_zstd.so https://github.com/scroll-tech/da-codec/releases/download/$LIBSCROLL_ZSTD_VERSION/libscroll_zstd.so -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SCROLL_LIB_PATH -export CGO_LDFLAGS="-L$SCROLL_LIB_PATH -Wl,-rpath,$SCROLL_LIB_PATH" -go test -v -race ./rollup/rollup_sync_service/... -``` diff --git a/run_test.sh b/run_test.sh deleted file mode 100755 index 39eee287d08a..000000000000 --- a/run_test.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# Download .so files -export LIBSCROLL_ZSTD_VERSION=v0.1.0-rc0-ubuntu20.04 -export SCROLL_LIB_PATH=/scroll/lib - -sudo mkdir -p $SCROLL_LIB_PATH - -sudo wget -O $SCROLL_LIB_PATH/libscroll_zstd.so https://github.com/scroll-tech/da-codec/releases/download/$LIBSCROLL_ZSTD_VERSION/libscroll_zstd.so - -# Set the environment variable -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SCROLL_LIB_PATH -export CGO_LDFLAGS="-L$SCROLL_LIB_PATH -Wl,-rpath,$SCROLL_LIB_PATH" - -# Download and install the project dependencies -go run build/ci.go install -go get ./... - -# Save the root directory of the project -ROOT_DIR=$(pwd) - -# Run genesis test -cd $ROOT_DIR/cmd/geth -go test -test.run TestCustomGenesis - -# Run module tests -cd $ROOT_DIR -go run build/ci.go test ./consensus ./core ./eth ./miner ./node ./trie ./rollup/...