-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Replica not in sync with mainnet.optimism.io #877
Copy link
Copy link
Closed
Description
Describe the bug
A transaction deploying a contract to mainnet.optimism.io was done (0xa8aa13df617039192ec6507aff76ea88a3f16e725b28105813fb545e23ca50ef) - When querying from mainnet.optimism.io I can see that the transaction receipt is valid with status 0x1, however on my replica the transaction receipt returns 0x0.
To Reproduce
Steps to reproduce the behavior:
- Clone
developbranch - yarn, yarn build, make l2geth
- I am using the below settings for the .env and startup script for l2geth (likely I might be missing something obvious on these)
.env
Details
DATA_TRANSPORT_LAYER__DB_PATH=./db
DATA_TRANSPORT_LAYER__SERVER_HOSTNAME=0.0.0.0
DATA_TRANSPORT_LAYER__SERVER_PORT=7878
DATA_TRANSPORT_LAYER__ADDRESS_MANAGER=0x668E5b997b9aE88a56cd40409119d4Db9e6d752E
DATA_TRANSPORT_LAYER__L1_START_HEIGHT=12410727
DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT=<L1 URL>
DATA_TRANSPORT_LAYER__CONFIRMATIONS=20
DATA_TRANSPORT_LAYER__POLLING_INTERVAL=5000
DATA_TRANSPORT_LAYER__LOGS_PER_POLLING_INTERVAL=2000
DATA_TRANSPORT_LAYER__SYNC_FROM_L1=false
DATA_TRANSPORT_LAYER__SYNC_FROM_L2=true
DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT=https://mainnet.optimism.io
DATA_TRANSPORT_LAYER__L2_CHAIN_ID=10
DATA_TRANSPORT_LAYER__TRANSACTIONS_PER_POLLING_INTERVAL=1000
DATA_TRANSPORT_LAYER__DANGEROUSLY_CATCH_ALL_ERRORS=true
DATA_TRANSPORT_LAYER__LEGACY_SEQUENCER_COMPATIBILITY=false
DATA_TRANSPORT_LAYER__STOP_L2_SYNC_AT_BLOCK=9007199254740991
DATA_TRANSPORT_LAYER__DEFAULT_BACKEND=l2
L1_NODE_WEB3_URL=<L1 URL>
start.sh
Details
#!/bin/bash
IS_VERIFIER=TRUE
DATADIR=c:/Optimism/node
ETH1_CHAIN_ID=1
TARGET_GAS_LIMIT=9000000
CHAIN_ID=10
ETH1_CTC_DEPLOYMENT_HEIGHT=12410807
ETH1_L1_GATEWAY_ADDRESS=0xe681F80966a8b1fFadECf8068bD6F99034791c95
ETH1_L1_CROSS_DOMAIN_MESSENGER_ADDRESS=0x902e5fF5A99C4eC1C21bbab089fdabE32EF0A5DF
ADDRESS_MANAGER_OWNER_ADDRESS=0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A
ROLLUP_STATE_DUMP_PATH=https://storage.googleapis.com/optimism/mainnet/4.json
ROLLUP_CLIENT_HTTP=http://localhost:7878
ROLLUP_POLL_INTERVAL=1s
ROLLUP_TIMESTAMP_REFRESH=3m
CACHE=1024
RPC_PORT=8545
VERBOSITY=3
USAGE="
Start the Sequencer or Verifier with most configuration pre-set.
CLI Arguments:
-h|--help - help message
-v|--verifier - start in verifier mode
--datadir - data directory to use
--chainid - layer two chain id to use, must match contracts on L1
--eth1.chainid - eth1 chain id
--eth1.ctcdeploymentheight - eth1 ctc deploy height
--eth1.l1crossdomainmessengeraddress - eth1 l1 xdomain messenger address
--eth1.ctcdeploymentheight - eth1 ctc deployment height
--rollup.statedumppath - http path to the initial state dump
--rollup.clienthttp - rollup client http
--rollup.pollinterval - polling interval for the rollup client
--rollup.timestamprefresh - timestamp refresh interval
--cache - geth cache size
--targetgaslimit - gas per block
"
while (( "$#" )); do
case "$1" in
-h|--help)
echo "$USAGE"
exit 0
;;
-v|--verifier)
IS_VERIFIER=true
shift 1
;;
--verbosity)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
VERBOSITY="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--datadir)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
DATADIR="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--chainid)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
CHAIN_ID="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--rpcport)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
RPC_PORT="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--eth1.chainid)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
ETH1_CHAIN_ID="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--eth1.ctcdeploymentheight)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
ETH1_CTC_DEPLOYMENT_HEIGHT="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--eth1.l1gatewayaddress)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
ETH1_L1_GATEWAY_ADDRESS="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--eth1.l1crossdomainmessengeraddress)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
ETH1_L1_CROSS_DOMAIN_MESSENGER_ADDRESS="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--eth1.ctcdeploymentheight)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
ADDRESS_MANAGER_OWNER_ADDRESS="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--rollup.statedumppath)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
ROLLUP_STATE_DUMP_PATH="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--rollup.clienthttp)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
ROLLUP_CLIENT_HTTP="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--rollup.pollinterval)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
ROLLUP_POLL_INTERVAL="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--rollup.timestamprefresh)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
ROLLUP_TIMESTAMP_REFRESH="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--cache)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
CACHE="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
--targetgaslimit)
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
TARGET_GASLIMIT="$2"
shift 2
else
echo "Error: Argument for $1 is missing" >&2
exit 1
fi
;;
*)
echo "Unknown argument $1" >&2
shift
;;
esac
done
cmd="./geth.exe"
cmd="$cmd --eth1.syncservice"
cmd="$cmd --datadir $DATADIR"
cmd="$cmd --rollup.maxcalldatasize=40000"
cmd="$cmd --eth1.chainid $ETH1_CHAIN_ID"
cmd="$cmd --networkid $CHAIN_ID"
cmd="$cmd --eth1.l1crossdomainmessengeraddress $ETH1_L1_CROSS_DOMAIN_MESSENGER_ADDRESS"
cmd="$cmd --rollup.addressmanagerowneraddress $ADDRESS_MANAGER_OWNER_ADDRESS"
cmd="$cmd --rollup.statedumppath $ROLLUP_STATE_DUMP_PATH"
cmd="$cmd --eth1.ctcdeploymentheight $ETH1_CTC_DEPLOYMENT_HEIGHT"
if [[ ! -z $ETH1_L1_GATEWAY_ADDRESS ]]; then
cmd="$cmd --eth1.l1ethgatewayaddress $ETH1_L1_GATEWAY_ADDRESS"
fi
cmd="$cmd --rollup.clienthttp $ROLLUP_CLIENT_HTTP"
cmd="$cmd --rollup.pollinterval $ROLLUP_POLL_INTERVAL"
cmd="$cmd --rollup.timestamprefresh $ROLLUP_TIMESTAMP_REFRESH"
cmd="$cmd --cache $CACHE"
cmd="$cmd --rpc"
cmd="$cmd --dev"
cmd="$cmd --chainid $CHAIN_ID"
cmd="$cmd --rpcaddr 0.0.0.0"
cmd="$cmd --rpcport $RPC_PORT"
cmd="$cmd --rpcvhosts '*'"
cmd="$cmd --rpccorsdomain '*'"
cmd="$cmd --rpcvhosts '*'"
cmd="$cmd --wsaddr 0.0.0.0"
cmd="$cmd --wsport 8546"
cmd="$cmd --wsorigins '*'"
cmd="$cmd --rpcapi 'eth,net,rollup,web3,debug'"
cmd="$cmd --gasprice 0"
cmd="$cmd --nousb"
cmd="$cmd --gcmode=archive"
cmd="$cmd --ipcdisable"
if [[ ! -z "$IS_VERIFIER" ]]; then
cmd="$cmd --rollup.verifier"
fi
cmd="$cmd --verbosity=$VERBOSITY"
echo -e "Running:\nTARGET_GAS_LIMIT=$TARGET_GAS_LIMIT USING_OVM=true $cmd"
eval env TARGET_GAS_LIMIT=$TARGET_GAS_LIMIT USING_OVM=true $cmd
- Query for transaction receipt on 0xa8aa13df617039192ec6507aff76ea88a3f16e725b28105813fb545e23ca50ef
Currently still digging about to see what else I may be missing... Any ideas will be very much appreciated 🙇
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels

