From 4e9b032d429a4c538224f8a4959ac0497f7e7dcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brain=F0=9F=A7=A0?= Date: Wed, 26 Mar 2025 11:43:39 +0200 Subject: [PATCH 1/3] deprecated --- celo-mainnet-geth-archive.yml | 10 ++-- ethereum-mainnet-firehose.yml | 102 ++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 5 deletions(-) create mode 100644 ethereum-mainnet-firehose.yml diff --git a/celo-mainnet-geth-archive.yml b/celo-mainnet-geth-archive.yml index 02950e4a..c84b707e 100644 --- a/celo-mainnet-geth-archive.yml +++ b/celo-mainnet-geth-archive.yml @@ -1,6 +1,6 @@ services: - celo-archive: - image: us.gcr.io/celo-org/geth:1.8 + celo-mainnet-geth-archive: + image: us.gcr.io/celo-org/geth:1.8.9 restart: unless-stopped stop_grace_period: 1m command: > @@ -29,12 +29,12 @@ services: - chains labels: - "traefik.enable=true" - - "traefik.http.middlewares.celo-mainnet-geth-archive-stripprefix.stripprefix.prefixes=/celo-archive" + - "traefik.http.middlewares.celo-mainnet-geth-archive-stripprefix.stripprefix.prefixes=/celo-mainnet-geth-archive" - "traefik.http.services.celo-mainnet-geth-archive.loadbalancer.server.port=8545" - "${NO_SSL:-traefik.http.routers.celo-mainnet-geth-archive.entrypoints=websecure}" - "${NO_SSL:-traefik.http.routers.celo-mainnet-geth-archive.tls.certresolver=myresolver}" - - "${NO_SSL:-traefik.http.routers.celo-mainnet-geth-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/celo-archive`)}" - - "${NO_SSL:+traefik.http.routers.celo-mainnet-geth-archive.rule=PathPrefix(`/celo-archive`)}" + - "${NO_SSL:-traefik.http.routers.celo-mainnet-geth-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/celo-mainnet-geth-archive`)}" + - "${NO_SSL:+traefik.http.routers.celo-mainnet-geth-archive.rule=PathPrefix(`/celo-mainnet-geth-archive`)}" - "traefik.http.routers.celo-mainnet-geth-archive.middlewares=celo-mainnet-geth-archive-stripprefix, ipwhitelist" diff --git a/ethereum-mainnet-firehose.yml b/ethereum-mainnet-firehose.yml new file mode 100644 index 00000000..8c47184e --- /dev/null +++ b/ethereum-mainnet-firehose.yml @@ -0,0 +1,102 @@ +services: + ethereum-firehose: + build: + context: ./ethereum-firehose/ + args: + FIREHOSE_ETHEREUM: v2.11.2 + FIREHOSE_GETH_VERSION: v1.15.5-fh3.0 + command: -c /etc/firehose/config.yml start +# environment: +# - DOMAIN=${DOMAIN:-yourdomain.com} +# - ETHEREUM_ARCHIVE_RPC=${ETHEREUM_FIREHOSE_ETHEREUM_MAINNET_ARCHIVE_EXECUTION_RPC:-http://eth.drpc.org} +# - S3_BLOCKS_STORE_URL=${ETHEREUM_FIREHOSE_ETHEREUM_MAINNET_S3_BLOCKS_STORE:-/var/lib/eth-blocks} + expose: + - 8545 # firegeth + - 8551 + - 9663 + - 10015 # fireeth + - 10016 # substreams + ports: + - "10015:10015" + - "10016:10016" + - "24465:24465/tcp" + - "24465:24465/udp" + labels: + - "traefik.enable=true" + + - "traefik.http.services.ethereum-mainnet-firehose-fireeth.loadbalancer.server.scheme=h2c" + - "traefik.http.routers.ethereum-mainnet-firehose-fireeth.service=ethereum-mainnet-firehose-fireeth" + - "traefik.http.services.ethereum-mainnet-firehose-fireeth.loadbalancer.server.port=10015" + - "traefik.http.routers.ethereum-mainnet-firehose-fireeth.entrypoints=grpc" + - "${NO_SSL:-traefik.http.routers.ethereum-mainnet-firehose-fireeth.tls.certresolver=myresolver}" + - "traefik.http.routers.ethereum-mainnet-firehose-fireeth.rule=Host(`ethereum-mainnet-firehose-fireeth.${DOMAIN}`)" + - "traefik.http.routers.ethereum-mainnet-firehose-fireeth.middlewares=ipwhitelist" + + - "traefik.http.services.ethereum-mainnet-firehose-substreams.loadbalancer.server.scheme=h2c" + - "traefik.http.routers.ethereum-mainnet-firehose-substreams.service=ethereum-mainnet-firehose-substreams" + - "traefik.http.services.ethereum-mainnet-firehose-substreams.loadbalancer.server.port=10016" + - "traefik.http.routers.ethereum-mainnet-firehose-substreams.entrypoints=grpc" + - "${NO_SSL:-traefik.http.routers.ethereum-mainnet-firehose-substreams.tls.certresolver=myresolver}" + - "traefik.http.routers.ethereum-mainnet-firehose-substreams.rule=Host(`ethereum-mainnet-firehose-substreams.${DOMAIN}`)" + - "traefik.http.routers.ethereum-mainnet-firehose-substreams.middlewares=ipwhitelist" + + - "traefik.http.middlewares.ethereum-mainnet-firehose-firegeth-stripprefix.stripprefix.prefixes=/ethereum-firehose-firegeth" + - "traefik.http.routers.ethereum-mainnet-firehose-firegeth.service=ethereum-mainnet-firehose-firegeth" + - "traefik.http.services.ethereum-mainnet-firehose-firegeth.loadbalancer.server.port=8545" + - "${NO_SSL:-traefik.http.routers.ethereum-mainnet-firehose-firegeth.entrypoints=websecure}" + - "${NO_SSL:-traefik.http.routers.ethereum-mainnet-firehose-firegeth.tls.certresolver=myresolver}" + - "${NO_SSL:-traefik.http.routers.ethereum-mainnet-firehose-firegeth.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-firehose-firegeth`)}" + - "${NO_SSL:+traefik.http.routers.ethereum-mainnet-firehose-firegeth.rule=PathPrefix(`/ethereum-firehose-firegeth`)}" + - "traefik.http.routers.ethereum-mainnet-firehose-firegeth.middlewares=ethereum-mainnet-firehose-firegeth-stripprefix, ipwhitelist" + + networks: + - chains + volumes: + - ./ethereum-firehose/config.yml:/etc/firehose/config.yml:ro + - ${ETHEREUM_MAINNET_FIREHOSE__FIREGETH_DATA:-ethereum-mainnet-firehose-fireeth}:/var/lib/firehose # Firehose data-dir + - ${ETHEREUM_MAINNET_FIREHOSE__BLOCKS_DATA:-ethereum-mainnet-firehose-blocks}:/var/lib/eth-blocks # Merged blocks store + - .jwtsecret:/jwtsecret:ro # JWT for authrpc + restart: unless-stopped + stop_grace_period: 5m + + ethereum-firehose-beacon: + image: statusim/nimbus-eth2:multiarch-v25.3.0 + restart: unless-stopped + user: root + command: + - --network=mainnet + - --data-dir=/data + - --tcp-port=6608 + - --udp-port=6608 + - --rest=yes + - --rest-port=5052 + - --rest-address=0.0.0.0 + - --metrics=yes + - --metrics-port=7071 + - --web3-url=http://ethereum-firehose:9663 + - --jwt-secret=/data/jwt.hex + - --external-beacon-api-url=https://beaconstate-mainnet.chainsafe.io + expose: + - "5052" + - "7071" + ports: + - "6608:6608/tcp" + - "6608:6608/udp" + networks: + - chains + volumes: + - ${ETHEREUM_MAINNET_FIREHOSE__NIMBUS_DATA:-ethereum-mainnet-firehose-nimbus}:/data # Beacon node data-dir + - .jwtsecret:/data/jwt.hex:ro # JWT (same as firehose) + labels: + - "traefik.http.middlewares.ethereum-mainnet-firehose-beacon-stripprefix.stripprefix.prefixes=/ethereum-firehose-beacon" + - "traefik.http.services.ethereum-mainnet-firehose-beacon.loadbalancer.server.port=5052" + - "${NO_SSL:-traefik.http.routers.ethereum-mainnet-firehose-beacon.entrypoints=websecure}" + - "${NO_SSL:-traefik.http.routers.ethereum-mainnet-firehose-beacon.tls.certresolver=myresolver}" + - "${NO_SSL:-traefik.http.routers.ethereum-mainnet-firehose-beacon.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-firehose-beacon`)}" + - "${NO_SSL:+traefik.http.routers.ethereum-mainnet-firehose-beacon.rule=PathPrefix(`/ethereum-firehose-beacon`)}" + - "traefik.http.routers.ethereum-mainnet-firehose-beacon.middlewares=ethereum-mainnet-firehose-beacon-stripprefix, ipwhitelist" + +volumes: + ethereum-mainnet-firehose-firegeth: + ethereum-mainnet-firehose-blocks: + ethereum-mainnet-firehose-nimbus: From 4704817f6560b6cd0dee61f2169dc15fecde2afb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brain=F0=9F=A7=A0?= Date: Wed, 26 Mar 2025 11:58:25 +0200 Subject: [PATCH 2/3] revert --- fantom-mainnet-opera-archive-trace.yml | 35 +++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) mode change 120000 => 100644 fantom-mainnet-opera-archive-trace.yml diff --git a/fantom-mainnet-opera-archive-trace.yml b/fantom-mainnet-opera-archive-trace.yml deleted file mode 120000 index ebd97821..00000000 --- a/fantom-mainnet-opera-archive-trace.yml +++ /dev/null @@ -1 +0,0 @@ -fantom/opera/fantom-mainnet-opera-archive-trace.yml \ No newline at end of file diff --git a/fantom-mainnet-opera-archive-trace.yml b/fantom-mainnet-opera-archive-trace.yml new file mode 100644 index 00000000..904f35ec --- /dev/null +++ b/fantom-mainnet-opera-archive-trace.yml @@ -0,0 +1,34 @@ +services: + fantom-archive-trace: + build: + args: + VERSION: release/txtracing/1.1.3-rc.5 + context: ./fantom + stop_grace_period: 3m + environment: + - CACHE_SIZE=${FANTOM_ARCHIVE_TRACE_CACHE_SIZE:-16000} + - IP=${IP} + volumes: + - "${FANTOM_MAINNET_OPERA_ARCHIVE_TRACE_DATA:-fantom-mainnet-opera-archive-trace}:/datadir" + - "./fantom/config:/config" + expose: + - "18544" + - "19921" + ports: + - "19921:19921" + - "19921:19921/udp" + networks: + - chains + restart: unless-stopped + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.fantom-mainnet-opera-archive-trace-stripprefix.stripprefix.prefixes=/fantom-archive-trace" + - "traefik.http.services.fantom-mainnet-opera-archive-trace.loadbalancer.server.port=18544" + - "${NO_SSL:-traefik.http.routers.fantom-mainnet-opera-archive-trace.entrypoints=websecure}" + - "${NO_SSL:-traefik.http.routers.fantom-mainnet-opera-archive-trace.tls.certresolver=myresolver}" + - "${NO_SSL:-traefik.http.routers.fantom-mainnet-opera-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-archive-trace`)}" + - "${NO_SSL:+traefik.http.routers.fantom-mainnet-opera-archive-trace.rule=PathPrefix(`/fantom-archive-trace`)}" + - "traefik.http.routers.fantom-mainnet-opera-archive-trace.middlewares=fantom-mainnet-opera-archive-trace-stripprefix, ipwhitelist" + +volumes: + fantom-mainnet-opera-archive-trace: From c73acf342a705878c47e87da18ee6bde4098d8f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brain=F0=9F=A7=A0?= Date: Wed, 26 Mar 2025 12:04:00 +0200 Subject: [PATCH 3/3] home --- celo-mainnet-op-geth-archive-leveldb-hash.yml | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 celo-mainnet-op-geth-archive-leveldb-hash.yml diff --git a/celo-mainnet-op-geth-archive-leveldb-hash.yml b/celo-mainnet-op-geth-archive-leveldb-hash.yml new file mode 100644 index 00000000..767dddb5 --- /dev/null +++ b/celo-mainnet-op-geth-archive-leveldb-hash.yml @@ -0,0 +1,114 @@ +services: + celo-mainnet-archive: + image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth:${CELO_L2_VERSION:-celo-v2.0.0} + volumes: + - "${CELO_MAINNET_OP_GETH_ARCHIVE_LEVELDB_HASH_DATA:-celo-mainnet-op-geth-archive-leveldb-hash}:/datadir" + - ".jwtsecret:/shared/jwt.txt" + - "./celo/mainnet/:/chainconfig" + - "./celo/scripts/:/scripts" + ports: + - "10111:10111" + - "10111:10111/udp" + expose: + - 8545 + - 8551 + networks: + - chains + restart: always + stop_grace_period: 5m + entrypoint: /scripts/start-op-geth.sh + environment: + - NETWORK_NAME=mainnet + - GETH_BOOTNODES=enode://28f4fcb7f38c1b012087f7aef25dcb0a1257ccf1cdc4caa88584dc25416129069b514908c8cead5d0105cb0041dd65cd4ee185ae0d379a586fb07b1447e9de38@34.169.39.223:30303,enode://a9077c3e030206954c5c7f22cc16a32cb5013112aa8985e3575fadda7884a508384e1e63c077b7d9fcb4a15c716465d8585567f047c564ada2e823145591e444@34.169.212.31:30303,enode://029b007a7a56acbaa8ea50ec62cda279484bf3843fae1646f690566f784aca50e7d732a9a0530f0541e5ed82ba9bf2a4e21b9021559c5b8b527b91c9c7a38579@34.82.139.199:30303,enode://f3c96b73a5772c5efb48d5a33bf193e58080d826ba7f03e9d5bdef20c0634a4f83475add92ab6313b7a24aa4f729689efb36f5093e5d527bb25e823f8a377224@34.82.84.247:30303,enode://daa5ad65d16bcb0967cf478d9f20544bf1b6de617634e452dff7b947279f41f408b548261d62483f2034d237f61cbcf92a83fc992dbae884156f28ce68533205@34.168.45.168:30303,enode://c79d596d77268387e599695d23e941c14c220745052ea6642a71ef7df31a13874cb7f2ce2ecf5a8a458cfc9b5d9219ce3e8bc6e5c279656177579605a5533c4f@35.247.32.229:30303,enode://4151336075dd08eb6c75bfd63855e8a4bd6fd0f91ae4a81b14930f2671e16aee55495c139380c16e1094a49691875e69e40a3a5e2b4960c7859e7eb5745f9387@35.205.149.224:30303,enode://ab999db751265c714b171344de1972ed74348162de465a0444f56e50b8cfd048725b213ba1fe48c15e3dfb0638e685ea9a21b8447a54eb2962c6768f43018e5c@34.79.3.199:30303,enode://9d86d92fb38a429330546fe1aefce264e1f55c5d40249b63153e7df744005fa3c1e2da295e307041fd30ab1c618715f362c932c28715bc20bed7ae4fc76dea81@34.77.144.164:30303,enode://c82c31f21dd5bbb8dc35686ff67a4353382b4017c9ec7660a383ccb5b8e3b04c6d7aefe71203e550382f6f892795728570f8190afd885efcb7b78fa398608699@34.76.202.74:30303,enode://3bad5f57ad8de6541f02e36d806b87e7e9ca6d533c956e89a56b3054ae85d608784f2cd948dc685f7d6bbd5a2f6dd1a23cc03e529ea370dd72d880864a2af6a3@104.199.93.87:30303,enode://1decf3b8b9a0d0b8332d15218f3bf0ceb9606b0efe18f352c51effc14bbf1f4f3f46711e1d460230cb361302ceaad2be48b5b187ad946e50d729b34e463268d2@35.240.26.148:30303 + - BEDROCK_DATADIR=/datadir + - OP_GETH__SYNCMODE=full + - GETH_STATE_SCHEME=hash + - GETH_DB_ENGINE=leveldb + - GETH_NAT=extip:${IP} + - NODE_TYPE=archive + - BEDROCK_SEQUENCER_HTTP=https://cel2-sequencer.celo.org + - PORT__OP_GETH_P2P=10111 + - IS_CUSTOM_CHAIN=true + - OP_GETH__HISTORICAL_RPC=${CELO_MAINNET_ARCHIVE_GETH:-http://celo-mainnet-geth-archive:8545} + + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.celo-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-mainnet-archive" + - "traefik.http.services.celo-mainnet-op-geth-archive-leveldb-hash-op-geth-pruned-pebble-path.loadbalancer.server.port=8545" + - "${NO_SSL:-traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure}" + - "${NO_SSL:-traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver}" + - "${NO_SSL:-traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/celo-mainnet-archive`)}" + - "${NO_SSL:+traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.rule=PathPrefix(`/celo-mainnet-archive`)}" + - "traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.middlewares=celo-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist" + + + celo-mainnet-archive-node: + image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-node:${CELO_L2_VERSION:-celo-v2.0.0} + depends_on: + - celo-mainnet-archive + expose: + - 9545 # RPC + - 7300 # metrics + - 6060 # pprof + networks: + - chains + ports: + - "15111:15111" + - "15111:15111/udp" + environment: + - HEALTHCHECK__REFERENCE_RPC_PROVIDER=https://forno.celo.org + - OP_NODE_ALTDA_DA_SERVER="http://celo-mainnet-archive-eigenda-proxy:4242" + - OP_NODE_P2P_LISTEN_TCP_PORT=15111 + - OP_NODE_P2P_LISTEN_UDP_PORT=15111 + - OP_NODE_P2P_STATIC=/ip4/34.83.180.111/tcp/9222/p2p/16Uiu2HAkxBYxPd4eDFJzwm84XPzymkXud847vu65eju4UCDRpDSM,/ip4/34.169.135.64/tcp/9222/p2p/16Uiu2HAm6oVW1YeKheAuhnJSySnVvbXZ5gXL4g36XrWb1imF9K3m,/ip4/34.169.201.36/tcp/9222/p2p/16Uiu2HAmCqAFUoq72tjGJfCkkzHoNbjTjshjEED4kWtRKMSxcMgb,/ip4/34.83.127.51/tcp/9222/p2p/16Uiu2HAmBqKBoxkk95CsZiXQmQHv9WMiHXU4Di6wzFuYEKo1i7dg,/ip4/35.227.175.30/tcp/9222/p2p/16Uiu2HAmTNVkin4vogHsqwJwShUkHtx48aDoxygGwgp9Tv5zQWTM,/ip4/34.82.198.98/tcp/9222/p2p/16Uiu2HAmS6CeFPUXMztLf4VDh9NLbauuXLSYx9YkXfyiscqoxsKt,/ip4/34.38.181.223/tcp/9222/p2p/16Uiu2HAmH3xfYGjaJDw6sxa8ds3bVwMYLZRpPzpTtTrYq7G4nZs3,/ip4/34.76.38.6/tcp/9222/p2p/16Uiu2HAm6yXZ9oRTSJfZzXe8wXJ165X3pfzAKdLB9sa27eRZgTwD,/ip4/35.187.106.54/tcp/9222/p2p/16Uiu2HAmPFucuARxzAqtXcD3evFoutKh7tSmfQCxwPKUXfkoyaqY,/ip4/34.76.16.183/tcp/9222/p2p/16Uiu2HAmS8NybNYedzHf4nuFfqyCDH9xiMpgMWxctMtau8dTUxeP,/ip4/104.199.39.59/tcp/9222/p2p/16Uiu2HAmGfwjf1XPikWYDN4NFpTBuuvs6C7eF2iyyKvvjK2MGrVM,/ip4/34.140.117.79/tcp/9222/p2p/16Uiu2HAkwSVN7WHohhoE1sh932y2q3Pv7AFiSugM8K6iFZLALq66 + - OP_NODE_ALTDA_ENABLED=true + - OP_NODE_ALTDA_DA_SERVICE=true + - OP_NODE_ALTDA_VERIFY_ON_READ=false + - OP_NODE_ALTDA_DA_SERVER=http://celo-mainnet-archive-eigenda-proxy:4242 + - OP_NODE_L2_ENGINE_AUTH=/jwtsecret + command: > + op-node + --l1="${ETHEREUM_MAINNET_EXECUTION_RPC}" + --l2=http://celo-mainnet-archive:8551 + --rpc.addr=0.0.0.0 + --rpc.port=9545 + --l1.trustrpc + --l1.rpckind=basic + --l1.beacon="${ETHEREUM_MAINNET_BEACON_REST}" + --syncmode=execution-layer + --p2p.priv.path=/chainconfigs/p2p_node_key_txt + --rollup.config=/chainconfigs/rollup.json + --rollup.load-protocol-versions=true + --rollup.halt=major + restart: always + volumes: + - .jwtsecret:/jwtsecret + - ./celo/mainnet/:/chainconfigs/ + stop_grace_period: 30s + + celo-mainnet-archive-eigenda-proxy: + platform: linux/amd64 + image: ghcr.io/layr-labs/eigenda-proxy:v1.6.4 + restart: unless-stopped + stop_grace_period: 5m + entrypoint: /scripts/start-eigenda-proxy.sh + environment: + - EIGENDA_LOCAL_DISPERSER_RPC=disperser.eigenda.xyz:443 + - EIGENDA_LOCAL_SVC_MANAGER_ADDR=0x870679e138bcdf293b7ff14dd44b70fc97e12fc0 + - OP_NODE__RPC_ENDPOINT=${ETHEREUM_MAINNET_EXECUTION_RPC} + volumes: + - ${CELO_MAINNET_OP_GETH_ARCHIVE_LEVELDB_HASH__EIGENDA_DATA:-celo-mainnet-op-geth-archive-leveldb-hash_eigenda}:/data + - ./celo/scripts:/scripts + + celo-mainnet-archive-key-generator: + image: ghcr.io/foundry-rs/foundry + volumes: + - "./celo/mainnet:/config" + entrypoint: sh + command: "[ -f /config/p2p_node_key_txt ] && exit 0 || cast w n | grep -i 'Private Key' | awk -F ': ' '{print $2}' | sed 's/0x//' > /config/p2p_node_key_txt" + +volumes: + celo-mainnet-op-geth-archive-leveldb-hash: + celo-mainnet-op-geth-archive-leveldb-hash_eigenda: + +