diff --git a/op/geth/blast-mainnet-op-geth-archive-leveldb-hash.yml b/op/geth/blast-mainnet-op-geth-archive-leveldb-hash.yml new file mode 100644 index 00000000..4029a3c1 --- /dev/null +++ b/op/geth/blast-mainnet-op-geth-archive-leveldb-hash.yml @@ -0,0 +1,109 @@ + + +services: + blast-mainnet-archive: + + image: blastio/blast-geth:v1.1.0-mainnet + + expose: + - 8545 + - 6060 + ports: + - "10683:10683" + - "10683:10683/udp" + entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""] + restart: unless-stopped + stop_grace_period: 3m + volumes: + - blast-mainnet-op-geth-archive-leveldb-hash:/data + - .jwtsecret:/jwtsecret:ro + - ./blast-io/mainnet:/config + env_file: + - ./blast-io/mainnet/.env + environment: + - "GETH_DATADIR=/data" + - "GETH_OP_NETWORK=blast-mainnet" + - "GETH_GCMODE=archive" + - "GETH_SYNCMODE=full" + - "GETH_STATE_SCHEME=hash" + - "GETH_DB_ENGINE=leveldb" + - "GETH_NAT=extip:${IP}" + - "GETH_PORT=10683" + - "GETH_WS_PORT=8545" + - "GETH_HTTP=true" + - "GETH_HTTP_ADDR=0.0.0.0" + - "GETH_HTTP_VHOSTS=*" + - "GETH_WS=true" + - "GETH_WS_ADDR=0.0.0.0" + - "GETH_WS_ORIGINS=*" + - "GETH_HTTP_API=eth,net,debug,admin,web3" + - "GETH_AUTHRPC_JWTSECRET=/jwtsecret" + - "GETH_AUTHRPC_ADDR=0.0.0.0" + - "GETH_AUTHRPC_VHOSTS=*" + - "GETH_ROLLUP_SEQUENCERHTTP=https://sequencer.blast.io" + + + + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.blast-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/blast-mainnet-archive" + - "traefik.http.services.blast-mainnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545" + - "traefik.http.routers.blast-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure" + - "traefik.http.routers.blast-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver" + - "traefik.http.routers.blast-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/blast-mainnet-archive`)" + - "traefik.http.routers.blast-mainnet-op-geth-archive-leveldb-hash.middlewares=blast-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist" + networks: + - chains + + + blast-mainnet-archive-node: + + image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.1.0-mainnet + + expose: + - 8545 + - 7300 + - 6060 + ports: + - "15683:15683" + - "15683:15683/udp" + entrypoint: [ "op-node" ] + restart: unless-stopped + volumes: + - .jwtsecret:/jwtsecret:ro + - ./blast-io/mainnet:/config + stop_grace_period: 30s + env_file: + - ./blast-io/mainnet/.env + environment: + - OP_NODE_ROLLUP_CONFIG=/config/rollup.json + - "OP_NODE_SYNCMODE=execution-layer" + - "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}" + - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" + - "OP_NODE_L2_ENGINE_RPC=http://blast-mainnet-archive:8551" + - "OP_NODE_LOG_LEVEL=info" + - "OP_NODE_METRICS_ADDR=0.0.0.0" + - "OP_NODE_METRICS_ENABLED=true" + - "OP_NODE_METRICS_PORT=7300" + - "OP_NODE_P2P_LISTEN_IP=0.0.0.0" + - "OP_NODE_P2P_LISTEN_TCP_PORT=15683" + - "OP_NODE_P2P_LISTEN_UDP_PORT=15683" + - "OP_NODE_RPC_ADDR=0.0.0.0" + - "OP_NODE_P2P_ADVERTISE_IP=${IP}" + - "OP_NODE_RPC_PORT=8545" + - "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log" + - "OP_NODE_VERIFIER_L1_CONFS=0" + - "OP_NODE_STATIC_PEERS=" + - "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}" + - "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}" + - "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}" + - "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}" + + + + + networks: + - chains + +volumes: + blast-mainnet-op-geth-archive-leveldb-hash: \ No newline at end of file diff --git a/op/geth/blast-mainnet-op-geth-pruned-pebble-hash.yml b/op/geth/blast-mainnet-op-geth-pruned-pebble-path.yml similarity index 81% rename from op/geth/blast-mainnet-op-geth-pruned-pebble-hash.yml rename to op/geth/blast-mainnet-op-geth-pruned-pebble-path.yml index 462aa98f..971777aa 100644 --- a/op/geth/blast-mainnet-op-geth-pruned-pebble-hash.yml +++ b/op/geth/blast-mainnet-op-geth-pruned-pebble-path.yml @@ -9,13 +9,13 @@ services: - 8545 - 6060 ports: - - "10555:10555" - - "10555:10555/udp" + - "10769:10769" + - "10769:10769/udp" entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""] restart: unless-stopped stop_grace_period: 3m volumes: - - blast-mainnet-op-geth-pruned-pebble-hash:/data + - blast-mainnet-op-geth-pruned-pebble-path:/data - .jwtsecret:/jwtsecret:ro - ./blast-io/mainnet:/config env_file: @@ -24,11 +24,11 @@ services: - "GETH_DATADIR=/data" - "GETH_OP_NETWORK=blast-mainnet" - "GETH_GCMODE=full" - - "GETH_SYNCMODE=full" - - "GETH_STATE_SCHEME=hash" + - "GETH_SYNCMODE=snap" + - "GETH_STATE_SCHEME=path" - "GETH_DB_ENGINE=pebble" - "GETH_NAT=extip:${IP}" - - "GETH_PORT=10555" + - "GETH_PORT=10769" - "GETH_WS_PORT=8545" - "GETH_HTTP=true" - "GETH_HTTP_ADDR=0.0.0.0" @@ -46,12 +46,12 @@ services: labels: - "traefik.enable=true" - - "traefik.http.middlewares.blast-mainnet-op-geth-pruned-pebble-hash-stripprefix.stripprefix.prefixes=/blast-mainnet" - - "traefik.http.services.blast-mainnet-op-geth-pruned-pebble-hash.loadbalancer.server.port=8545" - - "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-hash.entrypoints=websecure" - - "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-hash.tls.certresolver=myresolver" - - "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/blast-mainnet`)" - - "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-hash.middlewares=blast-mainnet-op-geth-pruned-pebble-hash-stripprefix, ipwhitelist" + - "traefik.http.middlewares.blast-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/blast-mainnet" + - "traefik.http.services.blast-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545" + - "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure" + - "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver" + - "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/blast-mainnet`)" + - "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-path.middlewares=blast-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist" networks: - chains @@ -65,8 +65,8 @@ services: - 7300 - 6060 ports: - - "15555:15555" - - "15555:15555/udp" + - "15769:15769" + - "15769:15769/udp" entrypoint: [ "op-node" ] restart: unless-stopped volumes: @@ -86,8 +86,8 @@ services: - "OP_NODE_METRICS_ENABLED=true" - "OP_NODE_METRICS_PORT=7300" - "OP_NODE_P2P_LISTEN_IP=0.0.0.0" - - "OP_NODE_P2P_LISTEN_TCP_PORT=15555" - - "OP_NODE_P2P_LISTEN_UDP_PORT=15555" + - "OP_NODE_P2P_LISTEN_TCP_PORT=15769" + - "OP_NODE_P2P_LISTEN_UDP_PORT=15769" - "OP_NODE_RPC_ADDR=0.0.0.0" - "OP_NODE_P2P_ADVERTISE_IP=${IP}" - "OP_NODE_RPC_PORT=8545" @@ -106,4 +106,4 @@ services: - chains volumes: - blast-mainnet-op-geth-pruned-pebble-hash: \ No newline at end of file + blast-mainnet-op-geth-pruned-pebble-path: \ No newline at end of file diff --git a/op/geth/blast-sepolia-op-geth-archive-leveldb-hash.yml b/op/geth/blast-sepolia-op-geth-archive-leveldb-hash.yml new file mode 100644 index 00000000..848e69f3 --- /dev/null +++ b/op/geth/blast-sepolia-op-geth-archive-leveldb-hash.yml @@ -0,0 +1,109 @@ + + +services: + blast-sepolia-archive: + + image: blastio/blast-geth:sepolia-v1.2.3 + + expose: + - 8545 + - 6060 + ports: + - "10143:10143" + - "10143:10143/udp" + entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""] + restart: unless-stopped + stop_grace_period: 3m + volumes: + - blast-sepolia-op-geth-archive-leveldb-hash:/data + - .jwtsecret:/jwtsecret:ro + - ./blast-io/sepolia:/config + env_file: + - ./blast-io/sepolia/.env + environment: + - "GETH_DATADIR=/data" + - "GETH_OP_NETWORK=blast-sepolia" + - "GETH_GCMODE=archive" + - "GETH_SYNCMODE=full" + - "GETH_STATE_SCHEME=hash" + - "GETH_DB_ENGINE=leveldb" + - "GETH_NAT=extip:${IP}" + - "GETH_PORT=10143" + - "GETH_WS_PORT=8545" + - "GETH_HTTP=true" + - "GETH_HTTP_ADDR=0.0.0.0" + - "GETH_HTTP_VHOSTS=*" + - "GETH_WS=true" + - "GETH_WS_ADDR=0.0.0.0" + - "GETH_WS_ORIGINS=*" + - "GETH_HTTP_API=eth,net,debug,admin,web3" + - "GETH_AUTHRPC_JWTSECRET=/jwtsecret" + - "GETH_AUTHRPC_ADDR=0.0.0.0" + - "GETH_AUTHRPC_VHOSTS=*" + - "GETH_ROLLUP_SEQUENCERHTTP=https://sequencer.s2.testblast.io" + + + - "GETH_OVERRIDE_ECOTONE_TIME=1713999600" + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.blast-sepolia-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/blast-sepolia-archive" + - "traefik.http.services.blast-sepolia-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545" + - "traefik.http.routers.blast-sepolia-op-geth-archive-leveldb-hash.entrypoints=websecure" + - "traefik.http.routers.blast-sepolia-op-geth-archive-leveldb-hash.tls.certresolver=myresolver" + - "traefik.http.routers.blast-sepolia-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/blast-sepolia-archive`)" + - "traefik.http.routers.blast-sepolia-op-geth-archive-leveldb-hash.middlewares=blast-sepolia-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist" + networks: + - chains + + + blast-sepolia-archive-node: + + image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:sepolia-v1.2.3 + + expose: + - 8545 + - 7300 + - 6060 + ports: + - "15143:15143" + - "15143:15143/udp" + entrypoint: [ "op-node" ] + restart: unless-stopped + volumes: + - .jwtsecret:/jwtsecret:ro + - ./blast-io/sepolia:/config + stop_grace_period: 30s + env_file: + - ./blast-io/sepolia/.env + environment: + - OP_NODE_ROLLUP_CONFIG=/config/rollup.json + - "OP_NODE_SYNCMODE=execution-layer" + - "OP_NODE_L1_ETH_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}" + - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" + - "OP_NODE_L2_ENGINE_RPC=http://blast-sepolia-archive:8551" + - "OP_NODE_LOG_LEVEL=info" + - "OP_NODE_METRICS_ADDR=0.0.0.0" + - "OP_NODE_METRICS_ENABLED=true" + - "OP_NODE_METRICS_PORT=7300" + - "OP_NODE_P2P_LISTEN_IP=0.0.0.0" + - "OP_NODE_P2P_LISTEN_TCP_PORT=15143" + - "OP_NODE_P2P_LISTEN_UDP_PORT=15143" + - "OP_NODE_RPC_ADDR=0.0.0.0" + - "OP_NODE_P2P_ADVERTISE_IP=${IP}" + - "OP_NODE_RPC_PORT=8545" + - "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log" + - "OP_NODE_VERIFIER_L1_CONFS=0" + - "OP_NODE_STATIC_PEERS=" + - "OP_NODE_L1_RPC_KIND=${ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}" + - "OP_NODE_L1_TRUST_RPC=${ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}" + - "OP_NODE_L1_BEACON=${ETHEREUM_SEPOLIA_BEACON_REST}" + - "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_SEPOLIA_BEACON_ARCHIVER}" + + + - "OP_NODE_OVERRIDE_ECOTONE_TIME=1713999600" + - "OP_NODE_OVERRIDE_PECTRABLOBSCHEDULE=1742486400" + networks: + - chains + +volumes: + blast-sepolia-op-geth-archive-leveldb-hash: \ No newline at end of file diff --git a/op/geth/blast-sepolia-op-geth-pruned-pebble-hash.yml b/op/geth/blast-sepolia-op-geth-pruned-pebble-path.yml similarity index 82% rename from op/geth/blast-sepolia-op-geth-pruned-pebble-hash.yml rename to op/geth/blast-sepolia-op-geth-pruned-pebble-path.yml index 01e99fdb..f4786b6f 100644 --- a/op/geth/blast-sepolia-op-geth-pruned-pebble-hash.yml +++ b/op/geth/blast-sepolia-op-geth-pruned-pebble-path.yml @@ -9,13 +9,13 @@ services: - 8545 - 6060 ports: - - "10591:10591" - - "10591:10591/udp" + - "10351:10351" + - "10351:10351/udp" entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""] restart: unless-stopped stop_grace_period: 3m volumes: - - blast-sepolia-op-geth-pruned-pebble-hash:/data + - blast-sepolia-op-geth-pruned-pebble-path:/data - .jwtsecret:/jwtsecret:ro - ./blast-io/sepolia:/config env_file: @@ -24,11 +24,11 @@ services: - "GETH_DATADIR=/data" - "GETH_OP_NETWORK=blast-sepolia" - "GETH_GCMODE=full" - - "GETH_SYNCMODE=full" - - "GETH_STATE_SCHEME=hash" + - "GETH_SYNCMODE=snap" + - "GETH_STATE_SCHEME=path" - "GETH_DB_ENGINE=pebble" - "GETH_NAT=extip:${IP}" - - "GETH_PORT=10591" + - "GETH_PORT=10351" - "GETH_WS_PORT=8545" - "GETH_HTTP=true" - "GETH_HTTP_ADDR=0.0.0.0" @@ -46,12 +46,12 @@ services: - "GETH_OVERRIDE_ECOTONE_TIME=1713999600" labels: - "traefik.enable=true" - - "traefik.http.middlewares.blast-sepolia-op-geth-pruned-pebble-hash-stripprefix.stripprefix.prefixes=/blast-sepolia" - - "traefik.http.services.blast-sepolia-op-geth-pruned-pebble-hash.loadbalancer.server.port=8545" - - "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-hash.entrypoints=websecure" - - "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-hash.tls.certresolver=myresolver" - - "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/blast-sepolia`)" - - "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-hash.middlewares=blast-sepolia-op-geth-pruned-pebble-hash-stripprefix, ipwhitelist" + - "traefik.http.middlewares.blast-sepolia-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/blast-sepolia" + - "traefik.http.services.blast-sepolia-op-geth-pruned-pebble-path.loadbalancer.server.port=8545" + - "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-path.entrypoints=websecure" + - "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-path.tls.certresolver=myresolver" + - "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/blast-sepolia`)" + - "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-path.middlewares=blast-sepolia-op-geth-pruned-pebble-path-stripprefix, ipwhitelist" networks: - chains @@ -65,8 +65,8 @@ services: - 7300 - 6060 ports: - - "15591:15591" - - "15591:15591/udp" + - "15351:15351" + - "15351:15351/udp" entrypoint: [ "op-node" ] restart: unless-stopped volumes: @@ -86,8 +86,8 @@ services: - "OP_NODE_METRICS_ENABLED=true" - "OP_NODE_METRICS_PORT=7300" - "OP_NODE_P2P_LISTEN_IP=0.0.0.0" - - "OP_NODE_P2P_LISTEN_TCP_PORT=15591" - - "OP_NODE_P2P_LISTEN_UDP_PORT=15591" + - "OP_NODE_P2P_LISTEN_TCP_PORT=15351" + - "OP_NODE_P2P_LISTEN_UDP_PORT=15351" - "OP_NODE_RPC_ADDR=0.0.0.0" - "OP_NODE_P2P_ADVERTISE_IP=${IP}" - "OP_NODE_RPC_PORT=8545" @@ -106,4 +106,4 @@ services: - chains volumes: - blast-sepolia-op-geth-pruned-pebble-hash: \ No newline at end of file + blast-sepolia-op-geth-pruned-pebble-path: \ No newline at end of file