@@ -6,9 +6,11 @@ LIFECYCLE_HOOK_NAME=${_LIFECYCLE_HOOK_NAME_}
6
6
AUTOSCALING_GROUP_NAME=${_AUTOSCALING_GROUP_NAME_}
7
7
RESOURCE_ID=${_NODE_CF_LOGICAL_ID_}
8
8
ASSETS_S3_PATH=${_ASSETS_S3_PATH_}
9
- echo " LIFECYCLE_HOOK_NAME=$LIFECYCLE_HOOK_NAME " >> /etc/environment
10
- echo " AUTOSCALING_GROUP_NAME=$AUTOSCALING_GROUP_NAME " >> /etc/environment
11
- echo " ASSETS_S3_PATH=$ASSETS_S3_PATH " >> /etc/environment
9
+ {
10
+ echo " LIFECYCLE_HOOK_NAME=$LIFECYCLE_HOOK_NAME "
11
+ echo " AUTOSCALING_GROUP_NAME=$AUTOSCALING_GROUP_NAME "
12
+ echo " ASSETS_S3_PATH=$ASSETS_S3_PATH "
13
+ } >> /etc/environment
12
14
13
15
arch=$( uname -m)
14
16
@@ -55,19 +57,22 @@ unzip -q awscliv2.zip
55
57
rm /usr/bin/aws
56
58
ln /usr/local/bin/aws /usr/bin/aws
57
59
58
- aws configure set default.s3.max_concurrent_requests 50
59
- aws configure set default.s3.multipart_chunksize 256MB
60
-
61
60
echo ' Installing SSM Agent'
62
61
yum install -y $SSM_AGENT_BINARY_URI
63
62
64
- echo " Installing s5cmd"
65
- cd /opt
66
- wget -q $S5CMD_URI -O s5cmd.tar.gz
67
- tar -xf s5cmd.tar.gz
68
- chmod +x s5cmd
69
- mv s5cmd /usr/bin
70
- s5cmd version
63
+ # install aria2 a p2p downloader
64
+
65
+ if [ " $arch " == " x86_64" ]; then
66
+ wget https://github.com/q3aql/aria2-static-builds/releases/download/v1.36.0/aria2-1.36.0-linux-gnu-64bit-build1.tar.bz2
67
+ tar jxvf aria2-1.36.0-linux-gnu-64bit-build1.tar.bz2
68
+ cd aria2-1.36.0-linux-gnu-64bit-build1/
69
+ make install
70
+ else
71
+ wget https://github.com/q3aql/aria2-static-builds/releases/download/v1.36.0/aria2-1.36.0-linux-gnu-arm-rbpi-build1.tar.bz2
72
+ tar jxvf aria2-1.36.0-linux-gnu-arm-rbpi-build1.tar.bz2
73
+ cd aria2-1.36.0-linux-gnu-arm-rbpi-build1/
74
+ make install
75
+ fi
71
76
72
77
# Base specific setup starts here
73
78
@@ -77,13 +82,19 @@ STACK_NAME=${_STACK_NAME_}
77
82
RESTORE_FROM_SNAPSHOT=${_RESTORE_FROM_SNAPSHOT_}
78
83
FORMAT_DISK=${_FORMAT_DISK_}
79
84
NETWORK_ID=${_NETWORK_ID_}
85
+ NODE_CONFIG=${_NODE_CONFIG_}
80
86
L1_EXECUTION_ENDPOINT=${_L1_EXECUTION_ENDPOINT_}
81
87
L1_CONSENSUS_ENDPOINT=${_L1_CONSENSUS_ENDPOINT_}
88
+ SNAPSHOT_URL=${_SNAPSHOT_URL_}
82
89
83
- echo " REGION=$REGION " >> /etc/environment
84
- echo " NETWORK_ID=$NETWORK_ID " >> /etc/environment
85
- echo " L1_EXECUTION_ENDPOINT=$L1_EXECUTION_ENDPOINT " >> /etc/environment
86
- echo " L1_CONSENSUS_ENDPOINT=$L1_CONSENSUS_ENDPOINT " >> /etc/environment
90
+ {
91
+ echo " REGION=$REGION "
92
+ echo " NETWORK_ID=$NETWORK_ID "
93
+ echo " NODE_CONFIG=$NODE_CONFIG "
94
+ echo " L1_EXECUTION_ENDPOINT=$L1_EXECUTION_ENDPOINT "
95
+ echo " L1_CONSENSUS_ENDPOINT=$L1_CONSENSUS_ENDPOINT "
96
+ echo " SNAPSHOT_URL=$SNAPSHOT_URL "
97
+ } >> /etc/environment
87
98
88
99
GIT_URL=https://github.com/base-org/node.git
89
100
SYNC_CHECKER_FILE_NAME=syncchecker-base.sh
@@ -147,16 +158,42 @@ echo "Configuring node"
147
158
148
159
case $NETWORK_ID in
149
160
" mainnet" )
150
- sed -i " s#OP_NODE_L1_ETH_RPC=https://1rpc.io/eth#OP_NODE_L1_ETH_RPC=$L1_EXECUTION_ENDPOINT #g" /home/bcuser/node/.env.mainnet
161
+ OP_CONFIG_FILE_PATH=/home/bcuser/node/.env.mainnet
162
+ ;;
163
+ " sepolia" )
164
+ OP_CONFIG_FILE_PATH=/home/bcuser/node/.env.sepolia
165
+ ;;
166
+ * )
167
+ echo " Network id is not valid."
168
+ exit 1
169
+ ;;
170
+ esac
171
+
172
+ case $NODE_CONFIG in
173
+ " full" )
174
+ echo " OP_GETH_GCMODE=full" >> $OP_CONFIG_FILE_PATH
175
+ ;;
176
+ " archive" )
177
+ echo " OP_GETH_GCMODE=archive" >> $OP_CONFIG_FILE_PATH
178
+ ;;
179
+ * )
180
+ echo " Network id is not valid."
181
+ exit 1
182
+ ;;
183
+ esac
184
+
185
+ case $NETWORK_ID in
186
+ " mainnet" )
187
+ sed -i " s#OP_NODE_L1_ETH_RPC=https://1rpc.io/eth#OP_NODE_L1_ETH_RPC=$L1_EXECUTION_ENDPOINT #g" $OP_CONFIG_FILE_PATH
151
188
sed -i ' /.env.mainnet/s/^#//g' /home/bcuser/node/docker-compose.yml
152
- sed -i ' /OP_NODE_L1_BEACON/s/^#//g' /home/bcuser/node/.env.mainnet
153
- sed -i " s#OP_NODE_L1_BEACON=https://your.mainnet.beacon.node/endpoint-here#OP_NODE_L1_BEACON=$L1_CONSENSUS_ENDPOINT #g" /home/bcuser/node/.env.mainnet
189
+ sed -i ' /OP_NODE_L1_BEACON/s/^#//g' $OP_CONFIG_FILE_PATH
190
+ sed -i " s#OP_NODE_L1_BEACON=https://your.mainnet.beacon.node/endpoint-here#OP_NODE_L1_BEACON=$L1_CONSENSUS_ENDPOINT #g" $OP_CONFIG_FILE_PATH
154
191
;;
155
192
" sepolia" )
156
- sed -i " s#OP_NODE_L1_ETH_RPC=https://rpc.sepolia.org#OP_NODE_L1_ETH_RPC=$L1_EXECUTION_ENDPOINT #g" /home/bcuser/node/.env.sepolia
193
+ sed -i " s#OP_NODE_L1_ETH_RPC=https://rpc.sepolia.org#OP_NODE_L1_ETH_RPC=$L1_EXECUTION_ENDPOINT #g" $OP_CONFIG_FILE_PATH
157
194
sed -i " /.env.sepolia/s/^#//g" /home/bcuser/node/docker-compose.yml
158
- sed -i ' /OP_NODE_L1_BEACON/s/^#//g' /home/bcuser/node/.env.sepolia
159
- sed -i " s#OP_NODE_L1_BEACON=https://your.sepolia.beacon.node/endpoint-here#OP_NODE_L1_BEACON=$L1_CONSENSUS_ENDPOINT #g" /home/bcuser/node/.env.sepolia
195
+ sed -i ' /OP_NODE_L1_BEACON/s/^#//g' $OP_CONFIG_FILE_PATH
196
+ sed -i " s#OP_NODE_L1_BEACON=https://your.sepolia.beacon.node/endpoint-here#OP_NODE_L1_BEACON=$L1_CONSENSUS_ENDPOINT #g" $OP_CONFIG_FILE_PATH
160
197
;;
161
198
* )
162
199
echo " Network id is not valid."
@@ -217,8 +254,8 @@ if [ "$RESTORE_FROM_SNAPSHOT" == "false" ]; then
217
254
echo " sudo su bcuser && /usr/local/bin/docker-compose -f /home/bcuser/node/docker-compose.yml up -d" | at now +3 minutes
218
255
else
219
256
echo " Restoring data from snapshot"
220
- chmod 766 /opt/restore -from-snapshot.sh
221
- echo " /opt/restore -from-snapshot.sh" | at now +3 minutes
257
+ chmod 766 /opt/start -from-snapshot.sh
258
+ echo " /opt/start -from-snapshot.sh" | at now +3 minutes
222
259
fi
223
260
224
261
echo " All Done!!"
0 commit comments