Skip to content

Commit e1ce64e

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

2 files changed

Lines changed: 92 additions & 28 deletions

File tree

apps/evm/single/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

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+
echo "Create default config with command:"
42+
INIT_COMMAND="evm-single init $init_flags"
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+
echo "Create default config with command:"
98+
START_COMMAND=exec evm-single start $default_flags
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

0 commit comments

Comments
 (0)