Skip to content

Commit 75689b2

Browse files
committed
chore: refactor evm-single entrypoint
1 parent 897a1ad commit 75689b2

File tree

4 files changed

+101
-40
lines changed

4 files changed

+101
-40
lines changed

apps/evm/single/docker-compose.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ services:
1414
volumes:
1515
- ./chain:/root/chain:ro
1616
- ./jwttoken:/root/jwt:ro
17-
- logs:/root/logs
17+
- reth:/home/reth/eth-home
1818
entrypoint: /bin/sh -c
1919
command:
2020
- |
2121
lumen node \
2222
--chain /root/chain/genesis.json \
23+
--datadir /home/reth/eth-home \
2324
--metrics 0.0.0.0:9001 \
24-
--log.file.directory /root/logs \
2525
--authrpc.addr 0.0.0.0 \
2626
--authrpc.port 8551 \
2727
--authrpc.jwtsecret /root/jwt/jwt.hex \
@@ -52,7 +52,7 @@ services:
5252
- rollkit-network
5353

5454
rollkit-evm-single:
55-
image: ghcr.io/rollkit/rollkit-evm-single:pr-2394
55+
image: ghcr.io/rollkit/rollkit-evm-single:main
5656
depends_on:
5757
rollkit-reth:
5858
condition: service_started
@@ -75,9 +75,8 @@ services:
7575
- rollkit-network
7676

7777
volumes:
78-
logs:
79-
driver: local
8078
evm-single-data:
79+
reth:
8180

8281
networks:
8382
rollkit-network:

apps/evm/single/entrypoint.sh

100644100755
Lines changed: 91 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,105 @@
11
#!/bin/sh
22
set -e
33

4-
cd /usr/bin
4+
# Function to extract --home value from arguments
5+
get_home_dir() {
6+
home_dir="$HOME/.evm-single"
57

6-
sleep 5
8+
# Parse arguments to find --home
9+
while [ $# -gt 0 ]; do
10+
case "$1" in
11+
--home)
12+
if [ -n "$2" ]; then
13+
home_dir="$2"
14+
break
15+
fi
16+
;;
17+
--home=*)
18+
home_dir="${1#--home=}"
19+
break
20+
;;
21+
esac
22+
shift
23+
done
724

8-
# Create default rollkit config if missing
9-
if [ ! -f "$HOME/.evm-single/config/signer.json" ]; then
10-
./evm-single init --rollkit.node.aggregator=true --rollkit.signer.passphrase $EVM_SIGNER_PASSPHRASE
25+
echo "$home_dir"
26+
}
27+
28+
# Get the home directory (either from --home flag or default)
29+
CONFIG_HOME=$(get_home_dir "$@")
30+
31+
if [ ! -f "$CONFIG_HOME/config/node_key.json" ]; then
32+
33+
# Build init flags array
34+
init_flags="--home=$CONFIG_HOME"
35+
36+
# Add required flags if environment variables are set
37+
if [ -n "$EVM_SIGNER_PASSPHRASE" ]; then
38+
init_flags="$init_flags --rollkit.node.aggregator=true --rollkit.signer.passphrase $EVM_SIGNER_PASSPHRASE"
39+
fi
40+
41+
INIT_COMMAND="evm-single init $init_flags"
42+
echo "Create default config with command:"
43+
echo "$INIT_COMMAND"
44+
$INIT_COMMAND
45+
fi
46+
47+
48+
# Build start flags array
49+
default_flags="--home=$CONFIG_HOME"
50+
51+
# Add required flags if environment variables are set
52+
if [ -n "$EVM_JWT_SECRET" ]; then
53+
default_flags="$default_flags --evm.jwt-secret $EVM_JWT_SECRET"
54+
fi
55+
56+
if [ -n "$EVM_GENESIS_HASH" ]; then
57+
default_flags="$default_flags --evm.genesis-hash $EVM_GENESIS_HASH"
58+
fi
59+
60+
if [ -n "$EVM_ENGINE_URL" ]; then
61+
default_flags="$default_flags --evm.engine-url $EVM_ENGINE_URL"
62+
fi
63+
64+
if [ -n "$EVM_ETH_URL" ]; then
65+
default_flags="$default_flags --evm.eth-url $EVM_ETH_URL"
66+
fi
67+
68+
if [ -n "$EVM_BLOCK_TIME" ]; then
69+
default_flags="$default_flags --rollkit.node.block_time $EVM_BLOCK_TIME"
70+
fi
71+
72+
if [ -n "$EVM_SIGNER_PASSPHRASE" ]; then
73+
default_flags="$default_flags --rollkit.node.aggregator=true --rollkit.signer.passphrase $EVM_SIGNER_PASSPHRASE"
1174
fi
1275

13-
# Conditionally add --rollkit.da.address if ROLLKIT_DA_ADDRESS is set
14-
da_flag=""
76+
# Conditionally add DA-related flags
1577
if [ -n "$DA_ADDRESS" ]; then
16-
da_flag="--rollkit.da.address $DA_ADDRESS"
78+
default_flags="$default_flags --rollkit.da.address $DA_ADDRESS"
1779
fi
1880

19-
# Conditionally add --rollkit.da.auth_token if ROLLKIT_DA_AUTH_TOKEN is set
20-
da_auth_token_flag=""
2181
if [ -n "$DA_AUTH_TOKEN" ]; then
22-
da_auth_token_flag="--rollkit.da.auth_token $DA_AUTH_TOKEN"
82+
default_flags="$default_flags --rollkit.da.auth_token $DA_AUTH_TOKEN"
2383
fi
2484

25-
# Conditionally add --rollkit.da.namespace if ROLLKIT_DA_NAMESPACE is set
26-
da_namespace_flag=""
2785
if [ -n "$DA_NAMESPACE" ]; then
28-
da_namespace_flag="--rollkit.da.namespace $DA_NAMESPACE"
29-
fi
30-
31-
exec ./evm-single start \
32-
--evm.jwt-secret $EVM_JWT_SECRET \
33-
--evm.genesis-hash $EVM_GENESIS_HASH \
34-
--evm.engine-url $EVM_ENGINE_URL \
35-
--evm.eth-url $EVM_ETH_URL \
36-
--rollkit.node.block_time $EVM_BLOCK_TIME \
37-
--rollkit.node.aggregator=true \
38-
--rollkit.signer.passphrase $EVM_SIGNER_PASSPHRASE \
39-
$da_flag \
40-
$da_auth_token_flag \
41-
$da_namespace_flag
86+
default_flags="$default_flags --rollkit.da.namespace $DA_NAMESPACE"
87+
fi
88+
89+
# If no arguments passed, show help
90+
if [ $# -eq 0 ]; then
91+
exec evm-single
92+
fi
93+
94+
# If first argument is "start", apply default flags
95+
if [ "$1" = "start" ]; then
96+
shift
97+
START_COMMAND=exec evm-single start $default_flags
98+
echo "Create default config with command:"
99+
echo "$START_COMMAND \"$@\""
100+
exec $START_COMMAND "$@"
101+
102+
else
103+
# For any other command/subcommand, pass through directly
104+
exec evm-single "$@"
105+
fi

execution/evm/docker/docker-compose-full-node.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,16 @@ services:
3434
volumes:
3535
- ./chain:/root/chain:ro
3636
- ./jwttoken:/root/jwt:ro
37-
- logs-full-node:/root/logs
37+
- reth:/home/reth/eth-home
3838
environment:
3939
- RUST_LOG=warn,lumen_rollkit=info
4040
entrypoint: /bin/sh -c
4141
command:
4242
- |
4343
lumen node \
4444
--chain /root/chain/genesis.json \
45+
--datadir /home/reth/eth-home \
4546
--metrics 0.0.0.0:9001 \
46-
--log.file.directory /root/logs \
4747
--authrpc.addr 0.0.0.0 \
4848
--authrpc.port 8551 \
4949
--authrpc.jwtsecret /root/jwt/jwt.hex \
@@ -64,5 +64,4 @@ services:
6464
--rollkit.enable
6565
6666
volumes:
67-
logs-full-node:
68-
driver: local
67+
reth:

execution/evm/docker/docker-compose.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,16 @@ services:
3434
volumes:
3535
- ./chain:/root/chain:ro
3636
- ./jwttoken:/root/jwt:ro
37-
- logs:/root/logs
37+
- reth:/home/reth/eth-home
3838
environment:
3939
- RUST_LOG=warn,lumen_rollkit=info
4040
entrypoint: /bin/sh -c
4141
command:
4242
- |
4343
lumen node \
4444
--chain /root/chain/genesis.json \
45+
--datadir /home/reth/eth-home \
4546
--metrics 0.0.0.0:9001 \
46-
--log.file.directory /root/logs \
4747
--authrpc.addr 0.0.0.0 \
4848
--authrpc.port 8551 \
4949
--authrpc.jwtsecret /root/jwt/jwt.hex \
@@ -64,5 +64,4 @@ services:
6464
--rollkit.enable
6565
6666
volumes:
67-
logs:
68-
driver: local
67+
reth:

0 commit comments

Comments
 (0)