diff --git a/local-test/README.md b/local-test/README.md index e5e801a..e07d35a 100644 --- a/local-test/README.md +++ b/local-test/README.md @@ -67,7 +67,8 @@ All defaults can be overridden via environment variables. Common ones: | `MORPHNODE_BIN` | `../morph/node/build/bin/morphnode` | Path to morphnode binary | | `RETH_HTTP_PORT` | `8545` | HTTP RPC port | | `RETH_AUTHRPC_PORT` | `8551` | Engine API auth RPC port | -| `MORPH_NODE_L1_RPC` | *(per-network default)* | L1 Ethereum RPC endpoint | +| `MORPH_NODE_L1_RPC` | *(per-network default)* | L1 Ethereum execution RPC endpoint | +| `MORPH_NODE_L1_BEACON_RPC` | *(per-network default)* | L1 Ethereum beacon (blob) RPC endpoint — required for L1 derivation | Example with overrides: diff --git a/local-test/common.sh b/local-test/common.sh index 75e6e8b..90fea06 100755 --- a/local-test/common.sh +++ b/local-test/common.sh @@ -25,6 +25,9 @@ export MORPH_NETWORK if [[ "${MORPH_NETWORK}" == "mainnet" ]]; then : "${MORPH_NODE_L1_RPC:=${MORPH_NODE_L1_ETH_RPC:-https://ethereum.publicnode.com}}" + # L1 Beacon (CL) endpoint — a fullnode (no sequencer signer) derives L2 blocks + # from batches posted to L1 as EIP-4844 blobs, so the beacon blob API is required. + : "${MORPH_NODE_L1_BEACON_RPC:=${MORPH_NODE_L1_ETH_BEACON_RPC:-https://ethereum-beacon-api.publicnode.com}}" : "${MORPH_NODE_DEPOSIT_CONTRACT:=${MORPH_NODE_SYNC_DEPOSIT_CONTRACT_ADDRESS:-0x3931ade842f5bb8763164bdd81e5361dce6cc1ef}}" : "${MORPH_NODE_ROLLUP_CONTRACT:=}" : "${MORPH_NODE_EXTRA_FLAGS:=--mainnet}" @@ -33,9 +36,11 @@ if [[ "${MORPH_NETWORK}" == "mainnet" ]]; then : "${MORPH_CHAIN:=mainnet}" else : "${MORPH_NODE_L1_RPC:=${MORPH_NODE_L1_ETH_RPC:-https://ethereum-hoodi-rpc.publicnode.com}}" + # L1 Beacon (CL) endpoint — see mainnet branch above for why this is required. + : "${MORPH_NODE_L1_BEACON_RPC:=${MORPH_NODE_L1_ETH_BEACON_RPC:-https://ethereum-hoodi-beacon-api.publicnode.com}}" : "${MORPH_NODE_DEPOSIT_CONTRACT:=${MORPH_NODE_SYNC_DEPOSIT_CONTRACT_ADDRESS:-0xd7f39d837f4790b215ba67e0ab63665912648dbe}}" : "${MORPH_NODE_ROLLUP_CONTRACT:=0x57e0e6dde89dc52c01fe785774271504b1e04664}" - : "${MORPH_NODE_EXTRA_FLAGS:=}" + : "${MORPH_NODE_EXTRA_FLAGS:=--hoodi}" : "${CONFIG_ZIP_URL:=https://raw.githubusercontent.com/morph-l2/run-morph-node/main/hoodi/data.zip}" : "${CONFIG_ZIP_PATH:=./local-test/hoodi-data.zip}" : "${MORPH_CHAIN:=hoodi}" diff --git a/local-test/node-start.sh b/local-test/node-start.sh index 3f74a4b..b6038a5 100755 --- a/local-test/node-start.sh +++ b/local-test/node-start.sh @@ -29,6 +29,7 @@ args=( --l2.eth "http://${RETH_HTTP_ADDR}:${RETH_HTTP_PORT}" --l2.engine "http://${RETH_AUTHRPC_ADDR}:${RETH_AUTHRPC_PORT}" --l1.rpc "${MORPH_NODE_L1_RPC}" + --l1.beaconrpc "${MORPH_NODE_L1_BEACON_RPC}" --sync.depositContractAddr "${MORPH_NODE_DEPOSIT_CONTRACT}" --log.filename "${NODE_LOG_FILE}" )