Code Monkey home page Code Monkey logo

op-replica's People

Contributors

annieke avatar delta003 avatar inphi avatar k-ho avatar mslipper avatar optimisticben avatar qbzzt avatar smartcontracts avatar yorickdowne avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

op-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

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

When I start the containers, geth will sync for a while.But soon it'll stuck. This only happens on mainnet
Here is the l2geth log.
image

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 to L2GETH_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.

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

mainnet sync issuse

1)image
The node stop sync and output log - "Regenerated local transaction journal".
After I restart containers , sync will recover. However , about 30 mins later, it will stop sync again.

2)l2geth Param problem:
"ROLLUP_POLL_INTERVAL=1s" is wrong. It should be "ROLLUP_POLL_INTERVAL_FLAG=1s"

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?

ERR:Blocknumber monotonicity violation

image
I would like to know what causes this error. This error does not affect data synchronization.
Version: 1)ethereumoptimism/data-transport-layer 0.5.11 2) ethereumoptimism/l2geth 0.5.6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.