From aeadc16cf0d3af9f54a8f9bcb19ae8c4d6495433 Mon Sep 17 00:00:00 2001 From: Maksim Vykhota Date: Sun, 15 Jun 2025 19:30:59 +0300 Subject: [PATCH 1/2] Feature(evm-bridge): Dockerize brigde --- evm-utils/evm-bridge/DOCKER.MD | 11 ++++ .../evm-bridge/bridge-subchain.dockerfile | 50 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 evm-utils/evm-bridge/DOCKER.MD create mode 100644 evm-utils/evm-bridge/bridge-subchain.dockerfile 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..802f427fc4 --- /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 + +# TODO: cp keypair.json /velas-chain +ENV VELAS_RPC_URL="http://api.devnet.velas.com" +ENV BRIDGE_BIND_ADDRESS="0.0.0.1:8545" +ENV SUBCHAIN_ID="57005" + +CMD ["sh", "-c", "./evm-bridge ./keypair.json $VELAS_RPC_URL $BRIDGE_BIND_ADDRESS $SUBCHAIN_ID --subchain --no-simulate --borsh-encoding"] \ No newline at end of file From 09936f4c59259a447c57ec35f162605825d58ec7 Mon Sep 17 00:00:00 2001 From: Maksim Vykhota Date: Mon, 28 Jul 2025 20:38:18 +0300 Subject: [PATCH 2/2] Fix env vars --- evm-utils/evm-bridge/bridge-subchain.dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/evm-utils/evm-bridge/bridge-subchain.dockerfile b/evm-utils/evm-bridge/bridge-subchain.dockerfile index 802f427fc4..3a5dafc696 100644 --- a/evm-utils/evm-bridge/bridge-subchain.dockerfile +++ b/evm-utils/evm-bridge/bridge-subchain.dockerfile @@ -42,9 +42,9 @@ COPY --from=builder /velas-chain/target/release/evm-bridge /velas-chain WORKDIR /velas-chain -# TODO: cp keypair.json /velas-chain +ENV KEYPAIR="/opt/bridge/keypair.json" ENV VELAS_RPC_URL="http://api.devnet.velas.com" -ENV BRIDGE_BIND_ADDRESS="0.0.0.1:8545" +ENV BRIDGE_BIND_ADDRESS="0.0.0.0:8545" ENV SUBCHAIN_ID="57005" -CMD ["sh", "-c", "./evm-bridge ./keypair.json $VELAS_RPC_URL $BRIDGE_BIND_ADDRESS $SUBCHAIN_ID --subchain --no-simulate --borsh-encoding"] \ No newline at end of file +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