fixturenet-optimism-stack/container-build/cerc-optimism-contracts/Dockerfile

25 lines
674 B
Docker
Raw Normal View History

Port over optimism stack and update to use latest releases (#1) Part of [Update Optimism stack to use Bedrock release](https://www.notion.so/Update-Optimism-stack-to-use-Bedrock-release-e44a490247724a6095a9fbc19fba3bcd) Requires [Add an option to allow unprotected txs in geth](https://git.vdb.to/cerc-io/fixturenet-eth-stacks/pulls/8) - Port over existing `fixturenet-optimism` stack components from SO - Use external [fixturenet-eth](https://git.vdb.to/cerc-io/fixturenet-eth-stacks/src/branch/main/stack-orchestrator/stacks/fixturenet-eth) stack for L1 - Use latest Optimism releases ([optimism@v1.7.4](https://github.com/ethereum-optimism/optimism/releases/tag/v1.7.4) and [op-geth@v1.101311.0](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101311.0)) - Update Optimism L1 contracts deployment script - Update L2 genesis generation - Remove override on L1 script to allow unprotected txs and unlock an account - `fixturenet-eth` stack itself now has an option to allow unprotected txs; the raw tx bytes for create2 proxy contract deployment from Optimism docs is not `EIP155` compatible - Use pk of funded account for txs instead of unlocking it - Add updated instructions - Use upstream [foundry](https://github.com/foundry-rs/foundry/pkgs/container/foundry/209507574?tag=nightly-267e14fab654d9ce955dce64c0eb09f01c8538ee) as base image for `cerc/optimism-contracts` container - Support for arm64/Apple Silicon to be handled in a follow-on PR Reviewed-on: https://git.vdb.to/cerc-io/fixturenet-optimism-stack/pulls/1 Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com> Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-05-07 04:18:02 +00:00
# TODO: Make work for arm64/Apple Silicon
FROM ghcr.io/foundry-rs/foundry:nightly-267e14fab654d9ce955dce64c0eb09f01c8538ee
RUN apk update
# Install node (use edge repo to get latest version)
RUN apk add --update --no-cache curl wget bash git busybox jq openssl \
&& apk add nodejs --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/main --allow-untrusted \
&& apk add npm \
&& node -v
# Add corepack for yarn and pnpm
RUN npm install -g corepack && corepack enable \
&& yarn --version
WORKDIR /app
# Copy optimism repo contents
COPY . .
RUN echo "Building optimism" && \
pnpm install && pnpm build
WORKDIR /app/packages/contracts-bedrock