File tree Expand file tree Collapse file tree 2 files changed +78
-0
lines changed Expand file tree Collapse file tree 2 files changed +78
-0
lines changed Original file line number Diff line number Diff line change
1
+
2
+ ### Build Reth From Git:
3
+ ## Pulls reth from a git repository and builds it from source.
4
+
5
+ ## Builder stage: Compiles reth from a git repository
6
+ FROM rust:latest as builder
7
+
8
+ ARG github=paradigmxyz/reth
9
+ ARG tag=main
10
+
11
+ RUN apt-get update && apt-get install -y libclang-dev pkg-config build-essential \
12
+ && echo "Cloning: $github - $tag" \
13
+ && git clone --depth 1 --branch $tag https://github.com/$github reth \
14
+ && cd reth && cargo build --release \
15
+ && cp target/release/reth /usr/local/bin/reth
16
+
17
+ ## Final stage: Sets up the environment for running reth
18
+ FROM debian:latest
19
+ RUN apt-get update && apt-get install -y bash curl jq \
20
+ && apt-get clean && rm -rf /var/lib/apt/lists/*
21
+
22
+ # Copy compiled binary from builder
23
+ COPY --from=builder /usr/local/bin/reth /usr/local/bin/reth
24
+
25
+ # Add genesis mapper script, startup script, and enode URL retriever script
26
+ COPY genesis.json /genesis.json
27
+ COPY mapper.jq /mapper.jq
28
+ COPY reth.sh /reth.sh
29
+ COPY enode.sh /hive-bin/enode.sh
30
+
31
+ # Set execute permissions for scripts
32
+ RUN chmod +x /reth.sh /hive-bin/enode.sh
33
+
34
+ # Create version.txt
35
+ RUN /usr/local/bin/reth --version | head -1 > /version.txt
36
+
37
+ # Export the usual networking ports
38
+ EXPOSE 8545 8546 30303 30303/udp
39
+
40
+ ENTRYPOINT ["/reth.sh"]
Original file line number Diff line number Diff line change
1
+ ### Build Reth Locally:
2
+ ## Requires a copy of <reth>/ -> hive/clients/reth/<reth>
3
+
4
+ ## Builder stage: Compiles reth from a git repository
5
+ FROM rust:latest as builder
6
+
7
+ # Default local client path: clients/reth/<reth>
8
+ ARG local_path=reth
9
+ COPY $local_path reth
10
+
11
+ RUN apt-get update && apt-get install -y libclang-dev pkg-config build-essential \
12
+ && cd reth && cargo build --release \
13
+ && cp target/release/reth /usr/local/bin/reth
14
+
15
+ ## Final stage: Sets up the environment for running reth
16
+ FROM debian:latest
17
+ RUN apt-get update && apt-get install -y bash curl jq \
18
+ && apt-get clean && rm -rf /var/lib/apt/lists/*
19
+
20
+ # Copy compiled binary from builder
21
+ COPY --from=builder /usr/local/bin/reth /usr/local/bin/reth
22
+
23
+ # Add genesis mapper script, startup script, and enode URL retriever script
24
+ COPY genesis.json /genesis.json
25
+ COPY mapper.jq /mapper.jq
26
+ COPY reth.sh /reth.sh
27
+ COPY enode.sh /hive-bin/enode.sh
28
+
29
+ # Set execute permissions for scripts
30
+ RUN chmod +x /reth.sh /hive-bin/enode.sh
31
+
32
+ # Create version.txt
33
+ RUN /usr/local/bin/reth --version | head -1 > /version.txt
34
+
35
+ # Export the usual networking ports
36
+ EXPOSE 8545 8546 30303 30303/udp
37
+
38
+ ENTRYPOINT ["/reth.sh"]
You can’t perform that action at this time.
0 commit comments