diff --git a/evm-utils/evm-bridge/DOCKER.MD b/evm-utils/evm-bridge/DOCKER.MD new file mode 100644 index 0000000000..2f7109c833 --- /dev/null +++ b/evm-utils/evm-bridge/DOCKER.MD @@ -0,0 +1,11 @@ +# Build and run Velas Subchain Bridge using Docker + +```bash +docker build -f bridge-subchain.dockerfile -t velas-subchain-bridge . +# TODO: docker cp keypair.json velas-subchain-bridge:/velas-chain/keypair.json +docker run -it \ + -e VELAS_RPC_URL="http://api.devnet.velas.com" \ + -e BRIDGE_BIND_ADDRESS="0.0.0.1:8545" \ + -e SUBCHAIN_ID="57005" \ + velas-subchain-bridge:latest +``` diff --git a/evm-utils/evm-bridge/bridge-subchain.dockerfile b/evm-utils/evm-bridge/bridge-subchain.dockerfile new file mode 100644 index 0000000000..3a5dafc696 --- /dev/null +++ b/evm-utils/evm-bridge/bridge-subchain.dockerfile @@ -0,0 +1,50 @@ +#--------------------------- +# * BUILD STAGE +#--------------------------- + +FROM ubuntu:22.04 AS builder + +RUN apt-get update && apt-get install -y \ + git \ + curl \ + build-essential \ + libssl-dev \ + pkg-config \ + libudev-dev \ + pkg-config \ + zlib1g-dev \ + llvm \ + clang \ + make \ + cmake \ + protobuf-compiler + +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none + +ENV PATH="/root/.cargo/bin:${PATH}" + +# NOTE: branch is set to zeta +RUN git clone --branch zeta --depth 1 https://github.com/velas/velas-chain.git + +WORKDIR /velas-chain + +RUN cargo build --release --package evm-bridge + +#--------------------------- +# * EXEC STAGE +#--------------------------- + +FROM ubuntu:22.04 + +RUN mkdir /velas-chain + +COPY --from=builder /velas-chain/target/release/evm-bridge /velas-chain + +WORKDIR /velas-chain + +ENV KEYPAIR="/opt/bridge/keypair.json" +ENV VELAS_RPC_URL="http://api.devnet.velas.com" +ENV BRIDGE_BIND_ADDRESS="0.0.0.0:8545" +ENV SUBCHAIN_ID="57005" + +CMD ["sh", "-c", "./evm-bridge $KEYPAIR $VELAS_RPC_URL $BRIDGE_BIND_ADDRESS $SUBCHAIN_ID --subchain --no-simulate --borsh-encoding"] \ No newline at end of file