op-replica's People
Forkers
annieke k-ho pleasecoding iakisme roo-shy smartcontracts mikeywith huy-ha cryptomanufaktur-io mslipper inphiop-replica's Issues
sync err
what this meanings and somet i can do?the after is op-replica_l2geth-replica_1`s error logs
Verifier cannot sync transactions with BackendL2: Verifier cannot sync transactions with backend l2: Cannot sync transactions with backend l2: cannot fetch transaction 1022007: cannot fetch transaction: json: cannot unmarshal number -28 into Go struct field signature.transaction.decoded.sig.v of type uint?
Nonce too high error.
Starting today I suddenly keep getting this error when running my node.
l2geth-replica_1 | INFO [03-06|16:38:55.310] Syncing transaction range start=4175326 end=4177162 backend=l2
l2geth-replica_1 | DEBUG[03-06|16:38:55.311] Applying transaction to tip index=4175326 hash=0xd25d9918fe9d7927d6c14d41c5f925480c48dd985d0e3bb0377199caf226ee55 origin=sequencer
l2geth-replica_1 | DEBUG[03-06|16:38:55.312] Attempting to commit rollup transaction hash=0xd25d9918fe9d7927d6c14d41c5f925480c48dd985d0e3bb0377199caf226ee55
l2geth-replica_1 | ERROR[03-06|16:38:55.312] Problem committing transaction msg="nonce too high"
l2geth-replica_1 | ERROR[03-06|16:38:55.312] Got error waiting for transaction to be added to chain msg="nonce too high"
l2geth-replica_1 | ERROR[03-06|16:38:55.312] Could not verify error="Verifier cannot sync transactions with BackendL2: Verifier cannot sync transactions with backend l2: Cannot sync transactions with backend l2: Cannot apply transaction: nonce too high"
l2geth-replica_1 | DEBUG[03-06|16:38:55.755] Served eth_getBlockByNumber conn=172.19.0.3:59580 reqid=863 t=132.468µs
l2geth-replica_1 | INFO [03-06|16:38:56.310] Syncing transaction range start=4175326 end=4177163 backend=l2
l2geth-replica_1 | DEBUG[03-06|16:38:56.311] Applying transaction to tip index=4175326 hash=0xd25d9918fe9d7927d6c14d41c5f925480c48dd985d0e3bb0377199caf226ee55 origin=sequencer
l2geth-replica_1 | DEBUG[03-06|16:38:56.311] Attempting to commit rollup transaction hash=0xd25d9918fe9d7927d6c14d41c5f925480c48dd985d0e3bb0377199caf226ee55
l2geth-replica_1 | ERROR[03-06|16:38:56.312] Problem committing transaction msg="nonce too high"
l2geth-replica_1 | ERROR[03-06|16:38:56.312] Got error waiting for transaction to be added to chain msg="nonce too high"
l2geth-replica_1 | ERROR[03-06|16:38:56.312] Could not verify error="Verifier cannot sync transactions with BackendL2: Verifier cannot sync transactions with backend l2: Cannot sync transactions with backend l2: Cannot apply transaction: nonce too high"
l2geth-replica_1 | DEBUG[03-06|16:38:56.760] Served eth_getBlockByNumber conn=172.19.0.3:59582 reqid=864 t=171.777µs
l2geth-replica_1 | INFO [03-06|16:38:57.309] Syncing transaction range start=4175326 end=4177163 backend=l2
l2geth-replica_1 | DEBUG[03-06|16:38:57.311] Applying transaction to tip index=4175326 hash=0xd25d9918fe9d7927d6c14d41c5f925480c48dd985d0e3bb0377199caf226ee55 origin=sequencer
l2geth-replica_1 | DEBUG[03-06|16:38:57.311] Attempting to commit rollup transaction hash=0xd25d9918fe9d7927d6c14d41c5f925480c48dd985d0e3bb0377199caf226ee55
l2geth-replica_1 | ERROR[03-06|16:38:57.312] Problem committing transaction msg="nonce too high"
l2geth-replica_1 | ERROR[03-06|16:38:57.312] Got error waiting for transaction to be added to chain msg="nonce too high"
l2geth-replica_1 | ERROR[03-06|16:38:57.312] Could not verify error="Verifier cannot sync transactions with BackendL2: Verifier cannot sync transactions with backend l2: Cannot sync transactions with backend l2: Cannot apply transaction: nonce too high"
l2geth-replica_1 | DEBUG[03-06|16:38:57.764] Served eth_getBlockByNumber conn=172.19.0.3:59584 reqid=865 t=165.284µs
I am running an Optimism replica node, cloned op-replica and everything worked fine for weeks, until suddenly today when I rebooted, I got all these error.
Anyone any idea what could have gone wrong?
l2geth memory usage over 64G
The .env context
L1_RPC_ENDPOINT=* DTL_IMAGE_TAG=0.4.4 DTL_PORT=7879 ETH_NETWORK=kovan ETH_NETWORK_RPC_PROVIDER=https://kovan.optimism.io ETH_REPLICA_RPC_PROVIDER=http://localhost:9991 L2GETH_HTTP_PORT=9991 L2GETH_IMAGE_TAG=0.4.7
l2geth have some many logs like this:
`
INFO [08-10|09:43:15.832] New block index=10528 l1-timestamp=1623949464 l1-blocknumber=25541022 tx-hash=0xe81a557b253532a37ff338dbdd9c9d77bf8408fdc08ef61c3acab604a1333a7d queue-orign=sequencer gas=760728 fees=1.141092e-05 elapsed=11.365ms
INFO [08-10|09:43:15.856] New block index=10529 l1-timestamp=1623949464 l1-blocknumber=25541022 tx-hash=0x724d3272130a293fc5adcd8047b74d456a566f22f47fe576b985a97ab94ab892 queue-orign=sequencer gas=760728 fees=1.141092e-05 elapsed=21.296ms
INFO [08-10|09:43:15.871] New block index=10530 l1-timestamp=1623949464 l1-blocknumber=25541022 tx-hash=0x00cb6352b00f1aa78576a8b626b27b0ed4bdf567b72e5ffe328899e335939c8d queue-orign=sequencer gas=760728 fees=1.141092e-05 elapsed=9.115ms
`
And the l2geth's memory usage raised slowly till 64G, then my host crashed down by OOM
Update kovan/dtl.env to use sequencer endpoint
Currently pointing to kovan.optimism.io instead of kovan-sequencer.optimism.io
Dtl not syncing
I followed the steps in the documentation to build the replica, but the dtl component never seems to sync:
dtl_1 | {"level":30,"time":1629107573675,"msg":"Service is initializing..."}
dtl_1 | {"level":30,"time":1629107573675,"msg":"Service has initialized."}
dtl_1 | {"level":30,"time":1629107573675,"msg":"Service has initialized."}
dtl_1 | {"level":30,"time":1629107573675,"msg":"Service is starting..."}
dtl_1 | {"level":30,"time":1629107573675,"msg":"Service is starting..."}
dtl_1 | {"level":30,"time":1629107573677,"host":"0.0.0.0","port":7878,"msg":"Server started and listening"}
dtl_1 | {"level":30,"time":1629107573678,"msg":"Service has started"}
dtl_1 | {"level":30,"time":1629107580958,"fromBlock":1,"toBlock":1001,"msg":"Synchronizing unconfirmed transactions from Layer 2 (Optimistic Ethereum)"}
dtl_1 | {"level":30,"time":1629109792706,"msg":"Service is starting..."}
dtl_1 | {"level":30,"time":1629109792707,"msg":"Service is initializing..."}
dtl_1 | {"level":30,"time":1629109792707,"msg":"Initializing L1 Data Transport Service..."}
dtl_1 | {"level":30,"time":1629109792719,"msg":"Service is initializing..."}
dtl_1 | {"level":30,"time":1629109792725,"defaultBackend":"l2","l1GasPriceBackend":"l2","msg":"HTTP Server Options"}
dtl_1 | {"level":30,"time":1629109792725,"url":"https://mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161","msg":"HTTP Server L1 RPC Provider initialized"}
dtl_1 | {"level":30,"time":1629109792725,"url":"https://mainnet.optimism.io","msg":"HTTP Server L2 RPC Provider initialized"}
dtl_1 | {"level":30,"time":1629109792725,"msg":"Service has initialized."}
dtl_1 | {"level":30,"time":1629109792725,"msg":"Service is initializing..."}
dtl_1 | {"level":30,"time":1629109792725,"msg":"Service has initialized."}
dtl_1 | {"level":30,"time":1629109792726,"msg":"Service has initialized."}
dtl_1 | {"level":30,"time":1629109792726,"msg":"Service is starting..."}
dtl_1 | {"level":30,"time":1629109792726,"msg":"Service is starting..."}
dtl_1 | {"level":30,"time":1629109792728,"host":"0.0.0.0","port":7878,"msg":"Server started and listening"}
dtl_1 | {"level":30,"time":1629109792729,"msg":"Service has started"}
dtl_1 | {"level":30,"time":1629109809839,"method":"GET","url":"/eth/context/latest","elapsed":2086,"msg":"Served HTTP Request"}
Wrong hash
Using https://kovan.optimism.io/ as rpc end point, call eth_getBlockByNumber:
{
"jsonrpc":"2.0",
"method":"eth_getBlockByNumber",
"params":[
"0x2",
true
],
"id":1
}
will get:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"difficulty": "0x2",
"extraData": "0xd68301090a846765746886676f312e3136856c696e75780000000000000000001cc85645877d41a934a0a3ed0ec6f3369f41b394b7ef61fa32e3ddca6ed171437f0139c3975d4633fbad271b0609eb03fc449d07254ff86c47c2b0fd7410647101",
"gasLimit": "0xa7d8c0",
"gasUsed": "0x1dda15",
"hash": "0x49f0dd5f976f3ffc2bd0a2dd5aa01efc2575ac59b266edd4d162e7853abcdfc9",
"logsBloom": "0x00080000000000000000000000000000000000000000000000040000008000000000000004040000000000100000000100000000000200000000000000000000100000000000000000020008002000000000000001000000000000400100000000000000000000000000000000000000400000000400000000000010100020000000000000800000000000000000000000000480022020000000000000000000000000001000000000000000000000000000000400040000000000000000000000000002000000000000000000000008000000000000000000000000000000000000000010000008000000000000000000010000000000000000000001000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x2",
"parentHash": "0x8cbaab164a302ab39dbc008cbfd5433cc9fa19d9971017c78333b07ef4fa4a79",
"receiptsRoot": "0xcd88793459542f6e32483b1af42044171bddb96ea0883ee21aa22d4e24c6d0a3",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x30d",
"stateRoot": "0x68e4d6c03f090cd17094daf9e72a72692b6aa2e631a8cad9efc4a1f6487fbb9b",
"timestamp": "0x60ca4094",
"totalDifficulty": "0x5",
"transactions": [
{
"blockHash": "0x49f0dd5f976f3ffc2bd0a2dd5aa01efc2575ac59b266edd4d162e7853abcdfc9",
"blockNumber": "0x2",
"from": "0xb7234440fc334b120e0a476a7b3e6758153f54a8",
"gas": "0x2dc6c0",
"gasPrice": "0x0",
"hash": "0x71dc4e5e0e1334a7ace0a8973c6b66fc8c10de32a4d7f4610cdaffe50781fcfe",
"input": "0x202ee0ed000000000000000000000000000000000000000000000000000000000000e41f0000000000000000000000000000000000000000000000000000038469a372e9",
"nonce": "0x5ff56",
"to": "0xf56f6c47e39293e1a763e56175bc8386fdfe6162",
"transactionIndex": "0x0",
"value": "0x0",
"v": "0xad",
"r": "0xe1aaff698632d0b7c3bc09b44edb0c05c891e8dde721feb93cde501b1a8ed7c3",
"s": "0x5631589df0229912a518e5943c1afa84c27c7f888561905e7045c3a743f289e5",
"queueOrigin": "sequencer",
"txType": "",
"l1TxOrigin": null,
"l1BlockNumber": "0x18569a2",
"l1Timestamp": "0x60ca4094",
"index": "0x1",
"queueIndex": null,
"rawTransaction": "0xf8a98305ff5680832dc6c094f56f6c47e39293e1a763e56175bc8386fdfe616280b844202ee0ed000000000000000000000000000000000000000000000000000000000000e41f0000000000000000000000000000000000000000000000000000038469a372e981ada0e1aaff698632d0b7c3bc09b44edb0c05c891e8dde721feb93cde501b1a8ed7c3a05631589df0229912a518e5943c1afa84c27c7f888561905e7045c3a743f289e5"
}
],
"transactionsRoot": "0x2abfd60b4f00f3fd3195229329ba8862436ece060a849edeeddf87046b2a5f75",
"uncles": []
}
}
However, use this repo, it will return:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"difficulty": "0x3ff001000",
"extraData": "0x476574682f76312e302e302d30636463373634372f6c696e75782f676f312e34",
"gasLimit": "0x1388",
"gasUsed": "0x0",
"hash": "0xb495a1d7e6663152ae92708da4843337b958146015a2802f4193a410044698c9",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0xdd2f1e6e498202e86d8f5442af596580a4f03c2c",
"mixHash": "0x2f0790c5aa31ab94195e1f6443d645af5b75c46c04fbf9911711198a0ce8fdda",
"nonce": "0xb853fa261a86aa9e",
"number": "0x2",
"parentHash": "0x88e96d4537bea4d9c05d12549907b32561d3bf31f45aae734cdc119f13406cb6",
"receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x220",
"stateRoot": "0x4943d941637411107494da9ec8bc04359d731bfd08b72b4d0edcbd4cd2ecb341",
"timestamp": "0x55ba4241",
"totalDifficulty": "0xbfe801000",
"transactions": [],
"transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncles": []
}
}
The results are quite different.
Unexpected number of transactions, cannot recover OVM Context, could not detect network
Trying to set up an OE-replica node using a local geth docker container. Cloned op-replica repo, modified .env, replica.yml and replica-shared.yml but not sure everything is set up correctly. Added l1geth as a service into the op-replica docker compose file.
Right now I'm getting the following errors in my l2geth-replica logs:
l2geth-replica_1 | INFO [02-07|21:54:16.330] Connected to upstream service
data-transport-layer_1 | {"level":30,"time":1644270856334,"method":"GET","url":"/eth/syncing?backend=l2","elapsed":4,"msg":"Served HTTP Request"}
l2geth-replica_1 | INFO [02-07|21:54:16.335] Found latest index index=0
l2geth-replica_1 | INFO [02-07|21:54:16.335] Block not found, resetting index new=<nil> old=0
l2geth-replica_1 | ERROR[02-07|21:54:16.335] Unexpected number of transactions in block count=0
l2geth-replica_1 | panic: Cannot recover OVM Context
and these in the replica-healthcheck logs
replica-healthcheck_1 | Error: could not detect network (event="noNetwork", code=NETWORK_ERROR, version=providers/5.4.4)
replica-healthcheck_1 | at Logger.makeError (/opt/optimism/node_modules/@ethersproject/logger/lib/index.js:187:21)
replica-healthcheck_1 | at Logger.throwError (/opt/optimism/node_modules/@ethersproject/logger/lib/index.js:196:20)
replica-healthcheck_1 | at StaticJsonRpcProvider.<anonymous> (/opt/optimism/node_modules/ethers/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:491:54)
replica-healthcheck_1 | at step (/opt/optimism/node_modules/ethers/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:48:23)
replica-healthcheck_1 | at Object.throw (/opt/optimism/node_modules/ethers/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:29:53)
replica-healthcheck_1 | at rejected (/opt/optimism/node_modules/ethers/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:21:65)
replica-healthcheck_1 | at processTicksAndRejections (node:internal/process/task_queues:96:5) {
replica-healthcheck_1 | reason: 'could not detect network',
replica-healthcheck_1 | code: 'NETWORK_ERROR',
replica-healthcheck_1 | event: 'noNetwork'
replica-healthcheck_1 | }
I'm using GETH_INIT_SCRIPT=l2geth-replica-start.sh
in my .env
If I use GETH_INIT_SCRIPT=check-for-chaindata-berlin.sh
I get
l2geth-replica_1 | /scripts/check-for-chaindata-berlin.sh: line 20: L2GETH_GENESIS_HASH: parameter not set
l2geth-replica_1 | /geth/geth/chaindata missing, running init
node_optimism_l2geth-replica_1 exited with code 2
Here are my set up files
env.env.txt
replica-shared.yml.txt
replica,yml.txt
And here is the full logs
all_logs.txt
any ideas what the issue might be?
l2geth stuck -mainnet
provide kustomize configuration for remote mainnet replica
I'm attempting to provision a mainnet optimism replica using the provided kustomize scripts. Unfortunately, no mainnet preset exists (similar to what exists for kind-kovan-replica
, so I attempted to create my own kind-mainnet-replica
with l2geth.env file looks like this:
BLOCK_SIGNER_PRIVATE_KEY=da5deb73dbc9dea2e3916929daaf079f75232d32a2cf37ff8b1f7140ef3fd9db
BLOCK_SIGNER_ADDRESS=0x27770a9694e4B4b1E130Ab91Bc327C36855f612E
BLOCK_SIGNER_PRIVATE_KEY_PASSWORD=pwd
CHAIN_ID=10
DATADIR=/geth
DEV=true
NETWORK_ID=10
NO_DISCOVER=true
NO_USB=true
GASPRICE=0
GCMODE=archive
IPC_DISABLE=true
ETH1_CTC_DEPLOYMENT_HEIGHT=12686738
ETH1_L1_FEE_WALLET_ADDRESS=0x391716d440c151c42cdf1c95c1d83a5427bca52c
ETH1_L1_CROSS_DOMAIN_MESSENGER_ADDRESS=0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1
ETH1_L1_ETH_GATEWAY_ADDRESS=0xe681F80966a8b1fFadECf8068bD6F99034791c95
ETH1_L1_STANDARD_BRIDGE_ADDRESS=0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1
ETH1_SYNC_SERVICE_ENABLE=true
ROLLUP_ADDRESS_MANAGER_OWNER_ADDRESS=0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A
ROLLUP_STATE_DUMP_PATH=https://storage.googleapis.com/optimism/mainnet/0.4.0.json
L2GETH_GENESIS_URL=https://storage.googleapis.com/optimism/mainnet/0.4.0.json
L2GETH_GENESIS_URL_SHA256SUM=344f237d94944ee372fea587466991338079cbefa3596d448c62c11d842efa98
ROLLUP_BACKEND=l2
ROLLUP_CLIENT_HTTP=http://data-transport-layer:7878
ROLLUP_DISABLE_TRANSFERS=false
ROLLUP_ENABLE_L2_GAS_POLLING=false
ROLLUP_GAS_PRICE_ORACLE_OWNER_ADDRESS=0x648E3e8101BFaB7bf5997Bd007Fb473786019159
ROLLUP_MAX_CALLDATA_SIZE=40000
ROLLUP_POLL_INTERVAL=1s
ROLLUP_SYNC_SERVICE_ENABLE=true
ROLLUP_TIMESTAMP_REFRESH=5m
ROLLUP_VERIFIER_ENABLE=true
RPC_ADDR=0.0.0.0
RPC_API=eth,rollup,net,web3,debug
RPC_CORS_DOMAIN=*
RPC_ENABLE=true
RPC_PORT=8545
RPC_VHOSTS=*
TARGET_GAS_LIMIT=11000000
USING_OVM=true
WS_ADDR=0.0.0.0
WS_API=eth,rollup,net,web3,debug
WS_ORIGINS=*
WS=true
however with this configuration, the l2geth pod init 0 fails with:
errexit on
noglob off
ignoreeof off
monitor off
noexec off
xtrace off
verbose off
noclobber off
allexport offBLOCK_SIGNER
notify off
nounset off
vi off
pipefail off
/geth/geth/chaindata missing, running geth init
Retrieving genesis file https://storage.googleapis.com/optimism/mainnet/0.4.0.json
Connecting to storage.googleapis.com (142.250.188.16:443)
saving to '/tmp/tmp.JAKJih/genesis.json'
genesis.json 6% |** | 3758k 0:00:13 ETA
genesis.json 15% |**** | 8574k 0:00:11 ETA
genesis.json 23% |******* | 12.8M 0:00:09 ETA
genesis.json 30% |********* | 16.9M 0:00:08 ETA
genesis.json 37% |************ | 20.7M 0:00:08 ETA
genesis.json 42% |************* | 23.1M 0:00:08 ETA
genesis.json 50% |**************** | 27.6M 0:00:06 ETA
genesis.json 60% |******************* | 32.9M 0:00:05 ETA
genesis.json 68% |********************** | 37.7M 0:00:04 ETA
genesis.json 73% |*********************** | 40.4M 0:00:03 ETA
genesis.json 76% |************************ | 41.7M 0:00:03 ETA
genesis.json 83% |************************** | 45.7M 0:00:02 ETA
genesis.json 92% |***************************** | 50.8M 0:00:01 ETA
genesis.json 100% |********************************| 54.8M 0:00:00 ETA
'/tmp/tmp.JAKJih/genesis.json' saved
checksums match
GENESIS_SHA256SUM: 344f237d94944ee372fea587466991338079cbefa3596d448c62c11d842efa98 == L2GETH_GENESIS_URL_SHA256SUM: 344f237d94944ee372fea587466991338079cbefa3596d448c62c11d842efa98
Fatal: invalid genesis file: missing required field 'gasLimit' for Genesis
Fatal: invalid genesis file: missing required field 'gasLimit' for Genesis
of particular note:
- had to add
BLOCK_SIGNER
options at the top for some reason because it complained if I didn't have them, even though my node is not signing anything as a replica - had to rename
ROLLUP_STATE_DUMP_PATH
toL2GETH_GENESIS_URL
and add sha256sum option because its required - change all other options to their natuaral mainnet equivalents
in general, it would be best if there was provided a ready-to-use example kustomize configuration which could be used for mainnet replicas, but that does not currently exist.
sync error on testnet
Cannot sync transactions with backend l2
I'm trying to run a mainnet, but I got stuck when l1-blocknumber=12821447
l2_geth:
ERROR[07-23|02:44:16.458] Could not verify error="Verifier cannot sync transactions with BackendL2: Verifier cannot sync transactions with backend l2: Cannot sync transactions with backend l2: cannot fetch transaction 34516: cannot fetch transaction: json: cannot unmarshal hex number > 64 bits into Go struct field transaction.transaction.value of type hexutil.Uint64" INFO [07-23|02:44:16.458] Set L2 Gas Price gasprice=1000000 ERROR[07-23|02:44:16.459] Cannot update L1 gas price msg="cannot fetch L1 gas price: Cannot parse response as big number" INFO [07-23|02:44:16.460] Syncing transaction range start=34516 end=96098 backend=l2
dtl:
{"level":50,"time":1627008256458,"extra":{"method":"GET","url":"/eth/gasprice","elapsed":0,"msg":"TypeError: Cannot read property 'getGasPrice' of null","stack":"TypeError: Cannot read property 'getGasPrice' of null\n at /opt/optimism/packages/data-transport-layer/dist/sr c/services/server/service.js:205:61\n at /opt/optimism/packages/data-transport-layer/dist/src/services/server/service.js:128:36\n at Layer.handle [as handle_request] (/opt/optimism/node_modules/express/lib/router/layer.js:95:5)\n at next (/opt/optimism/node_modules/ express/lib/router/route.js:137:13)\n at Route.dispatch (/opt/optimism/node_modules/express/lib/router/route.js:112:3)\n at Layer.handle [as handle_request] (/opt/optimism/node_modules/express/lib/router/layer.js:95:5)\n at /opt/optimism/node_modules/express/lib/rou ter/index.js:281:22\n at Function.process_params (/opt/optimism/node_modules/express/lib/router/index.js:335:12)\n at next (/opt/optimism/node_modules/express/lib/router/index.js:275:10)\n at middleware (/opt/optimism/node_modules/express-prom-bundle/src/index.js:20 4:5)\n at Layer.handle [as handle_request] (/opt/optimism/node_modules/express/lib/router/layer.js:95:5)\n at trim_prefix (/opt/optimism/node_modules/express/lib/router/index.js:317:13)\n at /opt/optimism/node_modules/express/lib/router/index.js:284:7\n at Functi on.process_params (/opt/optimism/node_modules/express/lib/router/index.js:335:12)\n at next (/opt/optimism/node_modules/express/lib/router/index.js:275:10)\n at cors (/opt/optimism/node_modules/cors/lib/index.js:188:7)"},"msg":"Failed HTTP Request"} {"level":30,"time":1627008256459,"method":"GET","url":"/transaction/latest?backend=l2","elapsed":0,"msg":"Served HTTP Request"} {"level":30,"time":1627008256460,"method":"GET","url":"/transaction/index/34516?backend=l2","elapsed":0,"msg":"Served HTTP Request"}
[ Mainnet ] Container op-replica_data-transport-layer_1 sync error
docker logs op-replica_data-transport-layer_1 --tail 20
{"level":50,"time":1641647734186,"extra":{"message":"TypeError: blocks is not iterable","stack":"TypeError: blocks is not iterable\n at L2IngestionService._syncSequencerBlocks (/opt/optimism/packages/data-transport-layer/dist/src/services/l2-ingestion/service.js:148:29)\n at async L2IngestionService._start (/opt/optimism/packages/data-transport-layer/dist/src/services/l2-ingestion/service.js:86:17)\n at async L2IngestionService.start (/opt/optimism/packages/common-ts/dist/base-service.js:33:9)\n at async Promise.all (index 2)\n at async L1DataTransportService._start (/opt/optimism/packages/data-transport-layer/dist/src/services/main/service.js:62:13)\n at async L1DataTransportService.start (/opt/optimism/packages/common-ts/dist/base-service.js:33:9)\n at async /opt/optimism/packages/data-transport-layer/dist/src/services/run.js:69:9"},"msg":"Caught an unhandled error"}
.ENV FILE
DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT=http://xxxxx:8999
DTL_IMAGE_TAG=0.5.10
ETH_NETWORK=mainnet
L2GETH_HTTP_PORT=9991
L2GETH_IMAGE_TAG=0.5.4
REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER=http://xxxxx:8999
SHARED_ENV_PATH=./kustomize/replica/envs/mainnet
TypeError: blocks is not iterable-mainnet
mainnet sync issuse
Replica health server doesn't exit on signal
Ctrl-c from the console should exit the process.
SIGINT should be handled.
Providers should be env configs
We should have sensible defaults and provide a consistent way to override these settings.
const sequencerProvider = injectL2Context(new providers.JsonRpcProvider(`https://${process.env.PROJECT_NETWORK}.optimism.io`))
const replicaProvider = injectL2Context(new providers.JsonRpcBatchProvider(`http://localhost:${process.env.L2GETH_HTTP_PORT}`))
If ETH_NETWORK
is not defined
ETH_NETWORK -> mainnet
If ETH_NETWORK
defined and ETH_NETWORK_RPC_PROVIDER
isn't
ETH_NETWORK_RPC_PROVIDER -> https://${process.env.ETH_NETWORK}-sequencer.optimism.io
ETH_REPLICA_RPC_PROVIDER
is not defined? -> http://localhost:8545
Expose as possible env configs:
- ETH_NETWORK
- ETH_NETWORK_RPC_PROVIDER
- ETH_REPLICA_RPC_PROVIDER
Missing docker-compose.yml file?
Hello!
I have cloned the repo, updated the variables, moved the env file, pulled latest docker versions, however, got stuck at the last step -> docker-compose up -d:
ERROR:
Can't find a suitable configuration file in this directory or any
parent. Are you in the right directory?Supported filenames: docker-compose.yml, docker-compose.yaml, compose.yml, compose.yaml
What am I doing wrong?
testnet node sync slowly
ERR:Blocknumber monotonicity violation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.