optimism: not found eth_sendRawTransaction in op-geth at upload smart contracts

Obtained behaviour

I can’t upload my own smart contracts from a separated repository using official optimism op-geth, before bedrocks, working

  • I tested upload over L2 directly and works, but i need to use geth endpoint RPC

Expected behaviour

I can’t upload my own smart contracts from a separated repository using official optimism op-geth, before bedrocks, working

Steps to reproduce the behavior:

  1. build base environment
git clone https://github.com/ethereum-optimism/optimism.git
cd optimism
pnpm clean
pnpm install
make op-node op-batcher op-proposer
pnpm build
git clone https://github.com/ethereum-optimism/op-geth.git
cd op-geth
make clean && make geth
cd ..
make devnet-clean && make devnet-up-deploy
  1. Build and up for my own containers (op-geth and genesis creators)
docker compose build create-gethlegacy-genesis op-gethlegacy create-geth-genesis op-geth
docker compose up -d
  1. setup my hardhat file to point to op-geth and deploy to this endpoint without changes between before and after bedrock
  2. review logs at geth, i can see 2023-07-27 17:07:54 WARN [07-27|15:07:54.993] Served eth_sendRawTransaction conn=172.20.0.1:51894 reqid=11 duration=3.902377ms err="the method eth_sendRawTransaction does not exist/is not available"

Screenshots

System Specs:

  • OS: Linux ubuntu
[ntz@ntz-cronos]~: lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.2 LTS
Release:	22.04
Codename:	jammy
  • Package Version (or commit hash): branch develop

Additional context

Docker-compose file used

version: '3.9'
name: ba

# Networks to be used by services
networks:
  op-network:
    name: op-network
    driver: bridge

# This Compose file is expected to be used with the devnet-up.sh script.
# The volumes below mount the configs generated by the script into each
# service.

volumes:
  l1_data:
  l2_data:
  op_log:
  geth_data:
  gethlegacy_data:


services:
  l1:
    container_name: l1
    build:
      context: .
      dockerfile: Dockerfile.l1
    ports:
      - "8545:8545"
      - "8546:8546"
      - "9551:8551"
      - "7060:6060"
    volumes:
      - "l1_data:/db"
      - "${PWD}/../.devnet/genesis-l1.json:/genesis.json"
      - "${PWD}/test-jwt-secret.txt:/config/test-jwt-secret.txt"

  l2:
    container_name: l2
    build:
      context: .
      dockerfile: Dockerfile.l2
    ports:
      - "9545:8545"
      - "9552:8551"
      - "8060:6060"
    volumes:
      - "l2_data:/db"
      - "${PWD}/../.devnet/genesis-l2.json:/genesis.json"
      - "${PWD}/test-jwt-secret.txt:/config/test-jwt-secret.txt"
    entrypoint:  # pass the L2 specific flags by overriding the entry-point and adding extra arguments
      - "/bin/sh"
      - "/entrypoint.sh"
      - "--authrpc.jwtsecret=/config/test-jwt-secret.txt"

  op-node:
    container_name: op-node
    depends_on:
      - l1
      - l2
    build:
      context: ../
      dockerfile: ./op-node/Dockerfile
    command: >
      op-node
      --l1=ws://l1:8546
      --l2=http://l2:8551
      --l2.jwt-secret=/config/test-jwt-secret.txt
      --sequencer.enabled
      --sequencer.l1-confs=0
      --verifier.l1-confs=0
      --p2p.sequencer.key=8b3a350cf5c34c9194ca85829a2df0ec3153be0318b5e2d3348e872092edffba
      --rollup.config=/rollup.json
      --rpc.addr=0.0.0.0
      --rpc.port=8545
      --p2p.listen.ip=0.0.0.0
      --p2p.listen.tcp=9003
      --p2p.listen.udp=9003
      --p2p.scoring.peers=light
      --p2p.ban.peers=true
      --snapshotlog.file=/op_log/snapshot.log
      --p2p.priv.path=/config/p2p-node-key.txt
      --metrics.enabled
      --metrics.addr=0.0.0.0
      --metrics.port=7300
      --pprof.enabled
      --rpc.enable-admin
    ports:
      - "7545:8545"
      - "9003:9003"
      - "7300:7300"
      - "6060:6060"
    volumes:
      - "${PWD}/p2p-sequencer-key.txt:/config/p2p-sequencer-key.txt"
      - "${PWD}/p2p-node-key.txt:/config/p2p-node-key.txt"
      - "${PWD}/test-jwt-secret.txt:/config/test-jwt-secret.txt"
      - "${PWD}/../.devnet/rollup.json:/rollup.json"
      - op_log:/op_log

  op-proposer:
    container_name: op-proposer
    depends_on:
      - l1
      - l2
      - op-node
    build:
      context: ../
      dockerfile: ./op-proposer/Dockerfile
    ports:
      - "6062:6060"
      - "7302:7300"
    environment:
      OP_PROPOSER_L1_ETH_RPC: http://l1:8545
      OP_PROPOSER_ROLLUP_RPC: http://op-node:8545
      OP_PROPOSER_POLL_INTERVAL: 1s
      OP_PROPOSER_NUM_CONFIRMATIONS: 1
      OP_PROPOSER_MNEMONIC: test test test test test test test test test test test junk
      OP_PROPOSER_L2_OUTPUT_HD_PATH: "m/44'/60'/0'/0/1"
      OP_PROPOSER_L2OO_ADDRESS: "${L2OO_ADDRESS:-0xA57B9f15AA204b9D68DF58849b02Df16c80C0999}"
      OP_PROPOSER_PPROF_ENABLED: "true"
      OP_PROPOSER_METRICS_ENABLED: "true"
      OP_PROPOSER_ALLOW_NON_FINALIZED: "true"

  op-batcher:
    container_name: op-batcher
    depends_on:
      - l1
      - l2
      - op-node
    build:
      context: ../
      dockerfile: ./op-batcher/Dockerfile
    ports:
      - "6061:6060"
      - "7301:7300"
      - "6545:8545"
    environment:
      OP_BATCHER_L1_ETH_RPC: http://l1:8545
      OP_BATCHER_L2_ETH_RPC: http://l2:8545
      OP_BATCHER_ROLLUP_RPC: http://op-node:8545
      OP_BATCHER_MAX_CHANNEL_DURATION: 1
      OP_BATCHER_SUB_SAFETY_MARGIN: 4 # SWS is 15, ChannelTimeout is 40
      OP_BATCHER_POLL_INTERVAL: 1s
      OP_BATCHER_NUM_CONFIRMATIONS: 1
      OP_BATCHER_MNEMONIC: test test test test test test test test test test test junk
      OP_BATCHER_SEQUENCER_HD_PATH: "m/44'/60'/0'/0/2"
      OP_BATCHER_PPROF_ENABLED: "true"
      OP_BATCHER_METRICS_ENABLED: "true"
      OP_BATCHER_RPC_ENABLE_ADMIN: "true"

  stateviz:
    build:
      context: ../
      dockerfile: ./ops-op/Dockerfile.stateviz
    command:
      - stateviz
      - -addr=0.0.0.0:8080
      - -snapshot=/op_log/snapshot.log
      - -refresh=10s
    ports:
      - "9090:8080"
    volumes:
      - op_log:/op_log:ro

  create-gethlegacy-genesis:
    container_name: create-gethlegacy-genesis
    depends_on:
      - l1
      - l2
      - op-node
    build:
      context: ./../op-geth
      dockerfile: ./Dockerfile
    volumes:
      - "gethlegacy_data:/home/datadir/"
      - "${PWD}/../.devnet/genesis-l2.json:/config/genesis.json"
    command: init --datadir /home/datadir /config/genesis.json

  op-gethlegacy:
    container_name: op-gethlegacy
    depends_on:
      create-gethlegacy-genesis:
        condition: service_completed_successfully
    build:
      context: ./../op-geth
      dockerfile: ./Dockerfile
    ports:
      - "8547:8545"
      - "8552:8546"
    volumes:
      - "gethlegacy_data:/home/datadir/"
      - "${PWD}/test-jwt-secret.txt:/config/jwt.txt"
      - "${PWD}/../.devnet/genesis-l2.json:/config/genesis.json"
    environment:
      USING_OVM: true
      ETH1_SYNC_SERVICE_ENABLE: false
      # RPC_API: eth,rollup,net,web3,debug
      # RPC_ADDR: 0.0.0.0
      # RPC_CORS_DOMAIN: "*"
      # RPC_ENABLE: true
      # RPC_PORT: 8545
      # RPC_VHOSTS: "*"
    command: >
      --datadir /home/datadir
      --http
      --http.corsdomain="*"
      --http.vhosts="*"
      --http.addr=0.0.0.0
      --http.port=8545
      --http.api=eth,rollup,net,web3,debug
      --ws
      --ws.addr=0.0.0.0
      --ws.port=8546
      --ws.origins="*"
      --ws.api=eth,rollup,net,web3,debug
      --syncmode=full
      --gcmode=archive
      --nodiscover
      --maxpeers=0
      --networkid=901
      --authrpc.vhosts="*"
      --authrpc.addr=0.0.0.0
      --authrpc.port=8551
      --authrpc.jwtsecret=/config/jwt.txt
      --verbosity=3

  create-geth-genesis:
    container_name: create-geth-genesis
    depends_on:
      - l1
      - l2
      - op-node
      - op-gethlegacy
    build:
      context: ./../op-geth
      dockerfile: ./Dockerfile
    volumes:
      - "geth_data:/home/datadir/"
      - "${PWD}/../.devnet/genesis-l2.json:/config/genesis.json"
    command: init --datadir /home/datadir /config/genesis.json

  op-geth:
    container_name: op-geth
    depends_on:
      create-geth-genesis:
        condition: service_completed_successfully
    build:
      context: ./../op-geth
      dockerfile: ./Dockerfile
    ports:
      - "8549:8545"
      - "8550:8546"
    volumes:
      - "geth_data:/home/datadir/"
      - "${PWD}/test-jwt-secret.txt:/config/jwt.txt"
      - "${PWD}/../.devnet/genesis-l2.json:/config/genesis.json"
    environment:
      L1_RPC: http://l1:8545
      L2_RPC: http://l2:8545
      SEQUENCER_URL: http://op-node:8545
      L2OO_ADDRESS: ${L2OO_ADDRESS:-0xA57B9f15AA204b9D68DF58849b02Df16c80C0999}
    command: >
      --datadir /home/datadir
      --http
      --http.corsdomain="*"
      --http.vhosts="*"
      --http.addr=0.0.0.0
      --http.api=web3,debug,eth,txpool,net,engine,miner
      --ws
      --ws.addr=0.0.0.0
      --ws.port=8546
      --ws.origins="*"
      --ws.api=web3,debug,eth,txpool,net,engine,miner
      --syncmode=full
      --gcmode=archive
      --nodiscover
      --maxpeers=0
      --networkid=901
      --authrpc.vhosts="*"
      --authrpc.addr=0.0.0.0
      --authrpc.port=8551
      --authrpc.jwtsecret=/config/jwt.txt
      --rollup.sequencerhttp=http://op-node:8545
      --rollup.historicalrpc=http://op-gethlegacy:8545
      --rollup.disabletxpoolgossip=true
      --verbosity=3
#     --snapshot=false

Logs from op-geth

2023-07-27 16:17:18 INFO [07-27|14:17:18.877] Maximum peer count                       ETH=0 LES=0 total=0
2023-07-27 16:17:18 INFO [07-27|14:17:18.879] Smartcard socket not found, disabling    err="stat /run/pcscd/pcscd.comm: no such file or directory"
2023-07-27 16:17:18 WARN [07-27|14:17:18.881] Disable transaction unindexing for archive node 
2023-07-27 16:17:18 INFO [07-27|14:17:18.885] Enabling recording of key preimages since archive mode is used 
2023-07-27 16:17:18 INFO [07-27|14:17:18.886] Set global gas cap                       cap=50,000,000
2023-07-27 16:17:18 INFO [07-27|14:17:18.886] Initializing the KZG library             backend=gokzg
2023-07-27 16:17:18 INFO [07-27|14:17:18.948] Allocated trie memory caches             clean=307.00MiB dirty=0.00B
2023-07-27 16:17:18 INFO [07-27|14:17:18.949] Using pebble as the backing database 
2023-07-27 16:17:18 INFO [07-27|14:17:18.949] Allocated cache and file handles         database=/home/datadir/geth/chaindata cache=512.00MiB handles=524,288
2023-07-27 16:17:18 INFO [07-27|14:17:18.981] Opened ancient database                  database=/home/datadir/geth/chaindata/ancient/chain readonly=false
2023-07-27 16:17:19 INFO [07-27|14:17:19.009]  
2023-07-27 16:17:19 INFO [07-27|14:17:19.009] --------------------------------------------------------------------------------------------------------------------------------------------------------- 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010] Chain ID:  901 (unknown) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010] Consensus: Optimism 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  
2023-07-27 16:17:19 INFO [07-27|14:17:19.010] Pre-Merge hard forks (block based): 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Homestead:                   #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/homestead.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Tangerine Whistle (EIP 150): #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/tangerine-whistle.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Spurious Dragon/1 (EIP 155): #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/spurious-dragon.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Spurious Dragon/2 (EIP 158): #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/spurious-dragon.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Byzantium:                   #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/byzantium.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Constantinople:              #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/constantinople.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Petersburg:                  #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/petersburg.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Istanbul:                    #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/istanbul.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Muir Glacier:                #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/muir-glacier.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Berlin:                      #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/berlin.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - London:                      #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/london.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Arrow Glacier:               #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/arrow-glacier.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Gray Glacier:                #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/gray-glacier.md) 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  
2023-07-27 16:17:19 INFO [07-27|14:17:19.010] Merge configured: 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Hard-fork specification:    https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Network known to be merged: true 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Total terminal difficulty:  0 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Merge netsplit block:       #0        
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  
2023-07-27 16:17:19 INFO [07-27|14:17:19.010] Post-Merge hard forks (timestamp based): 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  - Regolith:                    @0          
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  
2023-07-27 16:17:19 INFO [07-27|14:17:19.010] --------------------------------------------------------------------------------------------------------------------------------------------------------- 
2023-07-27 16:17:19 INFO [07-27|14:17:19.010]  
2023-07-27 16:17:19 INFO [07-27|14:17:19.010] Loaded most recent local block           number=0 hash=cbeb92..14c5d2 td=0 age=8m32s
2023-07-27 16:17:19 WARN [07-27|14:17:19.011] Failed to load snapshot                  err="missing or corrupted snapshot"
2023-07-27 16:17:19 INFO [07-27|14:17:19.014] Rebuilding state snapshot 
2023-07-27 16:17:19 INFO [07-27|14:17:19.015] Initialising Ethereum protocol           network=901 dbversion=<nil>
2023-07-27 16:17:19 INFO [07-27|14:17:19.015] Resuming state snapshot generation       root=fbcba3..02e94e accounts=0 slots=0 storage=0.00B dangling=0 elapsed="465.183µs"
2023-07-27 16:17:19 INFO [07-27|14:17:19.015] Entered PoS stage 
2023-07-27 16:17:19 INFO [07-27|14:17:19.017] Regenerated local transaction journal    transactions=0 accounts=0
2023-07-27 16:17:19 INFO [07-27|14:17:19.017] Chain post-merge, sync via beacon client 
2023-07-27 16:17:19 INFO [07-27|14:17:19.017] Gasprice oracle is ignoring threshold set threshold=2
2023-07-27 16:17:19 WARN [07-27|14:17:19.017] Sanitizing invalid optimism gasprice oracle min priority fee suggestion provided=<nil> updated=100,000,000
2023-07-27 16:17:19 WARN [07-27|14:17:19.018] Error reading unclean shutdown markers   error="pebble: not found"
2023-07-27 16:17:19 WARN [07-27|14:17:19.018] Engine API enabled                       protocol=eth
2023-07-27 16:17:19 INFO [07-27|14:17:19.018] Starting peer-to-peer node               instance=Geth/v0.1.0-unstable-8f8af46e-20230726/linux-amd64/go1.20.6
2023-07-27 16:17:19 INFO [07-27|14:17:19.036] IPC endpoint opened                      url=/home/datadir/geth.ipc
2023-07-27 16:17:19 INFO [07-27|14:17:19.037] Loaded JWT secret file                   path=/config/jwt.txt crc32=0x890e18e0
2023-07-27 16:17:19 INFO [07-27|14:17:19.038] New local node record                    seq=1,690,467,439,034 id=13b0d9fe9dd6da90 ip=127.0.0.1 udp=0 tcp=30303
2023-07-27 16:17:19 INFO [07-27|14:17:19.038] Started P2P networking                   self="enode://b6dc64c57fd2c5470a53ede47fdb9fb052dcca46b040a695e7cc3810dc3ce1087523e27c0aa7da8ed919425eba5dbba2ba17f1dc073e6d5131826e905ec87948@127.0.0.1:30303?discport=0"
2023-07-27 16:17:19 INFO [07-27|14:17:19.044] HTTP server started                      endpoint=[::]:8545 auth=false prefix= cors=* vhosts=*
2023-07-27 16:17:19 INFO [07-27|14:17:19.044] WebSocket enabled                        url=ws://[::]:8546
2023-07-27 16:17:19 INFO [07-27|14:17:19.044] WebSocket enabled                        url=ws://[::]:8551
2023-07-27 16:17:19 INFO [07-27|14:17:19.044] HTTP server started                      endpoint=[::]:8551 auth=true  prefix= cors=localhost vhosts=*
2023-07-27 16:17:19 INFO [07-27|14:17:19.096] Generated state snapshot                 accounts=2344 slots=2079 storage=392.83KiB dangling=0 elapsed=81.712ms
2023-07-27 16:28:32 WARN [07-27|14:28:32.186] Served eth_call                          conn=172.20.0.1:34158 reqid=0 duration=1.290952ms err="invalid opcode: opcode 0xb7 not defined"
2023-07-27 17:07:54 WARN [07-27|15:07:54.993] Served eth_sendRawTransaction            conn=172.20.0.1:51894 reqid=11 duration=3.902377ms err="the method eth_sendRawTransaction does not exist/is not available"

Logs from op-gethlegacy

2023-07-27 16:17:16 INFO [07-27|14:17:16.689] Maximum peer count                       ETH=0 LES=0 total=0
2023-07-27 16:17:16 INFO [07-27|14:17:16.690] Smartcard socket not found, disabling    err="stat /run/pcscd/pcscd.comm: no such file or directory"
2023-07-27 16:17:16 WARN [07-27|14:17:16.692] Disable transaction unindexing for archive node 
2023-07-27 16:17:16 INFO [07-27|14:17:16.695] Enabling recording of key preimages since archive mode is used 
2023-07-27 16:17:16 INFO [07-27|14:17:16.695] Set global gas cap                       cap=50,000,000
2023-07-27 16:17:16 INFO [07-27|14:17:16.696] Initializing the KZG library             backend=gokzg
2023-07-27 16:17:16 INFO [07-27|14:17:16.749] Allocated trie memory caches             clean=307.00MiB dirty=0.00B
2023-07-27 16:17:16 INFO [07-27|14:17:16.749] Using pebble as the backing database 
2023-07-27 16:17:16 INFO [07-27|14:17:16.749] Allocated cache and file handles         database=/home/datadir/geth/chaindata cache=512.00MiB handles=524,288
2023-07-27 16:17:16 INFO [07-27|14:17:16.772] Opened ancient database                  database=/home/datadir/geth/chaindata/ancient/chain readonly=false
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  
2023-07-27 16:17:16 INFO [07-27|14:17:16.788] --------------------------------------------------------------------------------------------------------------------------------------------------------- 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788] Chain ID:  901 (unknown) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788] Consensus: Optimism 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  
2023-07-27 16:17:16 INFO [07-27|14:17:16.788] Pre-Merge hard forks (block based): 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Homestead:                   #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/homestead.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Tangerine Whistle (EIP 150): #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/tangerine-whistle.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Spurious Dragon/1 (EIP 155): #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/spurious-dragon.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Spurious Dragon/2 (EIP 158): #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/spurious-dragon.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Byzantium:                   #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/byzantium.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Constantinople:              #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/constantinople.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Petersburg:                  #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/petersburg.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Istanbul:                    #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/istanbul.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Muir Glacier:                #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/muir-glacier.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Berlin:                      #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/berlin.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - London:                      #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/london.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Arrow Glacier:               #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/arrow-glacier.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Gray Glacier:                #0        (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/gray-glacier.md) 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  
2023-07-27 16:17:16 INFO [07-27|14:17:16.788] Merge configured: 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Hard-fork specification:    https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Network known to be merged: true 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Total terminal difficulty:  0 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Merge netsplit block:       #0        
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  
2023-07-27 16:17:16 INFO [07-27|14:17:16.788] Post-Merge hard forks (timestamp based): 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  - Regolith:                    @0          
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  
2023-07-27 16:17:16 INFO [07-27|14:17:16.788] --------------------------------------------------------------------------------------------------------------------------------------------------------- 
2023-07-27 16:17:16 INFO [07-27|14:17:16.788]  
2023-07-27 16:17:16 INFO [07-27|14:17:16.791] Loaded most recent local block           number=0 hash=cbeb92..14c5d2 td=0 age=8m29s
2023-07-27 16:17:16 WARN [07-27|14:17:16.792] Failed to load snapshot                  err="missing or corrupted snapshot"
2023-07-27 16:17:16 INFO [07-27|14:17:16.799] Rebuilding state snapshot 
2023-07-27 16:17:16 INFO [07-27|14:17:16.799] Initialising Ethereum protocol           network=901 dbversion=<nil>
2023-07-27 16:17:16 INFO [07-27|14:17:16.799] Entered PoS stage 
2023-07-27 16:17:16 INFO [07-27|14:17:16.799] Resuming state snapshot generation       root=fbcba3..02e94e accounts=0 slots=0 storage=0.00B dangling=0 elapsed="280.042µs"
2023-07-27 16:17:16 INFO [07-27|14:17:16.800] Regenerated local transaction journal    transactions=0 accounts=0
2023-07-27 16:17:16 INFO [07-27|14:17:16.800] Chain post-merge, sync via beacon client 
2023-07-27 16:17:16 INFO [07-27|14:17:16.800] Gasprice oracle is ignoring threshold set threshold=2
2023-07-27 16:17:16 WARN [07-27|14:17:16.800] Sanitizing invalid optimism gasprice oracle min priority fee suggestion provided=<nil> updated=100,000,000
2023-07-27 16:17:16 WARN [07-27|14:17:16.800] Error reading unclean shutdown markers   error="pebble: not found"
2023-07-27 16:17:16 WARN [07-27|14:17:16.800] Engine API enabled                       protocol=eth
2023-07-27 16:17:16 INFO [07-27|14:17:16.801] Starting peer-to-peer node               instance=Geth/v0.1.0-unstable-8f8af46e-20230726/linux-amd64/go1.20.6
2023-07-27 16:17:16 INFO [07-27|14:17:16.818] IPC endpoint opened                      url=/home/datadir/geth.ipc
2023-07-27 16:17:16 INFO [07-27|14:17:16.819] New local node record                    seq=1,690,467,436,817 id=c6db1a4d710b7157 ip=127.0.0.1 udp=0 tcp=30303
2023-07-27 16:17:16 INFO [07-27|14:17:16.819] Started P2P networking                   self="enode://aabab57dac83935dfe5df0d20bc3afec4916c7175469b25b358adb82a69122ce3dae0ac8019aa5753f85de4a64e7193765d898a9796e6689e09d6490e67da895@127.0.0.1:30303?discport=0"
2023-07-27 16:17:16 INFO [07-27|14:17:16.820] Loaded JWT secret file                   path=/config/jwt.txt crc32=0x890e18e0
2023-07-27 16:17:16 INFO [07-27|14:17:16.820] HTTP server started                      endpoint=[::]:8545 auth=false prefix= cors=* vhosts=*
2023-07-27 16:17:16 INFO [07-27|14:17:16.820] WebSocket enabled                        url=ws://[::]:8546
2023-07-27 16:17:16 INFO [07-27|14:17:16.821] WebSocket enabled                        url=ws://[::]:8551
2023-07-27 16:17:16 INFO [07-27|14:17:16.821] HTTP server started                      endpoint=[::]:8551 auth=true  prefix= cors=localhost vhosts=*
2023-07-27 16:17:16 INFO [07-27|14:17:16.901] Generated state snapshot                 accounts=2344 slots=2079 storage=392.83KiB dangling=0 elapsed=102.029ms
2023-07-27 17:17:16 INFO [07-27|15:17:16.869] Writing clean trie cache to disk         path=/home/datadir/geth/triecache threads=1
2023-07-27 17:17:16 INFO [07-27|15:17:16.870] Regenerated local transaction journal    transactions=0 accounts=0
2023-07-27 17:17:16 INFO [07-27|15:17:16.887] Persisted the clean trie cache           path=/home/datadir/geth/triecache elapsed=17.492ms

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 17 (8 by maintainers)

Most upvoted comments

I am confused by your terminology. What is an L2 node vs an external rpc connection? You need 1 op-geth and 1 op-node per L2 node. There is a sequencer vs a verifier. Both of them are L2 nodes, one builds blocks and one only syncs blocks.

I still do not understand why you need a second node as you can deploy smart contracts directly to the sequencer using our docker compose setup. Unless there is a missing feature that we need to add to our docker compose setup, you are responsible for any modifications to it

You should be able to add another entry to the existing docker compose setup for a verifier. It will need slightly different configuration. It will need --rollup.sequencerhttp=$SEQUENCER_URL

This is not a bug, this is misconfiguration