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:
- 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
- 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
- setup my hardhat file to point to op-geth and deploy to this endpoint without changes between before and after bedrock
- 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)
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