diff --git a/Dockerfile b/Dockerfile index c685199..6a646fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.20 as builder +FROM golang:1.21 as builder RUN git clone https://github.com/protolambda/eth2-testnet-genesis.git \ && cd eth2-testnet-genesis \ && go install . \ @@ -11,12 +11,17 @@ VOLUME ["/config", "/data"] EXPOSE 8000/tcp RUN apt-get update && \ apt-get install --no-install-recommends -y \ - ca-certificates build-essential python3 python3-dev python3-pip gettext-base jq wget && \ + ca-certificates build-essential python3 python3-dev python3-pip gettext-base jq wget curl && \ + curl -LsSf https://astral.sh/uv/install.sh | sh && \ apt-get autoremove -y && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* + COPY apps /apps -RUN cd /apps/el-gen && pip3 install --break-system-packages -r requirements.txt + +ENV PATH="/root/.cargo/bin:${PATH}" + +RUN cd /apps/el-gen && uv venv && uv pip install -r requirements.txt COPY --from=builder /go/bin/eth2-testnet-genesis /usr/local/bin/eth2-testnet-genesis COPY --from=builder /go/bin/eth2-val-tools /usr/local/bin/eth2-val-tools COPY --from=builder /go/bin/zcli /usr/local/bin/zcli diff --git a/apps/el-gen/requirements.txt b/apps/el-gen/requirements.txt index 72b7421..70a6d51 100644 --- a/apps/el-gen/requirements.txt +++ b/apps/el-gen/requirements.txt @@ -1,2 +1,3 @@ ruamel.yaml==0.17.16 -web3==6.14.0 +web3>=6.15.0 +setuptools>=69.1.0 diff --git a/entrypoint.sh b/entrypoint.sh index d66cef6..dda0cf9 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -5,6 +5,7 @@ SERVER_PORT="${SERVER_PORT:-8000}" WITHDRAWAL_ADDRESS="${WITHDRAWAL_ADDRESS:-0xf97e180c050e5Ab072211Ad2C213Eb5AEE4DF134}" gen_shared_files(){ + . /apps/el-gen/.venv/bin/activate set -x # Shared files mkdir -p /data/custom_config_data @@ -19,6 +20,7 @@ gen_shared_files(){ } gen_el_config(){ + . /apps/el-gen/.venv/bin/activate set -x if ! [ -f "/data/custom_config_data/genesis.json" ]; then tmp_dir=$(mktemp -d -t ci-XXXXXXXXXX) @@ -33,6 +35,7 @@ gen_el_config(){ } gen_cl_config(){ + . /apps/el-gen/.venv/bin/activate set -x # Consensus layer: Check if genesis already exists if ! [ -f "/data/custom_config_data/genesis.ssz" ]; then