Files
ethereum-rpc-docker/op-bnb/scripts/op-geth-start.sh
2024-03-29 05:01:34 +01:00

67 lines
2.6 KiB
Bash
Executable File

#!/bin/sh
set -eou
apk add wget
if [ "$NETWORK_NAME" == "testnet" ]; then
if [ ! -f $BEDROCK_DATADIR/genesis.json ]; then
wget -O $BEDROCK_DATADIR/genesis.json https://raw.githubusercontent.com/bnb-chain/opbnb/develop/assets/testnet/genesis.json
else
echo "genesis.json exists."
fi
export P2P_BOOTNODES="enr:-KO4QKFOBDW--pF4pFwv3Al_jiLOITj_Y5mr1Ajyy2yxHpFtNcBfkZEkvWUxAKXQjWALZEFxYHooU88JClyzA00e8YeGAYtBOOZig2V0aMfGhE0ZYGqAgmlkgnY0gmlwhDREiqaJc2VjcDI1NmsxoQM8pC_6wwTr5N2Q-yXQ1KGKsgz9i9EPLk8Ata65pUyYG4RzbmFwwIN0Y3CCdl-DdWRwgnZf,enr:-KO4QFJc0KR09ye818GT2kyN9y6BAGjhz77sYimxn85jJf2hOrNqg4X0b0EsS-_ssdkzVpavqh6oMX7W5Y81xMRuEayGAYtBSiK9g2V0aMfGhE0ZYGqAgmlkgnY0gmlwhANzx96Jc2VjcDI1NmsxoQPwA1XHfWGd4umIt7j3Fc7hKq_35izIWT_9yiN_tX8lR4RzbmFwwIN0Y3CCdl-DdWRwgnZf"
fi
if [ "$NETWORK_NAME" == "mainnet" ]; then
if [ ! -f $BEDROCK_DATADIR/genesis.json ]; then
wget -O $BEDROCK_DATADIR/genesis.json https://raw.githubusercontent.com/bnb-chain/opbnb/develop/assets/mainnet/genesis.json
else
echo "genesis.json exists."
fi
export P2P_BOOTNODES="enr:-KO4QHs5qh_kPFcjMgqkuN9dbxXT4C5Cjad4SAheaUxveCbJQ3XdeMMDHeHilHyqisyYQAByfdhzyKAdUp2SvyzWeBqGAYvRDf80g2V0aMfGhHFtSjqAgmlkgnY0gmlwhDaykUmJc2VjcDI1NmsxoQJUevTL3hJwj21IT2GC6VaNqVQEsJFPtNtO-ld5QTNCfIRzbmFwwIN0Y3CCdl-DdWRwgnZf,enr:-KO4QKIByq-YMjs6IL2YCNZEmlo3dKWNOy4B6sdqE3gjOrXeKdNbwZZGK_JzT1epqCFs3mujjg2vO1lrZLzLy4Rl7PyGAYvRA8bEg2V0aMfGhHFtSjqAgmlkgnY0gmlwhDbjSM6Jc2VjcDI1NmsxoQNQhJ5pqCPnTbK92gEc2F98y-u1OgZVAI1Msx-UiHezY4RzbmFwwIN0Y3CCdl-DdWRwgnZf"
fi
if [ ! -d $BEDROCK_DATADIR/geth ]; then
exec geth --datadir $BEDROCK_DATADIR init $BEDROCK_DATADIR/genesis.json
else
echo "$BEDROCK_DATADIR/geth exists."
fi
# Start op-geth.
exec geth \
--datadir="$BEDROCK_DATADIR" \
--verbosity=3 \
--http \
--http.corsdomain="*" \
--http.vhosts="*" \
--http.addr=0.0.0.0 \
--http.port=8545 \
--http.api=net,eth,engine \
--ws \
--ws.addr=0.0.0.0 \
--ws.port=8545 \
--ws.origins="*" \
--ws.api=eth,engine \
--maxpeers=10 \
--syncmode=${OP_GETH_SYNCMODE:-full} \
--gcmode=${OP_GETH_GCMODE:-archive} \
--db.engine=${OP_GETH_DB_ENGINE:-leveldb} \
--state.scheme=${OP_GETH_STATE_SCHEME:-hash} \
--networkid=$CHAIN_ID \
--miner.gaslimit=150000000 \
--txpool.globalslots=10000 \
--txpool.globalqueue=5000 \
--cache 6000 \
--cache.preimages \
--allow-insecure-unlock \
--authrpc.addr="0.0.0.0" \
--authrpc.port="8551" \
--authrpc.vhosts="*" \
--authrpc.jwtsecret=/jwtsecret \
--gcmode=archive \
--metrics \
--metrics.port 6060 \
--metrics.addr 0.0.0.0 \
--syncmode=full \
--bootnodes=$P2P_BOOTNODES \
--rollup.sequencerhttp=$L2_RPC