diff --git a/Makefile b/Makefile index 1fdebae09..3b81f60a7 100644 --- a/Makefile +++ b/Makefile @@ -120,7 +120,22 @@ start-gateway: build-follower-op-node build-follower-op-geth build-gateway $(PORTAL) | docker run -i imega/jq -r '.result' > .local_gateway_and_follower/config/rollup.json; \ curl -s -X POST -H "Content-Type: application/json" \ --data '{"jsonrpc":"2.0","method":"portal_fileGenesis","params":[],"id":1}' \ - $(PORTAL) | docker run -i imega/jq -r '.result' > .local_gateway_and_follower/config/genesis.json; \ + $(PORTAL) | docker run --rm -i imega/jq -r '.result' > .local_gateway_and_follower/config/genesis.json; \ + else \ + NEW_GOSSIP=$$(curl -s -X POST -H 'Content-Type: application/json' \ + --data '{"jsonrpc":"2.0","method":"portal_opNodeGossipStatic","params":[],"id":1}' \ + $(PORTAL) | docker run --rm -i imega/jq -r '.result'); \ + NEW_ENR=$$(curl -s -X POST -H 'Content-Type: application/json' \ + --data '{"jsonrpc":"2.0","method":"portal_opNodeBootnodeEnr","params":[],"id":1}' \ + $(PORTAL) | docker run --rm -i imega/jq -r '.result'); \ + NEW_GETH=$$(curl -s -X POST -H 'Content-Type: application/json' \ + --data '{"jsonrpc":"2.0","method":"portal_opGethBootnodeEnode","params":[],"id":1}' \ + $(PORTAL) | docker run --rm -i imega/jq -r '.result'); \ + sed -i -E \ + -e "s#^MAIN_OP_NODE_GOSSIP_STATIC=.*#MAIN_OP_NODE_GOSSIP_STATIC=$${NEW_GOSSIP}#" \ + -e "s#^MAIN_OP_NODE_ENR=.*#MAIN_OP_NODE_ENR=$${NEW_ENR}#" \ + -e "s#^MAIN_OP_GETH_ENODE=.*#MAIN_OP_GETH_ENODE=$${NEW_GETH}#" \ + .local_gateway_and_follower/.env; \ fi @mkdir -p .local_gateway_and_follower/data @if [ "$(BASED_OP_GETH_DATA_DIR)" != ".local_gateway_and_follower/data/geth" ] && [ -d "$(BASED_OP_GETH_DATA_DIR)" ] && [ ! -d ".local_gateway_and_follower/data/geth" ]; then \ @@ -164,12 +179,14 @@ start-gateway: build-follower-op-node build-follower-op-geth build-gateway L1_CHAIN_ID?=11155111 -L2_CHAIN_ID?=2151908 +L2_CHAIN_ID?=$(shell \ + RAW=$$(od -An -N2 -tu2 /dev/urandom | tr -d ' '); \ + echo $$((RAW % 50000 + 1)); \ +) L2_CHAIN_ID_HEX := $(shell printf "0x%064x" $(L2_CHAIN_ID)) L1_RPC_URL?=https://ethereum-sepolia-rpc.publicnode.com L1_BEACON_RPC_URL?=https://ethereum-sepolia-beacon-api.publicnode.com - # ──────────────────────────────────────────────────────────────────────────────── # Only perform these parse-time checks if the user asked for deploy-chain # or start-main-node on the command line. @@ -199,6 +216,7 @@ deploy-chain: echo "❌ Seems like information of a previous chain is already present. Please remove .local_main_node to deploy a new one."; \ exit 1; \ fi + @echo "Deploying new Chain with id: $(L2_CHAIN_ID)" @mkdir -p .local_main_node/config @docker run -v $$(pwd)/.local_main_node/config:/config --entrypoint sh --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.0.11 -c "/op-deployer init --l1-chain-id $(L1_CHAIN_ID) --l2-chain-ids $(L2_CHAIN_ID) --workdir /config && chmod 666 /config/*" @wallet_batcher=$$(cd based && cargo run --bin key_to_address $(OP_BATCHER_KEY)); \ @@ -214,8 +232,8 @@ deploy-chain: > .local_main_node/config/intent.toml @docker run -v $$(pwd)/.local_main_node/config:/config --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.0.11 apply --workdir /config --l1-rpc-url $(L1_RPC_URL) --private-key $(MAIN_KEY) - @docker run -v $$(pwd)/.local_main_node/config:/config --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.2.0 inspect genesis --workdir /config $(L2_CHAIN_ID) > $$(pwd)/.local_main_node/config/genesis.json - @docker run -v $$(pwd)/.local_main_node/config:/config --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.2.0 inspect rollup --workdir /config $(L2_CHAIN_ID) > $$(pwd)/.local_main_node/config/rollup.json + @docker run -v $$(pwd)/.local_main_node/config:/config --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.2.0 inspect genesis --workdir /config $(L2_CHAIN_ID_HEX) > $$(pwd)/.local_main_node/config/genesis.json + @docker run -v $$(pwd)/.local_main_node/config:/config --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.2.0 inspect rollup --workdir /config $(L2_CHAIN_ID_HEX) > $$(pwd)/.local_main_node/config/rollup.json @docker run -v $$(pwd)/.local_main_node/config:/config --entrypoint sh --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.2.0 -c "chmod 666 /config/*" @docker run -v $$(pwd)/.local_main_node/config:/config -i imega/jq '.chain_op_config = {"eip1559Elasticity":6, "eip1559Denominator":50, "eip1559DenominatorCanyon":250}' /config/rollup.json \ > $$(pwd)/.local_main_node/config/rollup.json.tmp && mv $$(pwd)/.local_main_node/config/rollup.json.tmp $$(pwd)/.local_main_node/config/config.json diff --git a/based/bin/portal/src/server.rs b/based/bin/portal/src/server.rs index a4196d0e9..86fdf0ef4 100644 --- a/based/bin/portal/src/server.rs +++ b/based/bin/portal/src/server.rs @@ -46,7 +46,7 @@ impl fmt::Debug for Gateway { /// If we get fcus faster than this threshold we assume that we are in sync mode and will /// not propagate anything to the gateways -const SYNC_FCU_DT_THRESHOLD: Nanos = Nanos::from_millis(1500); +const SYNC_FCU_DT_THRESHOLD: Nanos = Nanos::from_millis(999); #[derive(Clone)] pub struct PortalServer { @@ -506,6 +506,7 @@ impl EngineApiServer for PortalServer { async fn get_payload_v3(&self, payload_id: PayloadId) -> RpcResult { debug!(%payload_id, "new request"); if self.syncing() { + error!("syncing"); return Ok(self.fallback_client.clone().get_payload_v3(payload_id).await?); }