From 68570fb1f9570a1383648b2d452d311ff69bc854 Mon Sep 17 00:00:00 2001 From: a Date: Fri, 16 Dec 2022 14:52:36 -0600 Subject: [PATCH 1/5] modify docker file, add debian docker file --- Dockerfile | 39 ++++++++++++++++++-- Dockerfile.debian | 90 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 127 insertions(+), 2 deletions(-) create mode 100644 Dockerfile.debian diff --git a/Dockerfile b/Dockerfile index 9030eba5e1c..a8e9d172505 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,6 +4,13 @@ FROM docker.io/library/golang:1.19-alpine3.16 AS builder RUN apk --no-cache add build-base linux-headers git bash ca-certificates libstdc++ WORKDIR /app +ADD go.mod go.mod +ADD go.sum go.sum + +RUN --mount=type=cache,target=/root/.cache \ + --mount=type=cache,target=/tmp/go-build \ + --mount=type=cache,target=/go/pkg/mod \ + go mod tidy ADD . . RUN --mount=type=cache,target=/root/.cache \ @@ -13,9 +20,37 @@ RUN --mount=type=cache,target=/root/.cache \ FROM docker.io/library/alpine:3.16 -RUN apk add --no-cache ca-certificates curl libstdc++ jq tzdata +# install required runtime libs, along with some helpers for debugging +RUN apk add --no-cache ca-certificates libstdc++ tzdata +RUN apk add --no-cache curl jq bind-tools + # copy compiled artifacts from builder -COPY --from=builder /app/build/bin/* /usr/local/bin/ +## first do the mdbx ones - since these wont change as often +COPY --from=builder /app/build/bin/mdbx_chk /usr/local/bin/mdbx_chk +COPY --from=builder /app/build/bin/mdbx_copy /usr/local/bin/mdbx_copy +COPY --from=builder /app/build/bin/mdbx_drop /usr/local/bin/mdbx_drop +COPY --from=builder /app/build/bin/mdbx_dump /usr/local/bin/mdbx_dump +COPY --from=builder /app/build/bin/mdbx_load /usr/local/bin/mdbx_load +COPY --from=builder /app/build/bin/mdbx_stat /usr/local/bin/mdbx_stat + +## then give each binary its own layer +COPY --from=builder /app/build/bin/devnet /usr/local/bin/devnet +COPY --from=builder /app/build/bin/downloader /usr/local/bin/downloader +COPY --from=builder /app/build/bin/erigon /usr/local/bin/erigon +COPY --from=builder /app/build/bin/erigon-cl /usr/local/bin/erigon-cl +COPY --from=builder /app/build/bin/evm /usr/local/bin/evm +COPY --from=builder /app/build/bin/hack /usr/local/bin/hack +COPY --from=builder /app/build/bin/integration /usr/local/bin/integration +COPY --from=builder /app/build/bin/lightclient /usr/local/bin/lightclient +COPY --from=builder /app/build/bin/observer /usr/local/bin/observer +COPY --from=builder /app/build/bin/pics /usr/local/bin/pics +COPY --from=builder /app/build/bin/rpcdaemon /usr/local/bin/rpcdaemon +COPY --from=builder /app/build/bin/rpctest /usr/local/bin/rpctest +COPY --from=builder /app/build/bin/sentinel /usr/local/bin/sentinel +COPY --from=builder /app/build/bin/sentry /usr/local/bin/sentry +COPY --from=builder /app/build/bin/state /usr/local/bin/state +COPY --from=builder /app/build/bin/txpool /usr/local/bin/txpool +COPY --from=builder /app/build/bin/verkle /usr/local/bin/verkle # Setup user and group # diff --git a/Dockerfile.debian b/Dockerfile.debian new file mode 100644 index 00000000000..d7e9f86e8a6 --- /dev/null +++ b/Dockerfile.debian @@ -0,0 +1,90 @@ +# syntax = docker/dockerfile:1.2 +FROM docker.io/library/golang:1.19-bullseye AS builder + +RUN apt update +RUN apt install -y build-essential git bash ca-certificates libstdc++6 + +WORKDIR /app +ADD go.mod go.mod +ADD go.sum go.sum + +RUN --mount=type=cache,target=/root/.cache \ + --mount=type=cache,target=/tmp/go-build \ + --mount=type=cache,target=/go/pkg/mod \ + go mod tidy +ADD . . + +RUN --mount=type=cache,target=/root/.cache \ + --mount=type=cache,target=/tmp/go-build \ + --mount=type=cache,target=/go/pkg/mod \ + make all db-tools + +FROM docker.io/library/debian:bullseye + +# install required runtime libs, along with some helpers for debugging +RUN apt update +RUN apt install -y ca-certificates libstdc++6 tzdata +RUN apt install -y curl jq dnsutils + +# Setup user and group +# +# from the perspective of the container, uid=1000, gid=1000 is a sensible choice +# (mimicking Ubuntu Server), but if caller creates a .env (example in repo root), +# these defaults will get overridden when make calls docker-compose +ARG UID=1000 +RUN adduser --uid $UID erigon +USER erigon +RUN mkdir -p ~/.local/share/erigon + +# copy compiled artifacts from builder +## first do the mdbx ones - since these wont change as often +COPY --from=builder /app/build/bin/mdbx_chk /usr/local/bin/mdbx_chk +COPY --from=builder /app/build/bin/mdbx_copy /usr/local/bin/mdbx_copy +COPY --from=builder /app/build/bin/mdbx_drop /usr/local/bin/mdbx_drop +COPY --from=builder /app/build/bin/mdbx_dump /usr/local/bin/mdbx_dump +COPY --from=builder /app/build/bin/mdbx_load /usr/local/bin/mdbx_load +COPY --from=builder /app/build/bin/mdbx_stat /usr/local/bin/mdbx_stat + +## then give each binary its own layer +COPY --from=builder /app/build/bin/devnet /usr/local/bin/devnet +COPY --from=builder /app/build/bin/downloader /usr/local/bin/downloader +COPY --from=builder /app/build/bin/erigon /usr/local/bin/erigon +COPY --from=builder /app/build/bin/erigon-cl /usr/local/bin/erigon-cl +COPY --from=builder /app/build/bin/evm /usr/local/bin/evm +COPY --from=builder /app/build/bin/hack /usr/local/bin/hack +COPY --from=builder /app/build/bin/integration /usr/local/bin/integration +COPY --from=builder /app/build/bin/lightclient /usr/local/bin/lightclient +COPY --from=builder /app/build/bin/observer /usr/local/bin/observer +COPY --from=builder /app/build/bin/pics /usr/local/bin/pics +COPY --from=builder /app/build/bin/rpcdaemon /usr/local/bin/rpcdaemon +COPY --from=builder /app/build/bin/rpctest /usr/local/bin/rpctest +COPY --from=builder /app/build/bin/sentinel /usr/local/bin/sentinel +COPY --from=builder /app/build/bin/sentry /usr/local/bin/sentry +COPY --from=builder /app/build/bin/state /usr/local/bin/state +COPY --from=builder /app/build/bin/txpool /usr/local/bin/txpool +COPY --from=builder /app/build/bin/verkle /usr/local/bin/verkle + +EXPOSE 8545 \ + 8551 \ + 8546 \ + 30303 \ + 30303/udp \ + 42069 \ + 42069/udp \ + 8080 \ + 9090 \ + 6060 + +# https://github.com/opencontainers/image-spec/blob/main/annotations.md +ARG BUILD_DATE +ARG VCS_REF +ARG VERSION +LABEL org.label-schema.build-date=$BUILD_DATE \ + org.label-schema.description="Erigon Ethereum Client" \ + org.label-schema.name="Erigon" \ + org.label-schema.schema-version="1.0" \ + org.label-schema.url="https://torquem.ch" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/ledgerwatch/erigon.git" \ + org.label-schema.vendor="Torquem" \ + org.label-schema.version=$VERSION From 1db2a9dbf225983348f98c1df3c576460eea60f7 Mon Sep 17 00:00:00 2001 From: a Date: Fri, 16 Dec 2022 15:16:19 -0600 Subject: [PATCH 2/5] update debian file --- .dockerignore | 1 + Dockerfile | 52 ++++++++++++++++++++++++++++++---------------- Dockerfile.debian | 31 ++++++++++++++++++++------- core/blockchain.go | 1 + 4 files changed, 59 insertions(+), 26 deletions(-) diff --git a/.dockerignore b/.dockerignore index 314dadf0a10..f21ea98c3a4 100644 --- a/.dockerignore +++ b/.dockerignore @@ -7,3 +7,4 @@ build tests/testdata cmd/prometheus +vendor diff --git a/Dockerfile b/Dockerfile index a8e9d172505..c0fdbcd7e92 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,13 +10,27 @@ ADD go.sum go.sum RUN --mount=type=cache,target=/root/.cache \ --mount=type=cache,target=/tmp/go-build \ --mount=type=cache,target=/go/pkg/mod \ - go mod tidy + go mod download ADD . . RUN --mount=type=cache,target=/root/.cache \ --mount=type=cache,target=/tmp/go-build \ --mount=type=cache,target=/go/pkg/mod \ - make all db-tools + make all + + +FROM docker.io/library/golang:1.19-alpine3.16 AS tools-builder +RUN apk --no-cache add build-base linux-headers git bash ca-certificates libstdc++ +WORKDIR /app + +ADD Makefile Makefile +ADD tools.go tools.go +ADD go.mod go.mod +ADD go.sum go.sum + +RUN mkdir -p /app/build/bin + +RUN make db-tools FROM docker.io/library/alpine:3.16 @@ -24,14 +38,25 @@ FROM docker.io/library/alpine:3.16 RUN apk add --no-cache ca-certificates libstdc++ tzdata RUN apk add --no-cache curl jq bind-tools +# Setup user and group +# +# from the perspective of the container, uid=1000, gid=1000 is a sensible choice +# (mimicking Ubuntu Server), but if caller creates a .env (example in repo root), +# these defaults will get overridden when make calls docker-compose +ARG UID=1000 +ARG GID=1000 +RUN adduser -D -u $UID -g $GID erigon +USER erigon +RUN mkdir -p ~/.local/share/erigon + # copy compiled artifacts from builder ## first do the mdbx ones - since these wont change as often -COPY --from=builder /app/build/bin/mdbx_chk /usr/local/bin/mdbx_chk -COPY --from=builder /app/build/bin/mdbx_copy /usr/local/bin/mdbx_copy -COPY --from=builder /app/build/bin/mdbx_drop /usr/local/bin/mdbx_drop -COPY --from=builder /app/build/bin/mdbx_dump /usr/local/bin/mdbx_dump -COPY --from=builder /app/build/bin/mdbx_load /usr/local/bin/mdbx_load -COPY --from=builder /app/build/bin/mdbx_stat /usr/local/bin/mdbx_stat +COPY --from=tools-builder /app/build/bin/mdbx_chk /usr/local/bin/mdbx_chk +COPY --from=tools-builder /app/build/bin/mdbx_copy /usr/local/bin/mdbx_copy +COPY --from=tools-builder /app/build/bin/mdbx_drop /usr/local/bin/mdbx_drop +COPY --from=tools-builder /app/build/bin/mdbx_dump /usr/local/bin/mdbx_dump +COPY --from=tools-builder /app/build/bin/mdbx_load /usr/local/bin/mdbx_load +COPY --from=tools-builder /app/build/bin/mdbx_stat /usr/local/bin/mdbx_stat ## then give each binary its own layer COPY --from=builder /app/build/bin/devnet /usr/local/bin/devnet @@ -52,16 +77,7 @@ COPY --from=builder /app/build/bin/state /usr/local/bin/state COPY --from=builder /app/build/bin/txpool /usr/local/bin/txpool COPY --from=builder /app/build/bin/verkle /usr/local/bin/verkle -# Setup user and group -# -# from the perspective of the container, uid=1000, gid=1000 is a sensible choice -# (mimicking Ubuntu Server), but if caller creates a .env (example in repo root), -# these defaults will get overridden when make calls docker-compose -ARG UID=1000 -ARG GID=1000 -RUN adduser -D -u $UID -g $GID erigon -USER erigon -RUN mkdir -p ~/.local/share/erigon + EXPOSE 8545 \ 8551 \ diff --git a/Dockerfile.debian b/Dockerfile.debian index d7e9f86e8a6..1d4dcfff73a 100644 --- a/Dockerfile.debian +++ b/Dockerfile.debian @@ -11,13 +11,28 @@ ADD go.sum go.sum RUN --mount=type=cache,target=/root/.cache \ --mount=type=cache,target=/tmp/go-build \ --mount=type=cache,target=/go/pkg/mod \ - go mod tidy + go mod download ADD . . RUN --mount=type=cache,target=/root/.cache \ --mount=type=cache,target=/tmp/go-build \ --mount=type=cache,target=/go/pkg/mod \ - make all db-tools + make all + + +FROM docker.io/library/golang:1.19-alpine3.16 AS tools-builder + +RUN apk --no-cache add build-base linux-headers git bash ca-certificates libstdc++ +WORKDIR /app + +ADD Makefile Makefile +ADD tools.go tools.go +ADD go.mod go.mod +ADD go.sum go.sum + +RUN mkdir -p /app/build/bin + +RUN make db-tools FROM docker.io/library/debian:bullseye @@ -38,12 +53,12 @@ RUN mkdir -p ~/.local/share/erigon # copy compiled artifacts from builder ## first do the mdbx ones - since these wont change as often -COPY --from=builder /app/build/bin/mdbx_chk /usr/local/bin/mdbx_chk -COPY --from=builder /app/build/bin/mdbx_copy /usr/local/bin/mdbx_copy -COPY --from=builder /app/build/bin/mdbx_drop /usr/local/bin/mdbx_drop -COPY --from=builder /app/build/bin/mdbx_dump /usr/local/bin/mdbx_dump -COPY --from=builder /app/build/bin/mdbx_load /usr/local/bin/mdbx_load -COPY --from=builder /app/build/bin/mdbx_stat /usr/local/bin/mdbx_stat +COPY --from=tools-builder /app/build/bin/mdbx_chk /usr/local/bin/mdbx_chk +COPY --from=tools-builder /app/build/bin/mdbx_copy /usr/local/bin/mdbx_copy +COPY --from=tools-builder /app/build/bin/mdbx_drop /usr/local/bin/mdbx_drop +COPY --from=tools-builder /app/build/bin/mdbx_dump /usr/local/bin/mdbx_dump +COPY --from=tools-builder /app/build/bin/mdbx_load /usr/local/bin/mdbx_load +COPY --from=tools-builder /app/build/bin/mdbx_stat /usr/local/bin/mdbx_stat ## then give each binary its own layer COPY --from=builder /app/build/bin/devnet /usr/local/bin/devnet diff --git a/core/blockchain.go b/core/blockchain.go index 653b413c512..7fa0caf5d72 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -185,6 +185,7 @@ func ExecuteBlockEphemerallyForBSC( return nil, fmt.Errorf("mismatched receipt headers for block %d (%s != %s)", block.NumberU64(), receiptSha.Hex(), block.ReceiptHash().Hex()) } } + if !vmConfig.StatelessExec && newBlock.GasUsed() != header.GasUsed { return nil, fmt.Errorf("gas used by execution: %d, in header: %d, in new Block: %v", *usedGas, header.GasUsed, newBlock.GasUsed()) } From 57dec065fd2a6a554a42fc4645ffea36e32920c3 Mon Sep 17 00:00:00 2001 From: a Date: Fri, 16 Dec 2022 15:24:48 -0600 Subject: [PATCH 3/5] remove mount for mod download --- Dockerfile | 5 +-- Dockerfile.debian | 5 +-- "\\" | 102 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+), 8 deletions(-) create mode 100644 "\\" diff --git a/Dockerfile b/Dockerfile index c0fdbcd7e92..8dcac9ee398 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,10 +7,7 @@ WORKDIR /app ADD go.mod go.mod ADD go.sum go.sum -RUN --mount=type=cache,target=/root/.cache \ - --mount=type=cache,target=/tmp/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - go mod download +RUN go mod download ADD . . RUN --mount=type=cache,target=/root/.cache \ diff --git a/Dockerfile.debian b/Dockerfile.debian index 1d4dcfff73a..c4e98538ba0 100644 --- a/Dockerfile.debian +++ b/Dockerfile.debian @@ -8,10 +8,7 @@ WORKDIR /app ADD go.mod go.mod ADD go.sum go.sum -RUN --mount=type=cache,target=/root/.cache \ - --mount=type=cache,target=/tmp/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - go mod download +RUN go mod download ADD . . RUN --mount=type=cache,target=/root/.cache \ diff --git "a/\\" "b/\\" new file mode 100644 index 00000000000..8dcac9ee398 --- /dev/null +++ "b/\\" @@ -0,0 +1,102 @@ +# syntax = docker/dockerfile:1.2 +FROM docker.io/library/golang:1.19-alpine3.16 AS builder + +RUN apk --no-cache add build-base linux-headers git bash ca-certificates libstdc++ + +WORKDIR /app +ADD go.mod go.mod +ADD go.sum go.sum + +RUN go mod download +ADD . . + +RUN --mount=type=cache,target=/root/.cache \ + --mount=type=cache,target=/tmp/go-build \ + --mount=type=cache,target=/go/pkg/mod \ + make all + + +FROM docker.io/library/golang:1.19-alpine3.16 AS tools-builder +RUN apk --no-cache add build-base linux-headers git bash ca-certificates libstdc++ +WORKDIR /app + +ADD Makefile Makefile +ADD tools.go tools.go +ADD go.mod go.mod +ADD go.sum go.sum + +RUN mkdir -p /app/build/bin + +RUN make db-tools + +FROM docker.io/library/alpine:3.16 + +# install required runtime libs, along with some helpers for debugging +RUN apk add --no-cache ca-certificates libstdc++ tzdata +RUN apk add --no-cache curl jq bind-tools + +# Setup user and group +# +# from the perspective of the container, uid=1000, gid=1000 is a sensible choice +# (mimicking Ubuntu Server), but if caller creates a .env (example in repo root), +# these defaults will get overridden when make calls docker-compose +ARG UID=1000 +ARG GID=1000 +RUN adduser -D -u $UID -g $GID erigon +USER erigon +RUN mkdir -p ~/.local/share/erigon + +# copy compiled artifacts from builder +## first do the mdbx ones - since these wont change as often +COPY --from=tools-builder /app/build/bin/mdbx_chk /usr/local/bin/mdbx_chk +COPY --from=tools-builder /app/build/bin/mdbx_copy /usr/local/bin/mdbx_copy +COPY --from=tools-builder /app/build/bin/mdbx_drop /usr/local/bin/mdbx_drop +COPY --from=tools-builder /app/build/bin/mdbx_dump /usr/local/bin/mdbx_dump +COPY --from=tools-builder /app/build/bin/mdbx_load /usr/local/bin/mdbx_load +COPY --from=tools-builder /app/build/bin/mdbx_stat /usr/local/bin/mdbx_stat + +## then give each binary its own layer +COPY --from=builder /app/build/bin/devnet /usr/local/bin/devnet +COPY --from=builder /app/build/bin/downloader /usr/local/bin/downloader +COPY --from=builder /app/build/bin/erigon /usr/local/bin/erigon +COPY --from=builder /app/build/bin/erigon-cl /usr/local/bin/erigon-cl +COPY --from=builder /app/build/bin/evm /usr/local/bin/evm +COPY --from=builder /app/build/bin/hack /usr/local/bin/hack +COPY --from=builder /app/build/bin/integration /usr/local/bin/integration +COPY --from=builder /app/build/bin/lightclient /usr/local/bin/lightclient +COPY --from=builder /app/build/bin/observer /usr/local/bin/observer +COPY --from=builder /app/build/bin/pics /usr/local/bin/pics +COPY --from=builder /app/build/bin/rpcdaemon /usr/local/bin/rpcdaemon +COPY --from=builder /app/build/bin/rpctest /usr/local/bin/rpctest +COPY --from=builder /app/build/bin/sentinel /usr/local/bin/sentinel +COPY --from=builder /app/build/bin/sentry /usr/local/bin/sentry +COPY --from=builder /app/build/bin/state /usr/local/bin/state +COPY --from=builder /app/build/bin/txpool /usr/local/bin/txpool +COPY --from=builder /app/build/bin/verkle /usr/local/bin/verkle + + + +EXPOSE 8545 \ + 8551 \ + 8546 \ + 30303 \ + 30303/udp \ + 42069 \ + 42069/udp \ + 8080 \ + 9090 \ + 6060 + +# https://github.com/opencontainers/image-spec/blob/main/annotations.md +ARG BUILD_DATE +ARG VCS_REF +ARG VERSION +LABEL org.label-schema.build-date=$BUILD_DATE \ + org.label-schema.description="Erigon Ethereum Client" \ + org.label-schema.name="Erigon" \ + org.label-schema.schema-version="1.0" \ + org.label-schema.url="https://torquem.ch" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/ledgerwatch/erigon.git" \ + org.label-schema.vendor="Torquem" \ + org.label-schema.version=$VERSION From 9a93e88d699d45616bb2723ae95f6e2065c61be0 Mon Sep 17 00:00:00 2001 From: a Date: Fri, 16 Dec 2022 15:24:58 -0600 Subject: [PATCH 4/5] remove bad file --- "\\" | 102 ----------------------------------------------------------- 1 file changed, 102 deletions(-) delete mode 100644 "\\" diff --git "a/\\" "b/\\" deleted file mode 100644 index 8dcac9ee398..00000000000 --- "a/\\" +++ /dev/null @@ -1,102 +0,0 @@ -# syntax = docker/dockerfile:1.2 -FROM docker.io/library/golang:1.19-alpine3.16 AS builder - -RUN apk --no-cache add build-base linux-headers git bash ca-certificates libstdc++ - -WORKDIR /app -ADD go.mod go.mod -ADD go.sum go.sum - -RUN go mod download -ADD . . - -RUN --mount=type=cache,target=/root/.cache \ - --mount=type=cache,target=/tmp/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - make all - - -FROM docker.io/library/golang:1.19-alpine3.16 AS tools-builder -RUN apk --no-cache add build-base linux-headers git bash ca-certificates libstdc++ -WORKDIR /app - -ADD Makefile Makefile -ADD tools.go tools.go -ADD go.mod go.mod -ADD go.sum go.sum - -RUN mkdir -p /app/build/bin - -RUN make db-tools - -FROM docker.io/library/alpine:3.16 - -# install required runtime libs, along with some helpers for debugging -RUN apk add --no-cache ca-certificates libstdc++ tzdata -RUN apk add --no-cache curl jq bind-tools - -# Setup user and group -# -# from the perspective of the container, uid=1000, gid=1000 is a sensible choice -# (mimicking Ubuntu Server), but if caller creates a .env (example in repo root), -# these defaults will get overridden when make calls docker-compose -ARG UID=1000 -ARG GID=1000 -RUN adduser -D -u $UID -g $GID erigon -USER erigon -RUN mkdir -p ~/.local/share/erigon - -# copy compiled artifacts from builder -## first do the mdbx ones - since these wont change as often -COPY --from=tools-builder /app/build/bin/mdbx_chk /usr/local/bin/mdbx_chk -COPY --from=tools-builder /app/build/bin/mdbx_copy /usr/local/bin/mdbx_copy -COPY --from=tools-builder /app/build/bin/mdbx_drop /usr/local/bin/mdbx_drop -COPY --from=tools-builder /app/build/bin/mdbx_dump /usr/local/bin/mdbx_dump -COPY --from=tools-builder /app/build/bin/mdbx_load /usr/local/bin/mdbx_load -COPY --from=tools-builder /app/build/bin/mdbx_stat /usr/local/bin/mdbx_stat - -## then give each binary its own layer -COPY --from=builder /app/build/bin/devnet /usr/local/bin/devnet -COPY --from=builder /app/build/bin/downloader /usr/local/bin/downloader -COPY --from=builder /app/build/bin/erigon /usr/local/bin/erigon -COPY --from=builder /app/build/bin/erigon-cl /usr/local/bin/erigon-cl -COPY --from=builder /app/build/bin/evm /usr/local/bin/evm -COPY --from=builder /app/build/bin/hack /usr/local/bin/hack -COPY --from=builder /app/build/bin/integration /usr/local/bin/integration -COPY --from=builder /app/build/bin/lightclient /usr/local/bin/lightclient -COPY --from=builder /app/build/bin/observer /usr/local/bin/observer -COPY --from=builder /app/build/bin/pics /usr/local/bin/pics -COPY --from=builder /app/build/bin/rpcdaemon /usr/local/bin/rpcdaemon -COPY --from=builder /app/build/bin/rpctest /usr/local/bin/rpctest -COPY --from=builder /app/build/bin/sentinel /usr/local/bin/sentinel -COPY --from=builder /app/build/bin/sentry /usr/local/bin/sentry -COPY --from=builder /app/build/bin/state /usr/local/bin/state -COPY --from=builder /app/build/bin/txpool /usr/local/bin/txpool -COPY --from=builder /app/build/bin/verkle /usr/local/bin/verkle - - - -EXPOSE 8545 \ - 8551 \ - 8546 \ - 30303 \ - 30303/udp \ - 42069 \ - 42069/udp \ - 8080 \ - 9090 \ - 6060 - -# https://github.com/opencontainers/image-spec/blob/main/annotations.md -ARG BUILD_DATE -ARG VCS_REF -ARG VERSION -LABEL org.label-schema.build-date=$BUILD_DATE \ - org.label-schema.description="Erigon Ethereum Client" \ - org.label-schema.name="Erigon" \ - org.label-schema.schema-version="1.0" \ - org.label-schema.url="https://torquem.ch" \ - org.label-schema.vcs-ref=$VCS_REF \ - org.label-schema.vcs-url="https://github.com/ledgerwatch/erigon.git" \ - org.label-schema.vendor="Torquem" \ - org.label-schema.version=$VERSION From 2232ae6cf3d4c78c932255158f5538bf089b3f14 Mon Sep 17 00:00:00 2001 From: a Date: Fri, 16 Dec 2022 15:32:23 -0600 Subject: [PATCH 5/5] ch --- core/blockchain.go | 1 - 1 file changed, 1 deletion(-) diff --git a/core/blockchain.go b/core/blockchain.go index 7fa0caf5d72..653b413c512 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -185,7 +185,6 @@ func ExecuteBlockEphemerallyForBSC( return nil, fmt.Errorf("mismatched receipt headers for block %d (%s != %s)", block.NumberU64(), receiptSha.Hex(), block.ReceiptHash().Hex()) } } - if !vmConfig.StatelessExec && newBlock.GasUsed() != header.GasUsed { return nil, fmt.Errorf("gas used by execution: %d, in header: %d, in new Block: %v", *usedGas, header.GasUsed, newBlock.GasUsed()) }