add optimism
This commit is contained in:
48
optimism-archive.yml
Normal file
48
optimism-archive.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
version: '3.1'
|
||||
|
||||
services:
|
||||
optimism-dtl:
|
||||
image: ethereumoptimism/data-transport-layer:${IMAGE_TAG__DTL:-latest}
|
||||
restart: unless-stopped
|
||||
entrypoint:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- "/scripts/dtl-start.sh"
|
||||
env_file:
|
||||
- ./optimism/env/dtl.env
|
||||
- .env
|
||||
volumes:
|
||||
- optimism-dtl:/db
|
||||
- ./optimism/scripts/:/scripts/
|
||||
environment:
|
||||
- "SYNC_SOURCE=l1"
|
||||
- "DATA_TRANSPORT_LAYER__RPC_ENDPOINT=${OPTIMISM_L1_URL}"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
optimism-l2geth:
|
||||
image: ethereumoptimism/l2geth:${IMAGE_TAG__L2GETH:-latest}
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
entrypoint:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- "/scripts/l2geth-init.sh && /scripts/l2geth-start.sh"
|
||||
env_file:
|
||||
- ./omptimism/env/l2geth.env
|
||||
- .env
|
||||
volumes:
|
||||
- optimism-geth:/geth
|
||||
- ./optimism/scripts/:/scripts/
|
||||
expose:
|
||||
- 9991 # http
|
||||
- 9992 # ws
|
||||
environment:
|
||||
- "NODE_TYPE=archive"
|
||||
- "SYNC_SOURCE=l1"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
optimism-dtl:
|
||||
optimism-geth:
|
||||
16
optimism/env/dtl.env
vendored
Normal file
16
optimism/env/dtl.env
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
DATA_TRANSPORT_LAYER__ADDRESS_MANAGER=0xdE1FCfB0851916CA5101820A69b13a4E276bd81F
|
||||
DATA_TRANSPORT_LAYER__L1_START_HEIGHT=13596466
|
||||
DATA_TRANSPORT_LAYER__CONFIRMATIONS=12
|
||||
DATA_TRANSPORT_LAYER__DANGEROUSLY_CATCH_ALL_ERRORS=true
|
||||
DATA_TRANSPORT_LAYER__DB_PATH=/db
|
||||
DATA_TRANSPORT_LAYER__ENABLE_METRICS=true
|
||||
DATA_TRANSPORT_LAYER__ETH_NETWORK_NAME=mainnet
|
||||
DATA_TRANSPORT_LAYER__L2_CHAIN_ID=10
|
||||
DATA_TRANSPORT_LAYER__LOGS_PER_POLLING_INTERVAL=2000
|
||||
DATA_TRANSPORT_LAYER__NODE_ENV=production
|
||||
DATA_TRANSPORT_LAYER__POLLING_INTERVAL=500
|
||||
DATA_TRANSPORT_LAYER__SENTRY_TRACE_RATE=0.05
|
||||
DATA_TRANSPORT_LAYER__SERVER_HOSTNAME=0.0.0.0
|
||||
DATA_TRANSPORT_LAYER__SERVER_PORT=7878
|
||||
DATA_TRANSPORT_LAYER__TRANSACTIONS_PER_POLLING_INTERVAL=1000
|
||||
39
optimism/env/l2geth.env
vendored
Normal file
39
optimism/env/l2geth.env
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
###############################################################################
|
||||
# ↓ OPTIMISM OPTIONS ↓ #
|
||||
###############################################################################
|
||||
|
||||
USING_OVM=true
|
||||
SEQUENCER_CLIENT_HTTP=https://mainnet.optimism.io
|
||||
BLOCK_SIGNER_ADDRESS=0x00000398232E2064F896018496b4b44b3D62751F
|
||||
BLOCK_SIGNER_PRIVATE_KEY=6587ae678cf4fc9a33000cdbf9f35226b71dcc6a4684a31203241f9bcfd55d27
|
||||
BLOCK_SIGNER_PRIVATE_KEY_PASSWORD=pwd
|
||||
ETH1_CTC_DEPLOYMENT_HEIGHT=13596466
|
||||
ETH1_SYNC_SERVICE_ENABLE=true
|
||||
L2GETH_GENESIS_URL=https://storage.googleapis.com/optimism/mainnet/genesis-berlin.json
|
||||
L2GETH_GENESIS_HASH=0x106b0a3247ca54714381b1109e82cc6b7e32fd79ae56fbcc2e7b1541122f84ea
|
||||
ROLLUP_CLIENT_HTTP=http://optimism-dtl:7878
|
||||
ROLLUP_MAX_CALLDATA_SIZE=40000
|
||||
ROLLUP_POLL_INTERVAL_FLAG=1s
|
||||
ROLLUP_VERIFIER_ENABLE=true
|
||||
|
||||
###############################################################################
|
||||
# ↓ STANDARD OPTIONS ↓ #
|
||||
###############################################################################
|
||||
|
||||
DATADIR=/geth
|
||||
CHAIN_ID=10
|
||||
NETWORK_ID=10
|
||||
NO_DISCOVER=true
|
||||
NO_USB=true
|
||||
GASPRICE=0
|
||||
TARGET_GAS_LIMIT=15000000
|
||||
RPC_ADDR=0.0.0.0
|
||||
RPC_API=eth,rollup,net,web3,debug
|
||||
RPC_CORS_DOMAIN=*
|
||||
RPC_ENABLE=true
|
||||
RPC_PORT=8545
|
||||
RPC_VHOSTS=*
|
||||
WS_ADDR=0.0.0.0
|
||||
WS_API=eth,rollup,net,web3,debug
|
||||
WS_ORIGINS=*
|
||||
WS=true
|
||||
24
optimism/scripts/dlt-start.sh
Normal file
24
optimism/scripts/dlt-start.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
set -eou
|
||||
|
||||
# Setting both endpoints doesn't hurt
|
||||
export DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT=$DATA_TRANSPORT_LAYER__RPC_ENDPOINT
|
||||
export DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT=$DATA_TRANSPORT_LAYER__RPC_ENDPOINT
|
||||
|
||||
# Set the backend depending on given sync source
|
||||
export DATA_TRANSPORT_LAYER__DEFAULT_BACKEND=$SYNC_SOURCE
|
||||
export DATA_TRANSPORT_LAYER__L1_GAS_PRICE_BACKEND=$SYNC_SOURCE
|
||||
|
||||
# Also tell the DTL to sync from the right place
|
||||
if [ $SYNC_SOURCE == "l1" ]; then
|
||||
export DATA_TRANSPORT_LAYER__SYNC_FROM_L1=true
|
||||
export DATA_TRANSPORT_LAYER__SYNC_FROM_L2=false
|
||||
else
|
||||
export DATA_TRANSPORT_LAYER__SYNC_FROM_L1=false
|
||||
export DATA_TRANSPORT_LAYER__SYNC_FROM_L2=true
|
||||
fi
|
||||
|
||||
# Run the DTL
|
||||
exec node \
|
||||
dist/src/services/run.js \
|
||||
$@
|
||||
29
optimism/scripts/l2geth-init.sh
Normal file
29
optimism/scripts/l2geth-init.sh
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
set -exu
|
||||
|
||||
echo running "${0}"
|
||||
|
||||
GETH_DATA_DIR=/geth
|
||||
GETH_CHAINDATA_DIR=$GETH_DATA_DIR/geth/chaindata
|
||||
GETH_KEYSTORE_DIR=$GETH_DATA_DIR/keystore
|
||||
|
||||
if [ ! -d "$GETH_KEYSTORE_DIR" ]; then
|
||||
echo "$GETH_KEYSTORE_DIR missing, running account import"
|
||||
echo -n "$BLOCK_SIGNER_PRIVATE_KEY_PASSWORD" > "$GETH_DATA_DIR"/password
|
||||
echo -n "$BLOCK_SIGNER_PRIVATE_KEY" > "$GETH_DATA_DIR"/block-signer-key
|
||||
geth account import \
|
||||
--datadir="$GETH_DATA_DIR" \
|
||||
--password="$GETH_DATA_DIR"/password \
|
||||
"$GETH_DATA_DIR"/block-signer-key
|
||||
echo "get account import complete"
|
||||
fi
|
||||
|
||||
if [ ! -d "$GETH_CHAINDATA_DIR" ]; then
|
||||
echo "$GETH_CHAINDATA_DIR missing, running init"
|
||||
geth init --datadir="$GETH_DATA_DIR" "$L2GETH_GENESIS_URL" "$L2GETH_GENESIS_HASH"
|
||||
echo "geth init complete"
|
||||
else
|
||||
echo "$GETH_CHAINDATA_DIR exists, checking for hardfork."
|
||||
echo "Chain config:"
|
||||
geth dump-chain-cfg --datadir="$GETH_DATA_DIR"
|
||||
fi
|
||||
21
optimism/scripts/l2geth-start.sh
Normal file
21
optimism/scripts/l2geth-start.sh
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
set -eou
|
||||
|
||||
# Set rollup backend to match sync source
|
||||
export ROLLUP_BACKEND=$SYNC_SOURCE
|
||||
|
||||
# Run geth
|
||||
exec geth \
|
||||
--vmodule=eth/*=5,miner=4,rpc=5,rollup=4,consensus/clique=1 \
|
||||
--datadir=$DATADIR \
|
||||
--password=$DATADIR/password \
|
||||
--allow-insecure-unlock \
|
||||
--unlock=$BLOCK_SIGNER_ADDRESS \
|
||||
--mine \
|
||||
--miner.etherbase=$BLOCK_SIGNER_ADDRESS \
|
||||
--gcmode=$NODE_TYPE \
|
||||
# --metrics \
|
||||
# --metrics.influxdb \
|
||||
# --metrics.influxdb.endpoint=http://influxdb:8086 \
|
||||
# --metrics.influxdb.database=l2geth \
|
||||
$@
|
||||
Reference in New Issue
Block a user