homecoming
This commit is contained in:
@@ -1,45 +0,0 @@
|
||||
version: '3.1'
|
||||
|
||||
services:
|
||||
arbitrum-classic:
|
||||
image: 'offchainlabs/arb-node:v1.4.5-e97c1a4'
|
||||
restart: always
|
||||
stop_grace_period: 30s
|
||||
user: root
|
||||
volumes:
|
||||
- ${ARBITRUM_CLASSIC_GETH_ARCHIVE_TRACE_DATA:-arbitrum-classic-geth-archive-trace}:/root/.arbitrum/mainnet
|
||||
- ./arbitrum/classic-entrypoint.sh:/entrypoint.sh
|
||||
expose:
|
||||
- 8547
|
||||
- 8548
|
||||
entrypoint: ["/bin/bash", "/entrypoint.sh"]
|
||||
command: >
|
||||
--l1.url=http://eth.drpc.org
|
||||
--core.checkpoint-gas-frequency=156250000
|
||||
--node.rpc.enable-l1-calls
|
||||
--node.cache.allow-slow-lookup
|
||||
--node.rpc.tracing.enable
|
||||
--node.rpc.addr=0.0.0.0
|
||||
--node.rpc.tracing.namespace=trace
|
||||
--node.chain-id=42161
|
||||
--metrics
|
||||
--metrics-server.addr=0.0.0.0
|
||||
--metrics-server.port=7070
|
||||
--l2.disable-upstream
|
||||
--persistent.chain=/mnt/data/classic/datadir/
|
||||
--persistent.global-config=/mnt/data/classic/
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.arbitrum-classic-geth-archive-trace-stripprefix.stripprefix.prefixes=/arbitrum-classic"
|
||||
- "traefik.http.services.arbitrum-classic-geth-archive-trace.loadbalancer.server.port=8547"
|
||||
- "${NO_SSL:-traefik.http.routers.arbitrum-classic-geth-archive-trace.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.arbitrum-classic-geth-archive-trace.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.arbitrum-classic-geth-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/arbitrum-classic`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.arbitrum-classic-geth-archive-trace.rule=PathPrefix(`/arbitrum-classic`)}"
|
||||
- "traefik.http.routers.arbitrum-classic-geth-archive-trace.middlewares=arbitrum-classic-geth-archive-trace-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
arbitrum-classic-geth-archive-trace:
|
||||
45
arbitrum-one-mainnet-arbnode-archive-trace.yml
Normal file
45
arbitrum-one-mainnet-arbnode-archive-trace.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
services:
|
||||
arbitrum-classic:
|
||||
image: 'offchainlabs/arb-node:v1.4.5-e97c1a4'
|
||||
stop_grace_period: 30s
|
||||
user: root
|
||||
volumes:
|
||||
- ${ARBITRUM_ONE_MAINNET_ARBNODE_ARCHIVE_TRACE_DATA:-arbitrum-one-mainnet-arbnode-archive-trace}:/data
|
||||
- ./arbitrum/classic-entrypoint.sh:/entrypoint.sh
|
||||
expose:
|
||||
- 8547
|
||||
- 8548
|
||||
entrypoint: ["/bin/bash", "/entrypoint.sh"]
|
||||
command: >
|
||||
--l1.url=http://eth.drpc.org
|
||||
--core.checkpoint-gas-frequency=156250000
|
||||
--node.rpc.enable-l1-calls
|
||||
--node.cache.allow-slow-lookup
|
||||
--node.rpc.tracing.enable
|
||||
--node.rpc.addr=0.0.0.0
|
||||
--node.rpc.port=8547
|
||||
--node.rpc.tracing.namespace=trace
|
||||
--node.chain-id=42161
|
||||
--node.ws.addr=0.0.0.0
|
||||
--node.ws.port=8548
|
||||
--metrics
|
||||
--metrics-server.addr=0.0.0.0
|
||||
--metrics-server.port=7070
|
||||
--l2.disable-upstream
|
||||
--persistent.chain=/data/datadir/
|
||||
--persistent.global-config=/data/
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.arbitrum-one-mainnet-arbnode-archive-trace-stripprefix.stripprefix.prefixes=/arbitrum-classic"
|
||||
- "traefik.http.services.arbitrum-one-mainnet-arbnode-archive-trace.loadbalancer.server.port=8547"
|
||||
- "${NO_SSL:-traefik.http.routers.arbitrum-one-mainnet-arbnode-archive-trace.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.arbitrum-one-mainnet-arbnode-archive-trace.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.arbitrum-one-mainnet-arbnode-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/arbitrum-classic`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.arbitrum-one-mainnet-arbnode-archive-trace.rule=PathPrefix(`/arbitrum-classic`)}"
|
||||
- "traefik.http.routers.arbitrum-one-mainnet-arbnode-archive-trace.middlewares=arbitrum-one-mainnet-arbnode-archive-trace-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
arbitrum-one-mainnet-arbnode-archive-trace:
|
||||
@@ -4,19 +4,18 @@ services:
|
||||
stop_grace_period: 3m
|
||||
user: root
|
||||
volumes:
|
||||
- '${ARBITRUM_ONE_NITRO_ARCHIVE_DATA:-arbitrum-one-nitro-archive:/arbitrum-node'
|
||||
- '${ARBITRUM_ONE_NITRO_ARCHIVE_DATA:-arbitrum-one-nitro-archive}:/arbitrum-node'
|
||||
- './tmp/arbitrum-archive:/tmp' # only used to initialize from scratch and the download is HUGE
|
||||
expose:
|
||||
- 8547
|
||||
command: >
|
||||
--init.latest=archive
|
||||
--execution.caching.archive
|
||||
--chain.name=arb1
|
||||
#--execution.caching.state-scheme=hash
|
||||
#--persistent.db-engine=pebble
|
||||
--persistent.chain=/arbitrum-node/datadir/
|
||||
--persistent.chain=/arbitrum-node/datadir
|
||||
--persistent.global-config=/arbitrum-node/
|
||||
--parent-chain.connection.url=${ARBITRUM_L1_ETHEREUM_ONE_EXECUTION_RPC}
|
||||
--parent-chain.blob-client.beacon-url=${ARBITRUM_L1_ETHEREUM_ONE_BEACON_REST}
|
||||
--parent-chain.connection.url=${ARBITRUM_L1_ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||
--parent-chain.blob-client.beacon-url=${ARBITRUM_L1_ETHEREUM_MAINNET_BEACON_REST}
|
||||
--chain.id=42161
|
||||
--http.api=net,web3,eth,debug,arb
|
||||
--http.corsdomain=*
|
||||
@@ -32,8 +31,7 @@ services:
|
||||
--http.server-timeouts.write-timeout=60s
|
||||
--rpc.batch-request-limit=0
|
||||
--rpc.max-batch-response-size=0
|
||||
--execution.rpc.classic-redirect=${ARBITRUM_CLASSIC_RPC_URL}
|
||||
#--validation.wasm.allowed-wasm-module-roots=0x260f5fa5c3176a856893642e149cf128b5a8de9f828afec8d11184415dd8dc69
|
||||
--execution.rpc.classic-redirect=${ARBITRUM_ONE_CLASSIC_RPC}
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f /root/.arbitrum/mainnet/INITIALIZED ]; then
|
||||
echo "datadir is already initialized"
|
||||
else
|
||||
echo "lemme download the database quickly"
|
||||
rm -rf /root/.arbitrum/mainnet/db
|
||||
curl https://snapshot.arbitrum.io/mainnet/db.tar | tar -xv -C /root/.arbitrum/mainnet/ && touch /root/.arbitrum/mainnet/INITIALIZED
|
||||
fi
|
||||
#if [ -f /root/.arbitrum/mainnet/INITIALIZED ]; then
|
||||
# echo "datadir is already initialized"
|
||||
#else
|
||||
# echo "lemme download the database quickly"
|
||||
# rm -rf /root/.arbitrum/mainnet/db
|
||||
# curl https://snapshot.arbitrum.io/arb1/classic-archive.tar | tar -xv -C /root/.arbitrum/mainnet/ && touch /root/.arbitrum/mainnet/INITIALIZED
|
||||
#fi
|
||||
|
||||
echo "LFG!!!"
|
||||
#echo "LFG!!!"
|
||||
|
||||
/home/user/go/bin/arb-node $@
|
||||
exec /home/user/go/bin/arb-node $@
|
||||
|
||||
@@ -24,7 +24,7 @@ services:
|
||||
restart: unless-stopped
|
||||
image: nginx
|
||||
depends_on:
|
||||
- avalanche-fuji
|
||||
- avalanche-archive-client
|
||||
expose:
|
||||
- 80
|
||||
environment:
|
||||
|
||||
@@ -4,6 +4,7 @@ services:
|
||||
image: testinprod/op-erigon:${OP_ERIGON_VERSION:-v2.61.1-0.8.3}
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 5m
|
||||
user: root
|
||||
expose:
|
||||
- "9090"
|
||||
- "8545"
|
||||
@@ -19,7 +20,7 @@ services:
|
||||
--authrpc.port=8551
|
||||
--authrpc.vhosts="*"
|
||||
--authrpc.jwtsecret=/jwtsecret
|
||||
--rollup.sequencerhttp=https://mainnet-sequencer.base.org"
|
||||
--rollup.sequencerhttp="https://mainnet-sequencer.base.org"
|
||||
--chain=base-mainnet
|
||||
--ws
|
||||
--nodiscover
|
||||
@@ -64,7 +65,7 @@ services:
|
||||
- "OP_NODE_L1_ETH_RPC=${BASE_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://base-erigon:9551"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://base-erigon:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
|
||||
103
base-mainnet-op-reth-archive-trace.yml
Normal file
103
base-mainnet-op-reth-archive-trace.yml
Normal file
@@ -0,0 +1,103 @@
|
||||
services:
|
||||
base-reth:
|
||||
image: ghcr.io/paradigmxyz/op-reth:${OP_RETH_VERSION:-v1.3.1}
|
||||
expose:
|
||||
- 9551
|
||||
- 8545 # RPC / Websocket
|
||||
- 50138 # P2P TCP (currently unused)
|
||||
- 50138/udp # P2P UDP (currently unused)
|
||||
- 6060 # metrics
|
||||
ports:
|
||||
- "50138:50138"
|
||||
- "50138:50138/udp"
|
||||
restart: unless-stopped
|
||||
user: root
|
||||
stop_grace_period: 3m
|
||||
command: >
|
||||
node
|
||||
--chain base
|
||||
--port 50138
|
||||
--discovery.port 50138
|
||||
--rollup.sequencer-http https://mainnet-sequencer.base.org
|
||||
--http
|
||||
--ws
|
||||
--authrpc.addr 0.0.0.0
|
||||
--authrpc.port 9551
|
||||
--authrpc.jwtsecret /jwtsecret
|
||||
--http.addr 0.0.0.0
|
||||
--http.port 8545
|
||||
--ws.addr 0.0.0.0
|
||||
--ws.port 8545
|
||||
--ws.origins '*'
|
||||
--http.api "debug,eth,net,trace,txpool,web3,rpc,reth,admin"
|
||||
--ws.api "debug,eth,net,trace,txpool,web3,rpc,reth,admin"
|
||||
--http.corsdomain '*'
|
||||
--rpc.max-logs-per-response 1100000
|
||||
--rpc.gascap 600000000
|
||||
--nat extip:$IP
|
||||
volumes:
|
||||
- ${BASE_MAINNET_OP_RETH_ARCHIVE_TRACE_DATA:-base-mainnet-op-reth-archive-trace}:/root/.local/share/reth/base
|
||||
- /slowdisk:/slowdisk
|
||||
- .jwtsecret:/jwtsecret
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.base-mainnet-op-reth-archive-trace-stripprefix.stripprefix.prefixes=/base-reth"
|
||||
- "traefik.http.services.base-mainnet-op-reth-archive-trace.loadbalancer.server.port=8545"
|
||||
- "${NO_SSL:-traefik.http.routers.base-mainnet-op-reth-archive-trace.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.base-mainnet-op-reth-archive-trace.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.base-mainnet-op-reth-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/base-reth`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.base-mainnet-op-reth-archive-trace.rule=PathPrefix(`/base-reth`)}"
|
||||
- "traefik.http.routers.base-mainnet-op-reth-archive-trace.middlewares=base-mainnet-op-reth-archive-trace-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
base-reth-node:
|
||||
build:
|
||||
context: ./op
|
||||
depends_on:
|
||||
- base-reth
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
expose:
|
||||
- 8545 # RPC
|
||||
- 36755 # P2P TCP
|
||||
- 36755/udp # P2P UDP
|
||||
- 7300 # metrics
|
||||
- 6060 # pprof
|
||||
ports:
|
||||
- "36755:36755"
|
||||
- "36755:36755/udp"
|
||||
entrypoint: ./op-node
|
||||
restart: always
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=base-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${BASE_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://base-reth:9551"
|
||||
- "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_AGENT=base"
|
||||
- "OP_NODE_P2P_BOOTNODES=enr:-J24QNz9lbrKbN4iSmmjtnr7SjUMk4zB7f1krHZcTZx-JRKZd0kA2gjufUROD6T3sOWDVDnFJRvqBBo62zuF-hYCohOGAYiOoEyEgmlkgnY0gmlwhAPniryHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQKNVFlCxh_B-716tTs-h1vMzZkSs1FTu_OYTNjgufplG4N0Y3CCJAaDdWRwgiQG,enr:-J24QH-f1wt99sfpHy4c0QJM-NfmsIfmlLAMMcgZCUEgKG_BBYFc6FwYgaMJMQN5dsRBJApIok0jFn-9CS842lGpLmqGAYiOoDRAgmlkgnY0gmlwhLhIgb2Hb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJ9FTIv8B9myn1MWaC_2lJ-sMoeCDkusCsk4BYHjjCq04N0Y3CCJAaDdWRwgiQG,enr:-J24QDXyyxvQYsd0yfsN0cRr1lZ1N11zGTplMNlW4xNEc7LkPXh0NAJ9iSOVdRO95GPYAIc6xmyoCCG6_0JxdL3a0zaGAYiOoAjFgmlkgnY0gmlwhAPckbGHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJwoS7tzwxqXSyFL7g0JM-KWVbgvjfB8JA__T7yY_cYboN0Y3CCJAaDdWRwgiQG,enr:-J24QHmGyBwUZXIcsGYMaUqGGSl4CFdx9Tozu-vQCn5bHIQbR7On7dZbU61vYvfrJr30t0iahSqhc64J46MnUO2JvQaGAYiOoCKKgmlkgnY0gmlwhAPnCzSHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQINc4fSijfbNIiGhcgvwjsjxVFJHUstK9L1T8OTKUjgloN0Y3CCJAaDdWRwgiQG,enr:-J24QG3ypT4xSu0gjb5PABCmVxZqBjVw9ca7pvsI8jl4KATYAnxBmfkaIuEqy9sKvDHKuNCsy57WwK9wTt2aQgcaDDyGAYiOoGAXgmlkgnY0gmlwhDbGmZaHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQIeAK_--tcLEiu7HvoUlbV52MspE0uCocsx1f_rYvRenIN0Y3CCJAaDdWRwgiQG"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=36755"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=36755"
|
||||
- "OP_NODE_ROLLUP_CONFIG=mainnet/rollup.json"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${BASE_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${BASE_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${BASE_L1_ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L2_SKIP_SYNC_START_CHECK=true"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
base-mainnet-op-reth-archive-trace:
|
||||
4
base.yml
4
base.yml
@@ -1,8 +1,6 @@
|
||||
version: '3.1'
|
||||
|
||||
networks:
|
||||
chains:
|
||||
driver: bridge
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 192.168.0.0/26
|
||||
- subnet: ${CHAINS_SUBNET:-192.168.0.0/26}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
|
||||
blast-archive:
|
||||
image: blastio/blast-geth:v1.1.0-mainnet
|
||||
image: blastio/blast-geth:mainnet-v1.1.1
|
||||
volumes:
|
||||
- ${BLAST_MAINNET_GETH_ARCHIVE_DATA:-blast-mainnet-geth-archive}:/data
|
||||
- ./blast-io:/config:rw
|
||||
@@ -32,6 +32,7 @@ services:
|
||||
- "GETH_OVERRIDE_ECOTONE=1716843599"
|
||||
expose:
|
||||
- 9545
|
||||
- 8551
|
||||
restart: always
|
||||
stop_grace_period: 30s
|
||||
entrypoint: /bin/sh
|
||||
@@ -49,7 +50,7 @@ services:
|
||||
- "traefik.http.routers.blast-mainnet-geth-archive.middlewares=blast-mainnet-geth-archive-stripprefix, ipwhitelist"
|
||||
|
||||
blast-archive-node:
|
||||
image: blastio/blast-optimism:v1.1.0-mainnet
|
||||
image: blastio/blast-optimism:mainnet-v1.1.1
|
||||
volumes:
|
||||
- ./blast-io:/config
|
||||
- .jwtsecret:/jwtsecret
|
||||
@@ -60,13 +61,13 @@ services:
|
||||
- "OP_NODE_P2P_BOOTNODES=enr:-J64QGwHl9uYLfC_cnmxSA6wQH811nkOWJDWjzxqkEUlJoZHWvI66u-BXgVcPCeMUmg0dBpFQAPotFchG67FHJMZ9OSGAY3d6wevgmlkgnY0gmlwhANizeSHb3BzdGFja4Sx_AQAiXNlY3AyNTZrMaECg4pk0cskPAyJ7pOmo9E6RqGBwV-Lex4VS9a3MQvu7PWDdGNwgnZhg3VkcIJ2YQ,enr:-J64QDge2jYBQtcNEpRqmKfci5E5BHAhNBjgv4WSdwH1_wPqbueq2bDj38-TSW8asjy5lJj1Xftui6Or8lnaYFCqCI-GAY3d6wf3gmlkgnY0gmlwhCO2D9yHb3BzdGFja4Sx_AQAiXNlY3AyNTZrMaEDo4aCTq7pCEN8om9U5n_VyWdambGnQhwHNwKc8o-OicaDdGNwgnZhg3VkcIJ2YQ"
|
||||
- "OP_NODE_L1_RPC_RATE_LIMIT=0"
|
||||
- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=20"
|
||||
- "OP_NODE_L1_RPC_KIND=${BLAST_MAINNET_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${BLAST_MAINNET_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_RPC_KIND=${BLAST_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${BLAST_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_ETH_RPC=${BLAST_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L1_BEACON=${BLAST_L1_ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${BLAST_MAINNET_L1_ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
- "OP_NODE_L1_TRUST_RPC=true"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://op-blast-mainnet-archive:8551"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://blast-archive:8551"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_SKIP_SYNC_START_CHECK=true"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=25037"
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
services:
|
||||
|
||||
boba-bnb-archive-dtl:
|
||||
image: bobanetwork/data-transport-layer@sha256:33e7530795f387c660633fc855e5ea7e19de445a7985b1c8b142db26698839e6
|
||||
stop_grace_period: 5m
|
||||
environment:
|
||||
DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT: 'https://bsc-dataseed.binance.org/'
|
||||
DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT: 'https://replica.bnb.boba.network'
|
||||
DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT: 'https://bsc-dataseed.binance.org'
|
||||
# DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT: 'https://bsc-erigon3:8545'
|
||||
# DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT: 'https://replica.bnb.boba.network'
|
||||
# DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT: 'https://rpc-de-23.stakesquid.eu/bobabnb'
|
||||
DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT: 'http://142.132.249.52:8547'
|
||||
DATA_TRANSPORT_LAYER__SYNC_FROM_L1: 'false'
|
||||
DATA_TRANSPORT_LAYER__SYNC_FROM_L2: 'true'
|
||||
DATA_TRANSPORT_LAYER__L2_CHAIN_ID: 56288
|
||||
@@ -21,7 +26,7 @@ services:
|
||||
DATA_TRANSPORT_LAYER__SERVER_HOSTNAME: '0.0.0.0'
|
||||
volumes:
|
||||
- ./boba/bnb:/opt/optimism/packages/data-transport-layer/state-dumps/
|
||||
- ${BOBA_BNB_MAINNET_GETH_ARCHIVE__DTL_DATA:-boba-bnb-geth-archive_dtl}:/db
|
||||
- ${BOBA_BNB_MAINNET_L2GETH_ARCHIVE__DTL_DATA:-boba-bnb-l2geth-archive_dtl}:/db
|
||||
networks:
|
||||
- chains
|
||||
|
||||
@@ -30,16 +35,19 @@ services:
|
||||
- boba-bnb-archive-dtl
|
||||
image: bobanetwork/l2geth@sha256:0c5c25d1db8244f819d84517aaafafbf0e73cf3dacc98051c80310d9d01a12fd
|
||||
entrypoint: sh ./geth.sh
|
||||
stop_grace_period: 5m
|
||||
volumes:
|
||||
- ${BOBA_BNB_MAINNET_GETH_ARCHIVE__CLIENT_DATA:-boba-bnb-mainnet-geth-archive_client}:/root/.ethereum/
|
||||
- ${BOBA_BNB_MAINNET_L2GETH_ARCHIVE__CLIENT_DATA:-boba-bnb-mainnet-l2geth-archive_client}:/root/.ethereum/
|
||||
environment:
|
||||
ETH1_HTTP: 'https://bsc-dataseed.binance.org/'
|
||||
GETH_ALLOW_INSECURE_UNLOCK: 'true'
|
||||
# ETH1_HTTP: 'https://bsc-dataseed.binance.org'
|
||||
ETH1_HTTP: 'https://bsc-erigon3:8545'
|
||||
ETH1_CTC_DEPLOYMENT_HEIGHT: 1305672
|
||||
ROLLUP_TIMESTAMP_REFRESH: 5s
|
||||
ROLLUP_STATE_DUMP_PATH: http://boba-bnb-archive-dtl:8081/state-dump.latest.json
|
||||
ROLLUP_CLIENT_HTTP: http://boba-bnb-archive-dtl:7878
|
||||
ROLLUP_BACKEND: 'l2'
|
||||
ROLLUP_VERIFIER_ENABLE: 'true'
|
||||
ROLLUP_VERIFIER_ENABLE: 'false'
|
||||
RETRIES: 60
|
||||
# no need to keep this secret, only used internally to sign blocks
|
||||
BLOCK_SIGNER_KEY: "6587ae678cf4fc9a33000cdbf9f35226b71dcc6a4684a31203241f9bcfd55d27"
|
||||
@@ -53,6 +61,7 @@ services:
|
||||
BOBA_GAS_PRICE_ORACLE_ADDRESS: "0x4200000000000000000000000000000000000024"
|
||||
# sequencer http endpoint
|
||||
SEQUENCER_CLIENT_HTTP: https://bnb.boba.network/
|
||||
# SEQUENCER_CIENT_HTTP: http://142.132.249.52:8547
|
||||
ETH1_SYNC_SERVICE_ENABLE: true
|
||||
ETH1_CONFIRMATION_DEPTH: 0
|
||||
|
||||
@@ -90,7 +99,7 @@ services:
|
||||
restart: unless-stopped
|
||||
image: nginx
|
||||
depends_on:
|
||||
- op-bobabnb-archive
|
||||
- boba-bnb-archive-client
|
||||
expose:
|
||||
- 80
|
||||
environment:
|
||||
@@ -105,15 +114,15 @@ services:
|
||||
- ./nginx-proxy:/etc/nginx/templates
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.boba-bnb-mainnet-geth-archive-stripprefix.stripprefix.prefixes=/boba-bnb-archive"
|
||||
- "traefik.http.services.boba-bnb-mainnet-geth-archive.loadbalancer.server.port=80"
|
||||
- "${NO_SSL:-traefik.http.routers.boba-bnb-mainnet-geth-archive.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.boba-bnb-mainnet-geth-archive.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.boba-bnb-mainnet-geth-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/boba-bnb-archive`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.boba-bnb-mainnet-geth-archive.rule=PathPrefix(`/boba-bnb-archive`)}"
|
||||
- "traefik.http.routers.boba-bnb-mainnet-geth-archive.middlewares=boba-bnb-mainnet-geth-archive-stripprefix, ipwhitelist"
|
||||
- "traefik.http.middlewares.boba-bnb-mainnet-l2geth-archive-stripprefix.stripprefix.prefixes=/boba-bnb-archive"
|
||||
- "traefik.http.services.boba-bnb-mainnet-l2geth-archive.loadbalancer.server.port=80"
|
||||
- "${NO_SSL:-traefik.http.routers.boba-bnb-mainnet-l2geth-archive.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.boba-bnb-mainnet-l2geth-archive.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.boba-bnb-mainnet-l2geth-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/boba-bnb-archive`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.boba-bnb-mainnet-l2geth-archive.rule=PathPrefix(`/boba-bnb-archive`)}"
|
||||
- "traefik.http.routers.boba-bnb-mainnet-l2geth-archive.middlewares=boba-bnb-mainnet-l2geth-archive-stripprefix, ipwhitelist"
|
||||
|
||||
|
||||
volumes:
|
||||
boba-bnb-mainnet-geth-archive_client:
|
||||
boba-bnb-mainnet-geth-archive_dtl:
|
||||
boba-bnb-mainnet-l2geth-archive_client:
|
||||
boba-bnb-mainnet-l2geth-archive_dtl:
|
||||
@@ -1,5 +1,3 @@
|
||||
version: '3.4'
|
||||
|
||||
# The erigon db can be downloaded from
|
||||
# https://boba-db.s3.us-east-2.amazonaws.com/mainnet/boba-mainnet-erigon-db-1149019.tgz
|
||||
# and extracted to the DATA_DIR
|
||||
@@ -45,7 +43,7 @@ services:
|
||||
- 8551
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
- ${BOBA_ETH_MAINNET_ERIGON_ARCHIVE_TRACE:-boba-eth-mainnet-erigon-archive-trace}:/db
|
||||
- ${BOBA_ETH_MAINNET_ERIGON_ARCHIVE_TRACE_DATA:-boba-eth-mainnet-erigon-archive-trace}:/db
|
||||
networks:
|
||||
- chains
|
||||
labels:
|
||||
@@ -60,8 +58,8 @@ services:
|
||||
|
||||
boba-eth-erigon-node:
|
||||
depends_on:
|
||||
- op-boba
|
||||
image: us-docker.pkg.dev/boba-392114/bobanetwork-tools-artifacts/images/op-node:${BOBAETH_NODE_VERSION:-v1.6.15}
|
||||
- boba-eth-erigon
|
||||
image: us-docker.pkg.dev/boba-392114/bobanetwork-tools-artifacts/images/op-node:${BOBAETH_NODE_VERSION:-v1.6.16-rc.1}
|
||||
command: >
|
||||
op-node
|
||||
--l2=http://boba-eth-erigon:8551
|
||||
@@ -75,7 +73,7 @@ services:
|
||||
- "OP_NODE_L1_TRUST_RPC=${BOBA_ETH_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${BOBA_ETH_L1_ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${BOBA_ETH_L1_ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
- "OP_NODE_L1_ETH_RPC=${BOBA_ETH_L1_ETHEREUM_MAINNET_EXECUTION}"
|
||||
- "OP_NODE_L1_ETH_RPC=${BOBA_ETH_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
ports:
|
||||
- "45202:45202"
|
||||
- "45202:45202/udp"
|
||||
|
||||
55
bsc-mainnet-erigon3-archive-trace.yml
Normal file
55
bsc-mainnet-erigon3-archive-trace.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
services:
|
||||
bsc-erigon3:
|
||||
image: icculp/bsc-erigon:v1.3.2-beta2
|
||||
user: root
|
||||
volumes:
|
||||
- "${BSC_MAINNET_ERIGON3_ARCHIVE_TRACE_DATA:-bsc-mainnet-erigon3-archive-trace}:/datadir"
|
||||
- "/slowdisk:/slowdisk"
|
||||
ports:
|
||||
- "28056:28056"
|
||||
- "28056:28056/udp"
|
||||
- "62912:62912"
|
||||
- "62912:62912/udp"
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--prune.mode=archive
|
||||
--db.pagesize=16k
|
||||
--chain=bsc
|
||||
--http
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.compression
|
||||
--http.vhosts='*'
|
||||
--http.corsdomain='*'
|
||||
--http.api=eth,debug,net,web3,erigon,admin
|
||||
--ws
|
||||
--ws.compression
|
||||
--rpc.gascap=300000000
|
||||
--metrics
|
||||
--metrics.addr=0.0.0.0
|
||||
--metrics.port=6060
|
||||
--bodies.cache=5G
|
||||
--rpc.batch.limit=200000
|
||||
--batchSize=2048MB
|
||||
--port=28056
|
||||
--datadir=/datadir
|
||||
--ethash.dagdir=/datadir/ethash
|
||||
--rpc.returndata.limit=1100000
|
||||
--torrent.port=62912
|
||||
--torrent.download.rate=80mb
|
||||
--nat=extip:${IP}
|
||||
stop_grace_period: 1m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.bsc-mainnet-erigon3-archive-trace-stripprefix.stripprefix.prefixes=/bsc-erigon3"
|
||||
- "traefik.http.services.bsc-mainnet-erigon3-archive-trace.loadbalancer.server.port=8545"
|
||||
- "${NO_SSL:-traefik.http.routers.bsc-mainnet-erigon3-archive-trace.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.bsc-mainnet-erigon3-archive-trace.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.bsc-mainnet-erigon3-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/bsc-erigon3`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.bsc-mainnet-erigon3-archive-trace.rule=PathPrefix(`/bsc-erigon3`)}"
|
||||
- "traefik.http.routers.bsc-mainnet-erigon3-archive-trace.middlewares=bsc-mainnet-erigon3-archive-trace-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
bsc-mainnet-erigon3-archive-trace:
|
||||
@@ -3,7 +3,7 @@ services:
|
||||
image: us.gcr.io/celo-org/geth:1.8
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
command: |
|
||||
command: >
|
||||
--verbosity 3
|
||||
--syncmode full
|
||||
--gcmode archive
|
||||
@@ -20,7 +20,6 @@ services:
|
||||
--datadir /root/.celo
|
||||
expose:
|
||||
- 8545
|
||||
- 8546
|
||||
ports:
|
||||
- '58395:58395/tcp' # p2p
|
||||
- '58395:58395/udp' # p2p
|
||||
|
||||
@@ -8,7 +8,7 @@ services:
|
||||
init: true
|
||||
|
||||
erigon-gnosis:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-beta1}
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-rc2}
|
||||
depends_on:
|
||||
- erigon-gnosis-init
|
||||
user: root
|
||||
|
||||
54
ethereum-beacon-mainnet-lighthouse-pruned-blobs.yml
Normal file
54
ethereum-beacon-mainnet-lighthouse-pruned-blobs.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
services:
|
||||
|
||||
ethereum-beacon-blobs:
|
||||
image: sigp/lighthouse:${LIGHTHOUSE_VERSION:-v6.0.1}
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- chains
|
||||
ports:
|
||||
- 20506:20506/tcp # p2p
|
||||
- 20506:20506/udp # p2p
|
||||
expose:
|
||||
- 5054 # metrics
|
||||
- 4000 # http
|
||||
- 20506 # p2p
|
||||
volumes:
|
||||
- ${ETHEREUM_BEACON_MAINNET_LIGHTHOUSE_PRUNED_BLOBS_DATA:-ethereum-beacon-mainnet-lighthouse-pruned-blobs}:/data
|
||||
- .jwtsecret:/jwt.hex
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
command: |
|
||||
lighthouse
|
||||
beacon_node
|
||||
--network=mainnet
|
||||
--disable-upnp
|
||||
--datadir=/data
|
||||
--port=20506
|
||||
--http
|
||||
--http-address=0.0.0.0
|
||||
--http-port=4000
|
||||
--target-peers=50
|
||||
--execution-endpoint=${ETHEREUM_BEACON_EXECUTION_CLIENT_MAINNET_AUTH}
|
||||
--execution-jwt=/jwt.hex
|
||||
--debug-level=info
|
||||
--validator-monitor-auto
|
||||
--metrics
|
||||
--metrics-port=5054
|
||||
--metrics-address=0.0.0.0
|
||||
--disable-log-timestamp
|
||||
--allow-insecure-genesis-sync
|
||||
--prune-blobs=false
|
||||
--genesis-backfill
|
||||
--disable-backfill-rate-limiting
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.ethereum-beacon-mainnet-lighthouse-pruned-blobs-stripprefix.stripprefix.prefixes=/ethereum-beacon-blobs"
|
||||
- "traefik.http.services.ethereum-beacon-mainnet-lighthouse-pruned-blobs.loadbalancer.server.port=4000"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-beacon-mainnet-lighthouse-pruned-blobs.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-beacon-mainnet-lighthouse-pruned-blobs.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-beacon-mainnet-lighthouse-pruned-blobs.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-beacon-blobs`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.ethereum-beacon-mainnet-lighthouse-pruned-blobs.rule=PathPrefix(`/ethereum-beacon-blobs`)}"
|
||||
- "traefik.http.routers.ethereum-beacon-mainnet-lighthouse-pruned-blobs.middlewares=ethereum-beacon-mainnet-lighthouse-pruned-blobs-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
ethereum-beacon-mainnet-lighthouse-pruned-blobs:
|
||||
71
ethereum-firehose.yml
Normal file
71
ethereum-firehose.yml
Normal file
@@ -0,0 +1,71 @@
|
||||
services:
|
||||
ethereum-firehose:
|
||||
build:
|
||||
context: ./ethereum-firehose/
|
||||
args:
|
||||
FIREHOSE_ETHEREUM: v2.11.1
|
||||
FIREHOSE_GETH_VERSION: v1.15.4-fh3.0
|
||||
command: -c /etc/firehose/config.yml start
|
||||
environment:
|
||||
- DOMAIN=${DOMAIN:-yourdomain.com}
|
||||
- ETHEREUM_ARCHIVE_RPC=${ETHEREUM_ARCHIVE_RPC:-http://ethereum-erigon3:8545}
|
||||
- S3_BLOCKS_STORE_URL=${S3_BLOCKS_STORE_URL:-/var/lib/eth-blocks}
|
||||
expose:
|
||||
- 8545
|
||||
- 8551
|
||||
- 13042
|
||||
ports:
|
||||
- "24465:24465/tcp"
|
||||
- "24465:24465/udp"
|
||||
- "13042:13042"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.services.ethereum-firehose.loadbalancer.server.scheme=h2c"
|
||||
- "traefik.http.services.ethereum-firehose.loadbalancer.server.port=13042"
|
||||
- "traefik.http.routers.ethereum-firehose.entrypoints=grpc"
|
||||
- "traefik.http.routers.ethereum-firehose.rule=Host(`ethereum-firehose.${DOMAIN}`)"
|
||||
- "traefik.http.routers.ethereum-firehose.middlewares=ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- ./ethereum-firehose/config.yml:/etc/firehose/config.yml:ro
|
||||
- ${FIREHOSE_DATA_DIR:-ethereum-firehose_data}:/var/lib/firehose # Firehose data-dir
|
||||
- ${FIREHOSE_BLOCKS_DIR:-eth-blocks_data}:/var/lib/eth-blocks # Merged blocks store
|
||||
- ${FIREHOSE_JWT_FILE:-jwtsecret_data}:/jwtsecret:ro # JWT for authrpc
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
|
||||
ethereum-beacon-nimbus:
|
||||
image: statusim/nimbus-eth2:multiarch-v25.3.0
|
||||
restart: unless-stopped
|
||||
user: root
|
||||
command:
|
||||
- --network=mainnet
|
||||
- --data-dir=/data
|
||||
- --tcp-port=9000
|
||||
- --udp-port=9000
|
||||
- --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:
|
||||
- "9000:9000/tcp"
|
||||
- "9000:9000/udp"
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- ${NIMBUS_DATA_DIR:-nimbus-data}:/data # Beacon node data-dir
|
||||
- ${FIREHOSE_JWT_FILE:-jwtsecret_data}:/data/jwt.hex:ro # JWT (same as firehose)
|
||||
|
||||
volumes:
|
||||
ethereum-firehose_data:
|
||||
eth-blocks_data:
|
||||
jwtsecret_data:
|
||||
nimbus-data:
|
||||
18
ethereum-firehose/Dockerfile
Normal file
18
ethereum-firehose/Dockerfile
Normal file
@@ -0,0 +1,18 @@
|
||||
FROM ubuntu:24.04
|
||||
|
||||
# Install required tools
|
||||
RUN apt-get update && apt-get install -y wget curl jq tar
|
||||
|
||||
# Set environment variables for URLs
|
||||
ARG FIREHOSE_ETHEREUM
|
||||
ARG FIREHOSE_GETH_VERSION
|
||||
|
||||
# Download and extract the latest firehose-ethereum
|
||||
RUN wget -O- https://github.com/streamingfast/firehose-ethereum/releases/download/${FIREHOSE_ETHEREUM}/firehose-ethereum_linux_x86_64.tar.gz | tar xvz -C /usr/bin
|
||||
|
||||
# Download the latest go-ethereum (geth)
|
||||
RUN wget https://github.com/streamingfast/go-ethereum/releases/download/geth-${FIREHOSE_GETH_VERSION}/geth_linux -O /usr/bin/geth && chmod +x /usr/bin/geth
|
||||
|
||||
ENTRYPOINT ["fireeth"]
|
||||
|
||||
|
||||
38
ethereum-firehose/config.yml
Normal file
38
ethereum-firehose/config.yml
Normal file
@@ -0,0 +1,38 @@
|
||||
start:
|
||||
args:
|
||||
- firehose
|
||||
- reader-node
|
||||
- merger
|
||||
- relayer
|
||||
- index-builder
|
||||
- substreams-tier1
|
||||
- substreams-tier2
|
||||
flags:
|
||||
data-dir: /var/lib/firehose
|
||||
log-to-file: false
|
||||
firehose-rate-limit-bucket-size: 200
|
||||
firehose-rate-limit-bucket-fill-rate: 1s
|
||||
substreams-rpc-endpoints: "http://ethereum-erigon3:8545"
|
||||
substreams-tier1-max-subrequests: 20
|
||||
substreams-block-execution-timeout: 30m0s
|
||||
reader-node-path: /usr/bin/geth
|
||||
common-merged-blocks-store-url: /var/lib/eth-blocks
|
||||
reader-node-arguments: |
|
||||
--datadir=/var/lib/firehose/eth-firehose
|
||||
--networkid=1
|
||||
--http
|
||||
--http.api=eth,net,web3
|
||||
--http.port=8545
|
||||
--http.addr=0.0.0.0
|
||||
--http.vhosts=*
|
||||
--ws
|
||||
--ws.addr=0.0.0.0
|
||||
--ws.port=9756
|
||||
--metrics
|
||||
--metrics.addr=0.0.0.0
|
||||
--metrics.port=7070
|
||||
--cache=8192
|
||||
--authrpc.jwtsecret=/jwtsecret
|
||||
--authrpc.addr=0.0.0.0
|
||||
--authrpc.vhosts=*
|
||||
--authrpc.port=9663
|
||||
84
ethereum-holesky-erigon3-archive-trace.yml
Normal file
84
ethereum-holesky-erigon3-archive-trace.yml
Normal file
@@ -0,0 +1,84 @@
|
||||
services:
|
||||
ethereum-holesky-erigon3:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-rc2}
|
||||
user: root
|
||||
expose:
|
||||
- "16630"
|
||||
- "9090"
|
||||
- "8545"
|
||||
- "8551"
|
||||
ports:
|
||||
- "9725:9725"
|
||||
- "9725:9725/udp"
|
||||
- "19525:19525/udp"
|
||||
- "61832:61832"
|
||||
- "17037:17037"
|
||||
- "17037:17037/udp"
|
||||
- "13153:13153"
|
||||
- "13153:13153/udp"
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
volumes:
|
||||
- ${ETHEREUM_HOLESKY_ERIGON3_ARCHIVE_TRACE_DATA:-ethereum-holesky-erigon3-archive-trace}:/root/.local/share/erigon
|
||||
- /slowdisk:/slowdisk
|
||||
- .jwtsecret:/jwtsecret
|
||||
networks:
|
||||
- chains
|
||||
command: >
|
||||
--prune.mode=archive
|
||||
--rpc.evmtimeout=30m0s
|
||||
--rpc.overlay.getlogstimeout=30m0s
|
||||
--rpc.overlay.replayblocktimeout=30m0s
|
||||
--chain holesky
|
||||
--beacon.api.port=5555
|
||||
--beacon.api.addr=0.0.0.0
|
||||
--beacon.api.cors.allow-origins=*
|
||||
--port=9725
|
||||
--p2p.allowed-ports=13153
|
||||
--caplin.discovery.addr=0.0.0.0
|
||||
--caplin.discovery.port=19525
|
||||
--caplin.discovery.tcpport=61832
|
||||
--metrics --metrics.addr=0.0.0.0 --metrics.port=6060
|
||||
--private.api.addr=0.0.0.0:9090
|
||||
--torrent.port=17037
|
||||
--nat=extip:${IP}
|
||||
--pprof
|
||||
--pprof.addr=0.0.0.0
|
||||
--pprof.port=6061
|
||||
--authrpc.addr=0.0.0.0
|
||||
--authrpc.vhosts=*
|
||||
--authrpc.jwtsecret=/jwtsecret
|
||||
--http.addr=0.0.0.0
|
||||
--http.vhosts=*
|
||||
--http.corsdomain=*
|
||||
--http.api=eth,erigon,web3,net,debug,trace,txpool
|
||||
--beacon.api=beacon,builder,debug,lighthouse,node,validator,config
|
||||
--rpc.returndata.limit=1100000
|
||||
--rpc.gascap=5000000000
|
||||
--ws.port=8545
|
||||
--ws
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.ethereum-holesky-erigon3-archive-trace-stripprefix.stripprefix.prefixes=/ethereum-holesky-erigon"
|
||||
|
||||
- "traefik.http.services.ethereum-holesky-erigon3-archive-trace.loadbalancer.server.port=8545"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-holesky-erigon3-archive-trace.entrypoints=websecure}"
|
||||
- "traefik.http.routers.ethereum-holesky-erigon3-archive-trace.service=ethereum-holesky-erigon3-archive-trace"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-holesky-erigon3-archive-trace.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-holesky-erigon3-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-holesky-erigon`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.ethereum-holesky-erigon3-archive-trace.rule=PathPrefix(`/ethereum-holesky-erigon`)}"
|
||||
- "traefik.http.routers.ethereum-holesky-erigon3-archive-trace.middlewares=ethereum-holesky-erigon3-archive-trace-stripprefix, ipwhitelist"
|
||||
|
||||
- "traefik.http.services.ethereum-holesky-erigon3-archive-trace-beacon.loadbalancer.server.port=5555"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-holesky-erigon3-archive-trace-beacon.entrypoints=websecure}"
|
||||
- "traefik.http.routers.ethereum-holesky-erigon3-archive-trace-beacon.service=ethereum-holesky-erigon3-archive-trace-beacon"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-holesky-erigon3-archive-trace-beacon.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-holesky-erigon3-archive-trace-beacon.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-holesky-erigon/eth`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.ethereum-holesky-erigon3-archive-trace-beacon.rule=PathPrefix(`/ethereum-holesky-erigon/eth`)}"
|
||||
- "traefik.http.routers.ethereum-holesky-erigon3-archive-trace-beacon.middlewares=ethereum-holesky-erigon3-archive-trace-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
ethereum-holesky-erigon3-archive-trace:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
ethereum-erigon:
|
||||
image: erigontech/erigon:${ERIGON_VERSION:-v2.6.1}
|
||||
image: erigontech/erigon:${ERIGON_VERSION:-v2.61.3}
|
||||
user: root
|
||||
expose:
|
||||
- "16630"
|
||||
@@ -8,14 +8,12 @@ services:
|
||||
- "8545"
|
||||
- "8551"
|
||||
ports:
|
||||
- "42087:42087"
|
||||
- "42087:42087/udp"
|
||||
- "29553:29553/udp"
|
||||
- "45209:45209"
|
||||
- "42137:42137"
|
||||
- "42137:42137/udp"
|
||||
- "52538:52538"
|
||||
- "52538:52538/udp"
|
||||
- "18518:18518"
|
||||
- "18518:18518/udp"
|
||||
- "20202:20202"
|
||||
- "20202:20202/udp"
|
||||
- "52290:52290"
|
||||
- "52290:52290/udp"
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
volumes:
|
||||
@@ -25,27 +23,16 @@ services:
|
||||
networks:
|
||||
- chains
|
||||
command: >
|
||||
--prune.mode=archive
|
||||
--rpc.evmtimeout=30m0s
|
||||
--rpc.overlay.getlogstimeout=30m0s
|
||||
--rpc.overlay.replayblocktimeout=30m0s
|
||||
--chain mainnet
|
||||
--internalcl
|
||||
--beacon.api.port=5555
|
||||
--beacon.api.addr=0.0.0.0
|
||||
--beacon.api.cors.allow-origins=*
|
||||
--port=42087
|
||||
--p2p.allowed-ports=52538
|
||||
--caplin.discovery.addr=0.0.0.0
|
||||
--caplin.discovery.port=29553
|
||||
--caplin.discovery.tcpport=45209
|
||||
--port=18518
|
||||
--p2p.allowed-ports=52290
|
||||
--metrics --metrics.addr=0.0.0.0 --metrics.port=6060
|
||||
--private.api.addr=0.0.0.0:9090
|
||||
--torrent.port=42137
|
||||
--torrent.port=20202
|
||||
--nat=extip:${IP}
|
||||
--pprof
|
||||
--pprof.addr=0.0.0.0
|
||||
--pprof.port=6061
|
||||
--authrpc.addr=0.0.0.0
|
||||
--authrpc.vhosts=*
|
||||
--authrpc.jwtsecret=/jwtsecret
|
||||
@@ -53,7 +40,6 @@ services:
|
||||
--http.vhosts=*
|
||||
--http.corsdomain=*
|
||||
--http.api=eth,erigon,web3,net,debug,trace,txpool
|
||||
--beacon.api=beacon,builder,debug,lighthouse,node,validator,config
|
||||
--rpc.returndata.limit=1100000
|
||||
--rpc.gascap=5000000000
|
||||
--ws.port=8545
|
||||
@@ -63,23 +49,13 @@ services:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.ethereum-mainnet-erigon-archive-trace-stripprefix.stripprefix.prefixes=/ethereum-erigon"
|
||||
|
||||
- "traefik.http.services.ethereum-mainnet-erigon-archive-trace.loadbalancer.server.port=8545"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-mainnet-erigon-archive-trace.entrypoints=websecure}"
|
||||
- "traefik.http.routers.ethereum-mainnet-erigon-archive-trace.service=ethereum-mainnet-erigon-archive-trace"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-mainnet-erigon-archive-trace.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-mainnet-erigon-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-erigon`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.ethereum-mainnet-erigon-archive-trace.rule=PathPrefix(`/ethereum-erigon`)}"
|
||||
- "traefik.http.routers.ethereum-mainnet-erigon-archive-trace.middlewares=ethereum-mainnet-erigon-archive-trace-stripprefix, ipwhitelist"
|
||||
|
||||
- "traefik.http.services.ethereum-mainnet-erigon-archive-trace-beacon.loadbalancer.server.port=5555"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-mainnet-erigon-archive-trace-beacon.entrypoints=websecure}"
|
||||
- "traefik.http.routers.ethereum-mainnet-erigon-archive-trace-beacon.service=ethereum-mainnet-erigon-archive-trace-beacon"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-mainnet-erigon-archive-trace-beacon.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-mainnet-erigon-archive-trace-beacon.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-erigon/eth`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.ethereum-mainnet-erigon-archive-trace-beacon.rule=PathPrefix(`/ethereum-erigon/eth`)}"
|
||||
- "traefik.http.routers.ethereum-mainnet-erigon-archive-trace-beacon.middlewares=ethereum-mainnet-erigon-archive-trace-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
ethereum-mainnet-erigon-archive-trace:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
ethereum-erigon3:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-alpha7}
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-rc2}
|
||||
user: root
|
||||
expose:
|
||||
- "16630"
|
||||
|
||||
84
ethereum-sepolia-erigon3-archive-trace.yml
Normal file
84
ethereum-sepolia-erigon3-archive-trace.yml
Normal file
@@ -0,0 +1,84 @@
|
||||
services:
|
||||
ethereum-sepolia-erigon3:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-rc2}
|
||||
user: root
|
||||
expose:
|
||||
- "16630"
|
||||
- "9090"
|
||||
- "8545"
|
||||
- "8551"
|
||||
ports:
|
||||
- "5013:5013"
|
||||
- "5013:5013/udp"
|
||||
- "28058:28058/udp"
|
||||
- "29556:29556"
|
||||
- "10257:10257"
|
||||
- "10257:10257/udp"
|
||||
- "13083:13083"
|
||||
- "13083:13083/udp"
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
volumes:
|
||||
- ${ETHEREUM_SEPOLIA_ERIGON3_ARCHIVE_TRACE_DATA:-ethereum-sepolia-erigon3-archive-trace}:/root/.local/share/erigon
|
||||
- /slowdisk:/slowdisk
|
||||
- .jwtsecret:/jwtsecret
|
||||
networks:
|
||||
- chains
|
||||
command: >
|
||||
--prune.mode=archive
|
||||
--rpc.evmtimeout=30m0s
|
||||
--rpc.overlay.getlogstimeout=30m0s
|
||||
--rpc.overlay.replayblocktimeout=30m0s
|
||||
--chain sepolia
|
||||
--beacon.api.port=5555
|
||||
--beacon.api.addr=0.0.0.0
|
||||
--beacon.api.cors.allow-origins=*
|
||||
--port=5013
|
||||
--p2p.allowed-ports=13083
|
||||
--caplin.discovery.addr=0.0.0.0
|
||||
--caplin.discovery.port=28058
|
||||
--caplin.discovery.tcpport=29556
|
||||
--metrics --metrics.addr=0.0.0.0 --metrics.port=6060
|
||||
--private.api.addr=0.0.0.0:9090
|
||||
--torrent.port=10257
|
||||
--nat=extip:${IP}
|
||||
--pprof
|
||||
--pprof.addr=0.0.0.0
|
||||
--pprof.port=6061
|
||||
--authrpc.addr=0.0.0.0
|
||||
--authrpc.vhosts=*
|
||||
--authrpc.jwtsecret=/jwtsecret
|
||||
--http.addr=0.0.0.0
|
||||
--http.vhosts=*
|
||||
--http.corsdomain=*
|
||||
--http.api=eth,erigon,web3,net,debug,trace,txpool
|
||||
--beacon.api=beacon,builder,debug,lighthouse,node,validator,config
|
||||
--rpc.returndata.limit=1100000
|
||||
--rpc.gascap=5000000000
|
||||
--ws.port=8545
|
||||
--ws
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.ethereum-sepolia-erigon3-archive-trace-stripprefix.stripprefix.prefixes=/ethereum-sepolia-erigon"
|
||||
|
||||
- "traefik.http.services.ethereum-sepolia-erigon3-archive-trace.loadbalancer.server.port=8545"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-sepolia-erigon3-archive-trace.entrypoints=websecure}"
|
||||
- "traefik.http.routers.ethereum-sepolia-erigon3-archive-trace.service=ethereum-sepolia-erigon3-archive-trace"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-sepolia-erigon3-archive-trace.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-sepolia-erigon3-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-sepolia-erigon`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.ethereum-sepolia-erigon3-archive-trace.rule=PathPrefix(`/ethereum-sepolia-erigon`)}"
|
||||
- "traefik.http.routers.ethereum-sepolia-erigon3-archive-trace.middlewares=ethereum-sepolia-erigon3-archive-trace-stripprefix, ipwhitelist"
|
||||
|
||||
- "traefik.http.services.ethereum-sepolia-erigon3-archive-trace-beacon.loadbalancer.server.port=5555"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-sepolia-erigon3-archive-trace-beacon.entrypoints=websecure}"
|
||||
- "traefik.http.routers.ethereum-sepolia-erigon3-archive-trace-beacon.service=ethereum-sepolia-erigon3-archive-trace-beacon"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-sepolia-erigon3-archive-trace-beacon.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.ethereum-sepolia-erigon3-archive-trace-beacon.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-sepolia-erigon/eth`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.ethereum-sepolia-erigon3-archive-trace-beacon.rule=PathPrefix(`/ethereum-sepolia-erigon/eth`)}"
|
||||
- "traefik.http.routers.ethereum-sepolia-erigon3-archive-trace-beacon.middlewares=ethereum-sepolia-erigon3-archive-trace-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
ethereum-sepolia-erigon3-archive-trace:
|
||||
|
||||
@@ -16,7 +16,7 @@ if [ ! -f "$FANTOM_HOME/mainnet-5577-full-mpt.g" ];
|
||||
then
|
||||
cd $FANTOM_HOME
|
||||
echo "downloading launch genesis file"
|
||||
wget --quiet https://download.fantom.network/mainnet-5577-full-mpt.g
|
||||
wget --quiet https://download.fantom.network/opera/mainnet/mainnet-5577-full-mpt.g
|
||||
fi
|
||||
|
||||
# uncomment the next line and do docker-compose build in case you have to try to fix the db after unclean shutdown etc.
|
||||
@@ -28,6 +28,7 @@ exec opera \
|
||||
--maxpeers=200 \
|
||||
--datadir=$FANTOM_HOME \
|
||||
--http \
|
||||
--bootnodes=${BOOTNODES:-enode://94dfec3eb6e50187d22d12f7dd965169bab5a63022934ef0b3b82a819574e0940b5bcb471f62360f1b58cf61a89e634bd14ae7c2e29ce48088890f4a7aff44fe@75.98.207.227:5050,enode://7fb3f43273f4dfeb19c3129c6ed999e14246d2f219ff284d0ef87417cd9514c6d542abc988a654b4a77005ea896c5b4e4ca0d40f97f3bf9ee37be33cc749835f@209.172.40.68:5050,enode://27a80a1db08a40636415d4ff9bb272882b6a6f97a9a5d596006de843f35cbbc679e5252d89d3de05bd74c36cf9f5ce2446dd66cdd5dc7e942a585eb4add61124@37.27.70.18:5050,enode://946fef1538abd165f8bd2ae1c290e7689ff5e209ab6c085eaced9b91e93684b1efe05f79a9a9b460504c450065baaeda5ecb72c03f8adf7e7a559042ce4950da@136.243.252.124:5078,enode://cf762e3a68f8a96676d6383cd3286b85ef7454ef37bb39283efe00d3d573d88f05db3daab7c35a4d3ba9edd9d089e359a25de5beeb24f79f6c1b9e5341958cee@15.235.54.211:5050} \
|
||||
--http.addr=0.0.0.0 \
|
||||
--http.port=18544 \
|
||||
--http.api=ftm,eth,debug,admin,web3,personal,net,txpool,sfc,trace \
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
FROM debian
|
||||
RUN apt-get update && apt-get install -y wget
|
||||
RUN wget -O- https://github.com/streamingfast/firehose-ethereum/releases/download/v1.4.13/firehose-ethereum_linux_x86_64.tar.gz | tar xvz -C /usr/bin
|
||||
RUN wget https://github.com/streamingfast/go-ethereum/releases/download/geth-v1.12.1-fh2.3/geth_linux -O /usr/bin/geth
|
||||
RUN chmod +x /usr/bin/geth
|
||||
|
||||
ENTRYPOINT ["fireeth"]
|
||||
@@ -1,26 +0,0 @@
|
||||
start:
|
||||
args:
|
||||
- merger
|
||||
- firehose
|
||||
- reader-node
|
||||
- relayer
|
||||
- combined-index-builder
|
||||
flags:
|
||||
data-dir: /var/lib/firehose
|
||||
log-to-file: false
|
||||
reader-node-log-to-zap: false
|
||||
common-chain-id: "1"
|
||||
common-network-id: "1"
|
||||
reader-node-path: /usr/bin/geth
|
||||
substreams-rpc-endpoints: $ETHEREUM_ARCHIVE_RPC
|
||||
substreams-enabled: true
|
||||
common-merged-blocks-store-url: $S3_BLOCKS_STORE_URL
|
||||
substreams-request-stats-enabled: true
|
||||
reader-node-arguments: "--mainnet --datadir=/var/lib/geth
|
||||
--ipcpath=/var/lib/firehose/reader/ipc
|
||||
--http --http.api=eth,net,web3
|
||||
--authrpc.jwtsecret=/jwtsecret
|
||||
--authrpc.addr=0.0.0.0
|
||||
--authrpc.vhosts=*
|
||||
--http.port=8545 --http.addr=0.0.0.0 --http.vhosts=*
|
||||
--firehose-enabled --port=24465 --cache=2048"
|
||||
156
firehose.yml
156
firehose.yml
@@ -1,156 +0,0 @@
|
||||
version: '3.1'
|
||||
|
||||
services:
|
||||
erigon-mainnet:
|
||||
image: thorax/erigon:v2.48.1
|
||||
expose:
|
||||
- "16630"
|
||||
- "9090"
|
||||
- "8545"
|
||||
- "8551"
|
||||
ports:
|
||||
- "16630:16630"
|
||||
- "16630:16630/udp"
|
||||
volumes:
|
||||
- erigon-mainnet:/home/erigon/.local/share/erigon
|
||||
- .jwtsecret:/jwtsecret
|
||||
networks:
|
||||
- chains
|
||||
command: >
|
||||
--chain mainnet
|
||||
--port=16630
|
||||
--metrics --metrics.addr=0.0.0.0 --metrics.port=6060
|
||||
--private.api.addr=0.0.0.0:9090
|
||||
--torrent.upload.rate="1250mb"
|
||||
--torrent.download.rate="1250mb"
|
||||
--pprof
|
||||
--pprof.addr=0.0.0.0
|
||||
--pprof.port=6061
|
||||
--authrpc.addr=0.0.0.0
|
||||
--authrpc.vhosts=*
|
||||
--authrpc.jwtsecret=/jwtsecret
|
||||
--http.addr=0.0.0.0
|
||||
--http.vhosts=*
|
||||
--http.corsdomain=*
|
||||
--http.api=eth,erigon,web3,net,debug,trace,txpool
|
||||
--rpc.returndata.limit=1000000
|
||||
--rpc.gascap=5000000000
|
||||
--ws
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
labels:
|
||||
- "prometheus-scrape.enabled=true"
|
||||
- "prometheus-scrape.port=6060"
|
||||
- "prometheus-scrape.job_name=erigon"
|
||||
- "prometheus-scrape.metrics_path=/debug/metrics/prometheus"
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.erigon-mainnet-stripprefix.stripprefix.prefixes=/erigon"
|
||||
- "traefik.http.services.erigon-mainnet.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.erigon-mainnet.entrypoints=websecure"
|
||||
- "traefik.http.routers.erigon-mainnet.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.erigon-mainnet.rule=Host(`$DOMAIN`) && PathPrefix(`/erigon`)"
|
||||
- "traefik.http.routers.erigon-mainnet.middlewares=erigon-mainnet-stripprefix, ipwhitelist"
|
||||
|
||||
|
||||
fireeth-mainnet:
|
||||
build:
|
||||
context: ./firehose-mainnet/
|
||||
command: -c /etc/firehose/config.yml start
|
||||
environment:
|
||||
- "ETHEREUM_ARCHIVE_RPC=${FIREHOSE_ETHEREUM_ARCHIVE_RPC:-https://rpc-fi-1.stakesquid.eu/erigon}"
|
||||
- "S3_BLOCKS_STORE_URL=${FIREHOSE_S3_BLOCKS_STORE_URL:-s3://162.55.135.148:8333/eth-blocks?insecure=true}"
|
||||
expose:
|
||||
- 8545 # geth rpc
|
||||
- 8551 # consensus client
|
||||
- 13042 # firehose grpc
|
||||
ports:
|
||||
- "24465:24465"
|
||||
- "24465:24465/udp"
|
||||
- "13042:13042"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.services.firehose-mainnet.loadbalancer.server.scheme=h2c"
|
||||
- "traefik.http.services.firehose-mainnet.loadbalancer.server.port=13042"
|
||||
- "traefik.http.routers.firehose-mainnet.entrypoints=grpc"
|
||||
#- "traefik.http.routers.firehose-mainnet.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.firehose-mainnet.rule=Host(`firehose-mainnet.$DOMAIN`)"
|
||||
- "traefik.http.routers.firehose-mainnet.middlewares=ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- "./firehose-mainnet/config.yml:/etc/firehose/config.yml"
|
||||
- "geth-mainnet_data:/var/lib/geth"
|
||||
- "firehose-mainnet_data:/var/lib/firehose"
|
||||
- ".jwtsecret:/jwtsecret"
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
|
||||
|
||||
lighthouse-erigon-mainnet:
|
||||
image: sigp/lighthouse:latest-modern
|
||||
ports:
|
||||
- "18719:18719"
|
||||
- "18719:18719/udp"
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
- lighthouse-erigon-mainnet_data:/root/.lighthouse
|
||||
command: >
|
||||
lighthouse beacon_node
|
||||
--eth1-endpoints http://erigon-mainnet:8545
|
||||
--execution-endpoint http://erigon-mainnet:8551
|
||||
--execution-jwt /jwtsecret
|
||||
--checkpoint-sync-url https://sync-mainnet.beaconcha.in
|
||||
--http
|
||||
--http-address 0.0.0.0
|
||||
--port 18719
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
networks:
|
||||
- chains
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.lighthouse-erigon-mainnet-stripprefix.stripprefix.prefixes=/lighthouse-erigon-mainnet"
|
||||
- "traefik.http.services.lighthouse-erigon-mainnet.loadbalancer.server.port=5052"
|
||||
- "traefik.http.routers.lighthouse-erigon-mainnet.entrypoints=websecure"
|
||||
- "traefik.http.routers.lighthouse-erigon-mainnet.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.lighthouse-erigon-mainnet.rule=Host(`$DOMAIN`) && PathPrefix(`/lighthouse-erigon-mainnet`)"
|
||||
- "traefik.http.routers.lighthouse-erigon-mainnet.middlewares=lighthouse-erigon-mainnet-stripprefix, ipwhitelist"
|
||||
|
||||
|
||||
lighthouse-fireeth-mainnet:
|
||||
image: sigp/lighthouse:latest-modern
|
||||
ports:
|
||||
- "55031:55031"
|
||||
- "55031:55031/udp"
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
- lighthouse-fireeth-mainnet_data:/root/.lighthouse
|
||||
command: >
|
||||
lighthouse beacon_node
|
||||
--eth1-endpoints http://fireeth-mainnet:8545
|
||||
--execution-endpoint http://fireeth-mainnet:8551
|
||||
--execution-jwt /jwtsecret
|
||||
--checkpoint-sync-url https://mainnet-checkpoint-sync.attestant.io
|
||||
--http
|
||||
--http-address 0.0.0.0
|
||||
--port 55031
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
networks:
|
||||
- chains
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.lighthouse-fireeth-mainnet-stripprefix.stripprefix.prefixes=/lighthouse-fireeth-mainnet"
|
||||
- "traefik.http.services.lighthouse-fireeth-mainnet.loadbalancer.server.port=5052"
|
||||
- "traefik.http.routers.lighthouse-fireeth-mainnet.entrypoints=websecure"
|
||||
- "traefik.http.routers.lighthouse-fireeth-mainnet.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.lighthouse-fireeth-mainnet.rule=Host(`$DOMAIN`) && PathPrefix(`/lighthouse-fireeth-mainnet`)"
|
||||
- "traefik.http.routers.lighthouse-fireeth-mainnet.middlewares=lighthouse-fireeth-mainnet-stripprefix, ipwhitelist"
|
||||
|
||||
|
||||
volumes:
|
||||
erigon-mainnet:
|
||||
lighthouse-fireeth-mainnet_data:
|
||||
lighthouse-erigon-mainnet_data:
|
||||
geth-mainnet_data:
|
||||
firehose-mainnet_data:
|
||||
@@ -38,7 +38,7 @@ services:
|
||||
volumes:
|
||||
- fuse-mainnet-nethermind-archive-keystore:/nethermind/keystore
|
||||
- fuse-mainnet-nethermind-archive-logs:/nethermind/logs
|
||||
- ${FUSE_MAINNET_NETHERMIND_ARCHIVE_DB_DATA:-fuse-mainnet-nethermind-archive-db}:/nethermind/nethermind_db
|
||||
- ${FUSE_MAINNET_NETHERMIND_ARCHIVE__DB_DATA:-fuse-mainnet-nethermind-archive-db}:/nethermind/nethermind_db
|
||||
- fuse-mainnet-nethermind-archive-health:/health:ro
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
|
||||
83
gnosis-mainnet-erigon3-archive-trace.yml
Normal file
83
gnosis-mainnet-erigon3-archive-trace.yml
Normal file
@@ -0,0 +1,83 @@
|
||||
services:
|
||||
gnosis-erigon3-init:
|
||||
image: alpine:latest
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
command: rm /datadir/nodekey
|
||||
volumes:
|
||||
- "${GNOSIS_MAINNET_ERIGON3_ARCHIVE_TRACE_DATA:-gnosis-mainnet-erigon3-archive-trace}:/datadir"
|
||||
init: true
|
||||
|
||||
gnosis-erigon3:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-rc2}
|
||||
depends_on:
|
||||
- gnosis-erigon3-init
|
||||
user: root
|
||||
volumes:
|
||||
- "${GNOSIS_MAINNET_ERIGON3_ARCHIVE_TRACE_DATA:-gnosis-mainnet-erigon3-archive-trace}:/datadir"
|
||||
- .jwtsecret:/jwtsecret
|
||||
expose:
|
||||
- "20947"
|
||||
- "9090"
|
||||
- "8545"
|
||||
- "8551"
|
||||
ports:
|
||||
- "20947:20947"
|
||||
- "20947:20947/udp"
|
||||
- "28806:28806"
|
||||
- "28806:28806/udp"
|
||||
- "16393:16393"
|
||||
- "16393:16393/udp"
|
||||
- "17938:17938"
|
||||
- "17938:17938/udp"
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--chain=gnosis
|
||||
--prune.mode=archive
|
||||
--authrpc.addr=0.0.0.0
|
||||
--authrpc.vhosts=*
|
||||
--authrpc.jwtsecret=/jwtsecret
|
||||
--http
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.compression
|
||||
--http.vhosts='*'
|
||||
--http.corsdomain='*'
|
||||
--http.api=eth,debug,net,trace,web3,erigon
|
||||
--ws
|
||||
--ws.compression
|
||||
--rpc.gascap=300000000
|
||||
--metrics
|
||||
--metrics.addr=0.0.0.0
|
||||
--metrics.port=6060
|
||||
--bodies.cache=5G
|
||||
--rpc.batch.limit=200000
|
||||
--batchSize=2048MB
|
||||
--port=20947
|
||||
--datadir=/datadir
|
||||
--ethash.dagdir=/datadir/ethash
|
||||
--rpc.returndata.limit=1000000
|
||||
--p2p.protocol=66
|
||||
--p2p.protocol 67
|
||||
--p2p.protocol 68
|
||||
--p2p.allowed-ports 28806
|
||||
--p2p.allowed-ports 16393
|
||||
--p2p.allowed-ports 17938
|
||||
--nat extip:${IP}
|
||||
stop_grace_period: 1m
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.gnosis-mainnet-erigon3-archive-trace-stripprefix.stripprefix.prefixes=/gnosis-erigon"
|
||||
- "traefik.http.services.gnosis-mainnet-erigon3-archive-trace.loadbalancer.server.port=8545"
|
||||
- "${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-erigon`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.rule=PathPrefix(`/gnosis-erigon`)}"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.middlewares=gnosis-mainnet-erigon3-archive-trace-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
gnosis-mainnet-erigon3-archive-trace:
|
||||
|
||||
@@ -11,6 +11,11 @@ while IFS= read -r line; do
|
||||
blacklist+=("$line")
|
||||
done < "$BASEPATH/path-blacklist.txt"
|
||||
|
||||
if $NO_SSL; then
|
||||
PROTO="http"
|
||||
DOMAIN="0.0.0.0"
|
||||
fi
|
||||
|
||||
pathlist=$(cat $BASEPATH/$1.yml | grep -oP "(?<=stripprefix\.prefixes).*\"" | cut -d'=' -f2- | sed 's/.$//')
|
||||
|
||||
for path in $pathlist; do
|
||||
@@ -22,9 +27,9 @@ for path in $pathlist; do
|
||||
done
|
||||
|
||||
if $include; then
|
||||
RPC_URL="https://$DOMAIN$path"
|
||||
RPC_URL="${PROTO:-https}://$DOMAIN$path"
|
||||
|
||||
if curl -s -X POST $RPC_URL -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false],"id":1}' | jq -r '.result.number, .result.hash' | awk '{if (NR==1) print "Block Number:", strtonum($0); else print "Block Hash:", $0}'; then
|
||||
if curl -s -X POST $RPC_URL -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false],"id":1}' | jq -r '.result.number, .result.hash' | gawk '{if (NR==1) print "Block Number:", strtonum($0); else print "Block Hash:", $0}'; then
|
||||
exit 0
|
||||
else
|
||||
if curl -s -X POST $RPC_URL -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false],"id":1}' | jq; then
|
||||
|
||||
91
linea-mainnet-erigon-archive-trace.yml
Normal file
91
linea-mainnet-erigon-archive-trace.yml
Normal file
@@ -0,0 +1,91 @@
|
||||
services:
|
||||
#linea-erigon-init:
|
||||
# image: alpine:latest
|
||||
# entrypoint: ["/bin/sh", "-c"]
|
||||
# command:
|
||||
# - |
|
||||
# apk add --no-cache openssl xxd;
|
||||
# mkdir -p /config;
|
||||
# if [ ! -f /config/nodekey ]; then
|
||||
# echo "Generating new Geth node key...";
|
||||
# openssl rand 32 | xxd -p -c 32 | tr -d '\n' > /configs/mainnet/shared/nodekey;
|
||||
# echo "Node key generated: $(cat /config/nodekey)";
|
||||
# else
|
||||
# echo "Node key already exists, skipping generation.";
|
||||
# fi
|
||||
# volumes:
|
||||
# - ./linea/shared:/configs/mainnet/shared
|
||||
# init: true
|
||||
|
||||
linea-erigon:
|
||||
image: erigontech/erigon:${ERIGON2_VERSION:-v2.61.3}
|
||||
user: root
|
||||
#depends_on:
|
||||
# - linea-erigon-init
|
||||
expose:
|
||||
- "51262"
|
||||
- "9090"
|
||||
- "8545"
|
||||
- "8551"
|
||||
ports:
|
||||
- "30319:30319"
|
||||
- "30319:30319/udp"
|
||||
- "48799:48799"
|
||||
- "48799:48799/udp"
|
||||
- "18025:18025"
|
||||
- "18025:18025/udp"
|
||||
volumes:
|
||||
- ${LINEA_MAINNET_ERIGON_ARCHIVE_TRACE_DATA:-linea-mainnet-erigon-archive-trace}:/root/.local/share/erigon
|
||||
- ./linea/shared:/configs/mainnet/shared
|
||||
- ./linea/erigon/scripts/entrypoint.sh:/entrypoint.sh
|
||||
networks:
|
||||
- chains
|
||||
entrypoint: /entrypoint.sh
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
command: >
|
||||
--chain=mainnet
|
||||
--networkid=59144
|
||||
--miner.gaslimit=61000000
|
||||
--txpool.accountqueue 50000
|
||||
--txpool.globalqueue 50000
|
||||
--txpool.globalslots 50000
|
||||
--txpool.pricelimit 1000000000
|
||||
--txpool.nolocals
|
||||
--nodekey /configs/mainnet/shared/nodekey
|
||||
--nat=extip:${IP}
|
||||
--snapshots=false
|
||||
--port=30319
|
||||
--p2p.allowed-ports 18025
|
||||
--p2p.allowed-ports 48799
|
||||
--bootnodes=enode://069800db9e6e0ec9cadca670994ef1aea2cfd3d88133e63ecadbc1cdbd1a5847b09838ee08d8b5f02a9c32ee13abeb4d4104bb5514e5322c9d7ee19f41ff3e51@3.132.73.210:31002,enode://a8e03a71eab12ec4b47bb6e19169d8e4dc7a58373a2476969bbe463f2dded6003037fa4dd5f71e15027f7fc8d7340956fbbefed67ddd116ac19a7f74da034b61@3.132.73.210:31003,enode://97706526cf79df9d930003644f9156805f6c8bd964fc79e083444f7014ce10c9bdd2c5049e63b58040dca1d4c82ebef970822198cf0714de830cff4111534ff1@18.223.198.165:31004,enode://24e1c654a801975a96b7f54ebd7452ab15777fc635c1db25bdbd4425fdb04e7f4768e9e838a87ab724320a765e41631d5d37758c933ad0e8668693558125c8aa@18.223.198.165:31000,enode://27010891d960f73d272a553f72b6336c6698db3ade98d631f09c764e57674a797be5ebc6829ddbb65ab564f439ebc75215d20aa98b6f351d12ea623e7d139ac3@3.132.73.210:31001,enode://228e1b8a4931e46f383e30721dac21fb8fb4e5e1b32c870e13b25478c82db3dc1cd9e7ceb93d302a766466b55638cc9c5cbfc43aa48fa41ced19baf365951f76@3.1.142.64:31002,enode://c22eb0d40fc3ad5ea710aeddea906567778166bfe18c157955e8c39b23a46c45db18a0fa2ba07f2b64c81178a8c796aec2a29151533920ead06fcdfc6d8d03c6@47.128.192.57:31004,enode://8ce733abe39fd7ae0a278b9893f85c1193c611a3886168690dd843435460f22cc4d61f9e8d0ace7f5905836a665319a31cccdaacdada2acc69972c382ecce7db@3.1.142.64:31003,enode://b7c1b2bed65a855f7a2104aac9a14674dfdf018fdac763415b373b29ce18cdb81d36328ba4e5c9f12629f3a50c3e8f9ee048f22dbdbe93a82813da89c6b81334@51.20.235.126:31004,enode://95270e0550848a72fb141cf27f1c4ea10714edde365b411dc0fa06c81c0f282ce155eb9fa472b6b8bb9ee98395eeaf4c5a7b02a01fe58b37ea98ba152eda4c37@13.50.94.193:31000,enode://72013391755f24f08567b932feeeec4c893c06e0b1fb480890c83bf87fd277ad86a5ab9cb586db9ae9970371a2f8cb0c96f6c9f69045abca0fb801db7f047138@51.20.235.126:31001
|
||||
--metrics --metrics.addr=0.0.0.0 --metrics.port=6060
|
||||
--private.api.addr=0.0.0.0:9090
|
||||
--pprof
|
||||
--pprof.addr=0.0.0.0
|
||||
--pprof.port=6061
|
||||
--authrpc.addr=0.0.0.0
|
||||
--authrpc.vhosts=*
|
||||
--authrpc.jwtsecret=/jwtsecret
|
||||
--http.addr=0.0.0.0
|
||||
--http.vhosts=*
|
||||
--http.corsdomain=*
|
||||
--http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
--rpc.returndata.limit=1000000
|
||||
--rpc.gascap=5000000000
|
||||
--ws
|
||||
--ws.port=8545
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.linea-mainnet-erigon-archive-trace-stripprefix.stripprefix.prefixes=/linea-erigon"
|
||||
- "traefik.http.services.linea-mainnet-erigon-archive-trace.loadbalancer.server.port=8545"
|
||||
- "${NO_SSL:-traefik.http.routers.linea-mainnet-erigon-archive-trace.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.linea-mainnet-erigon-archive-trace.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.linea-mainnet-erigon-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/linea-erigon`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.linea-mainnet-erigon-archive-trace.rule=PathPrefix(`/linea-erigon`)}"
|
||||
- "traefik.http.routers.linea-mainnet-erigon-archive-trace.middlewares=linea-mainnet-erigon-archive-trace-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
linea-mainnet-erigon-archive-trace:
|
||||
@@ -1,92 +0,0 @@
|
||||
version: '3.1'
|
||||
|
||||
services:
|
||||
linea-erigon-init:
|
||||
image: alpine:latest
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
command:
|
||||
- |
|
||||
apk add --no-cache openssl xxd;
|
||||
mkdir -p /config;
|
||||
if [ ! -f /config/nodekey ]; then
|
||||
echo "Generating new Geth node key...";
|
||||
openssl rand 32 | xxd -p -c 32 | tr -d '\n' > /configs/mainnet/shared/nodekey;
|
||||
echo "Node key generated: $(cat /config/nodekey)";
|
||||
else
|
||||
echo "Node key already exists, skipping generation.";
|
||||
fi
|
||||
volumes:
|
||||
- ./linea/shared:/configs/mainnet/shared
|
||||
init: true
|
||||
|
||||
linea-erigon:
|
||||
image: erigontech/erigon:${ERIGON2_VERSION:-v2.61.0}
|
||||
user: root
|
||||
depends_on:
|
||||
- linea-erigon-init
|
||||
expose:
|
||||
- "51262"
|
||||
- "9090"
|
||||
- "8545"
|
||||
- "8551"
|
||||
ports:
|
||||
- "30319:30319"
|
||||
- "30319:30319/udp"
|
||||
- "48799:48799"
|
||||
- "48799:48799/udp"
|
||||
- "18025:18025"
|
||||
- "18025:18025/udp"
|
||||
volumes:
|
||||
- ${LINEA-MAINNET-ERIGON-V2-ARCHIVE-TRACE:-linea-mainnet-erigon-v2-archive-trace}:/root/.local/share/erigon
|
||||
- ./linea/shared:/configs/mainnet/shared
|
||||
- ./linea/erigon/scripts/entrypoint.sh:/entrypoint.sh
|
||||
networks:
|
||||
- chains
|
||||
entrypoint: /entrypoint.sh
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
command: >
|
||||
--chain=mainnet
|
||||
--networkid=59144
|
||||
--miner.gaslimit=61000000
|
||||
--txpool.accountqueue 50000
|
||||
--txpool.globalqueue 50000
|
||||
--txpool.globalslots 50000
|
||||
--txpool.pricelimit 1000000000
|
||||
--txpool.nolocals
|
||||
--nodekey /configs/mainnet/shared/nodekey
|
||||
--nat=extip:${IP}
|
||||
--snapshots=false
|
||||
--port=30319
|
||||
--p2p.allowed-ports 18025
|
||||
--p2p.allowed-ports 48799
|
||||
--bootnodes=enode://ca2f06aa93728e2883ff02b0c2076329e475fe667a48035b4f77711ea41a73cf6cb2ff232804c49538ad77794185d83295b57ddd2be79eefc50a9dd5c48bbb2e@3.128.49.168:30303,enode://eef91d714494a1ceb6e06e5ce96fe5d7d25d3701b2d2e68c042b33d5fa0e4bf134116e06947b3f40b0f22db08f104504dd2e5c790d8bcbb6bfb1b7f4f85313ec@3.130.182.201:30303,enode://cfd472842582c422c7c98b0f2d04c6bf21d1afb2c767f72b032f7ea89c03a7abdaf4855b7cb2dc9ae7509836064ba8d817572cf7421ba106ac87857836fa1d1b@3.136.114.192:30303
|
||||
--metrics --metrics.addr=0.0.0.0 --metrics.port=6060
|
||||
--private.api.addr=0.0.0.0:9090
|
||||
--pprof
|
||||
--pprof.addr=0.0.0.0
|
||||
--pprof.port=6061
|
||||
--authrpc.addr=0.0.0.0
|
||||
--authrpc.vhosts=*
|
||||
--authrpc.jwtsecret=/jwtsecret
|
||||
--http.addr=0.0.0.0
|
||||
--http.vhosts=*
|
||||
--http.corsdomain=*
|
||||
--http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
--rpc.returndata.limit=1000000
|
||||
--rpc.gascap=5000000000
|
||||
--ws
|
||||
--ws.port=8545
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.linea-mainnet-erigon-v2-archive-trace-stripprefix.stripprefix.prefixes=/linea-erigon"
|
||||
- "traefik.http.services.linea-mainnet-erigon-v2-archive-trace.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.linea-mainnet-erigon-v2-archive-trace.entrypoints=websecure"
|
||||
- "traefik.http.routers.linea-mainnet-erigon-v2-archive-trace.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.linea-mainnet-erigon-v2-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/linea-erigon`)"
|
||||
- "traefik.http.routers.linea-mainnet-erigon-v2-archive-trace.middlewares=linea-mainnet-erigon-v2-archive-trace-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
linea-mainnet-erigon-v2-archive-trace:
|
||||
@@ -15,7 +15,6 @@ services:
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--rpc-cors all
|
||||
--unsafe-ws-external
|
||||
--unsafe-rpc-external
|
||||
--trie-cache-size 1073741824
|
||||
--base-path=/data
|
||||
|
||||
@@ -3,6 +3,7 @@ services:
|
||||
optimism-erigon:
|
||||
image: testinprod/op-erigon:${OP_ERIGON_VERSION:-v2.61.1-0.8.3}
|
||||
restart: unless-stopped
|
||||
user: root
|
||||
stop_grace_period: 5m
|
||||
expose:
|
||||
- "9090"
|
||||
@@ -24,6 +25,7 @@ services:
|
||||
--chain=optimism-mainnet
|
||||
--ws
|
||||
--nodiscover
|
||||
--db.size.limit=8TB
|
||||
volumes:
|
||||
- ${OPTIMISM_MAINNET_OP_ERIGON_ARCHIVE_TRACE_DATA:-optimism-mainnet-op-erigon-archive-trace}:/root/.local/share/erigon
|
||||
- .jwtsecret:/jwtsecret
|
||||
@@ -65,7 +67,7 @@ services:
|
||||
- "OP_NODE_L1_ETH_RPC=${OPTIMISM_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://optimism-erigon:9551"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://optimism-erigon:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
|
||||
102
optimism-mainnet-op-reth-archive-trace.yml
Normal file
102
optimism-mainnet-op-reth-archive-trace.yml
Normal file
@@ -0,0 +1,102 @@
|
||||
services:
|
||||
optimism-reth:
|
||||
image: ghcr.io/paradigmxyz/op-reth:${OP_RETH_VERSION:-v1.3.1}
|
||||
expose:
|
||||
- 9551
|
||||
- 8545 # RPC / Websocket
|
||||
- 9575 # P2P TCP (currently unused)
|
||||
- 9575/udp # P2P UDP (currently unused)
|
||||
- 6060 # metrics
|
||||
ports:
|
||||
- "9575:9575"
|
||||
- "9575:9575/udp"
|
||||
restart: unless-stopped
|
||||
user: root
|
||||
stop_grace_period: 3m
|
||||
command: >
|
||||
node
|
||||
--chain optimism
|
||||
--port 9575
|
||||
--discovery.port 9575
|
||||
--rollup.sequencer-http https://mainnet-sequencer.optimism.org
|
||||
--http
|
||||
--ws
|
||||
--authrpc.addr 0.0.0.0
|
||||
--authrpc.port 9551
|
||||
--authrpc.jwtsecret /jwtsecret
|
||||
--http.addr 0.0.0.0
|
||||
--http.port 8545
|
||||
--ws.addr 0.0.0.0
|
||||
--ws.port 8545
|
||||
--ws.origins '*'
|
||||
--http.api "debug,eth,net,trace,txpool,web3,rpc,reth,admin"
|
||||
--ws.api "debug,eth,net,trace,txpool,web3,rpc,reth,admin"
|
||||
--http.corsdomain '*'
|
||||
--rpc.max-logs-per-response 1100000
|
||||
--rpc.gascap 600000000
|
||||
--nat extip:$IP
|
||||
volumes:
|
||||
- ${OPTIMISM_MAINNET_OP_RETH_ARCHIVE_TRACE_DATA:-optimism-mainnet-op-reth-archive-trace}:/root/.local/share/reth/optimism
|
||||
- /slowdisk:/slowdisk
|
||||
- .jwtsecret:/jwtsecret
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.optimism-mainnet-op-reth-archive-trace-stripprefix.stripprefix.prefixes=/optimism-reth"
|
||||
- "traefik.http.services.optimism-mainnet-op-reth-archive-trace.loadbalancer.server.port=8545"
|
||||
- "${NO_SSL:-traefik.http.routers.optimism-mainnet-op-reth-archive-trace.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.optimism-mainnet-op-reth-archive-trace.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.optimism-mainnet-op-reth-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/optimism-reth`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.optimism-mainnet-op-reth-archive-trace.rule=PathPrefix(`/optimism-reth`)}"
|
||||
- "traefik.http.routers.optimism-mainnet-op-reth-archive-trace.middlewares=optimism-mainnet-op-reth-archive-trace-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
optimism-reth-node:
|
||||
build:
|
||||
context: ./op
|
||||
depends_on:
|
||||
- optimism-reth
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
expose:
|
||||
- 8545 # RPC
|
||||
- 26513 # P2P TCP
|
||||
- 26513/udp # P2P UDP
|
||||
- 7300 # metrics
|
||||
- 6060 # pprof
|
||||
ports:
|
||||
- "26513:26513"
|
||||
- "26513:26513/udp"
|
||||
entrypoint: ./op-node
|
||||
restart: always
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=op-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${OPTIMISM_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://optimism-reth:9551"
|
||||
- "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_AGENT=op"
|
||||
- "OP_NODE_P2P_BOOTNODES=enr:-J24QNz9lbrKbN4iSmmjtnr7SjUMk4zB7f1krHZcTZx-JRKZd0kA2gjufUROD6T3sOWDVDnFJRvqBBo62zuF-hYCohOGAYiOoEyEgmlkgnY0gmlwhAPniryHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQKNVFlCxh_B-716tTs-h1vMzZkSs1FTu_OYTNjgufplG4N0Y3CCJAaDdWRwgiQG,enr:-J24QH-f1wt99sfpHy4c0QJM-NfmsIfmlLAMMcgZCUEgKG_BBYFc6FwYgaMJMQN5dsRBJApIok0jFn-9CS842lGpLmqGAYiOoDRAgmlkgnY0gmlwhLhIgb2Hb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJ9FTIv8B9myn1MWaC_2lJ-sMoeCDkusCsk4BYHjjCq04N0Y3CCJAaDdWRwgiQG,enr:-J24QDXyyxvQYsd0yfsN0cRr1lZ1N11zGTplMNlW4xNEc7LkPXh0NAJ9iSOVdRO95GPYAIc6xmyoCCG6_0JxdL3a0zaGAYiOoAjFgmlkgnY0gmlwhAPckbGHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJwoS7tzwxqXSyFL7g0JM-KWVbgvjfB8JA__T7yY_cYboN0Y3CCJAaDdWRwgiQG,enr:-J24QHmGyBwUZXIcsGYMaUqGGSl4CFdx9Tozu-vQCn5bHIQbR7On7dZbU61vYvfrJr30t0iahSqhc64J46MnUO2JvQaGAYiOoCKKgmlkgnY0gmlwhAPnCzSHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQINc4fSijfbNIiGhcgvwjsjxVFJHUstK9L1T8OTKUjgloN0Y3CCJAaDdWRwgiQG,enr:-J24QG3ypT4xSu0gjb5PABCmVxZqBjVw9ca7pvsI8jl4KATYAnxBmfkaIuEqy9sKvDHKuNCsy57WwK9wTt2aQgcaDDyGAYiOoGAXgmlkgnY0gmlwhDbGmZaHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQIeAK_--tcLEiu7HvoUlbV52MspE0uCocsx1f_rYvRenIN0Y3CCJAaDdWRwgiQG"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=26513"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=26513"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${OPTIMISM_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${OPTIMISM_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${OPTIMISM_L1_ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L2_SKIP_SYNC_START_CHECK=true"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
optimism-mainnet-op-reth-archive-trace:
|
||||
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
polygon-erigon3:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-alpha7}
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-rc2}
|
||||
user: root
|
||||
expose:
|
||||
- "9090"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"default": [
|
||||
"base-fullnode", "base-reth-fullnode"
|
||||
],
|
||||
"archive": ["base-reth"]
|
||||
"archive": ["base-reth", "base-mainnet-op-erigon-archive-trace"]
|
||||
},
|
||||
"snaxchain": {
|
||||
"id": 2192,
|
||||
@@ -67,7 +67,9 @@
|
||||
],
|
||||
"archive": [
|
||||
"reth-mainnet",
|
||||
"erigon-mainnet"
|
||||
"erigon-mainnet",
|
||||
"ethereum-mainnet-erigon3-archive-trace",
|
||||
"ethereum-mainnet-erigon-archive-trace"
|
||||
]
|
||||
},
|
||||
"playnance": {
|
||||
@@ -158,7 +160,8 @@
|
||||
"default": [
|
||||
"arbitrum-fullnode",
|
||||
"arbitrum-fullnode-pebble"
|
||||
]
|
||||
],
|
||||
"archive": ["arbitrum-one-nitro-archive"]
|
||||
},
|
||||
"arbitrum-nova": {
|
||||
"id": 42170,
|
||||
@@ -188,7 +191,8 @@
|
||||
],
|
||||
"default": ["op-blast-mainnet-fullnode", "op-blast-mainnet-pbss"],
|
||||
"archive": [
|
||||
"op-blast-mainnet"
|
||||
"op-blast-mainnet",
|
||||
"blast-mainnet-geth-archive"
|
||||
]
|
||||
},
|
||||
"blast-sepolia": {
|
||||
@@ -231,7 +235,8 @@
|
||||
],
|
||||
"default": [
|
||||
"avalanche-fullnode"
|
||||
]
|
||||
],
|
||||
"archive": ["avalanche-mainnet-go-archive"]
|
||||
},
|
||||
"avalanche-fuji": {
|
||||
"id": 43113,
|
||||
@@ -250,7 +255,8 @@
|
||||
],
|
||||
"default": [
|
||||
"celo-fullnode"
|
||||
]
|
||||
],
|
||||
"archive": ["celo-mainnet-geth-archive"]
|
||||
},
|
||||
"celo-alfajores": {
|
||||
"id": 44787,
|
||||
@@ -260,12 +266,12 @@
|
||||
"boba-eth": {
|
||||
"id": 288,
|
||||
"urls": ["https://mainnet.boba.network"],
|
||||
"default": ["op-boba"]
|
||||
"default": ["op-boba","boba-eth-mainnet-erigon-archive-trace"]
|
||||
},
|
||||
"boba-bnb": {
|
||||
"id": 56288,
|
||||
"urls": ["https://replica.bnb.boba.network"],
|
||||
"default": ["op-bobabnb"]
|
||||
"default": ["op-bobabnb","boba-bnb-mainnet-l2geth-archive"]
|
||||
},
|
||||
"fantom": {
|
||||
"id": 250,
|
||||
@@ -274,7 +280,8 @@
|
||||
],
|
||||
"default": [
|
||||
"fantom"
|
||||
]
|
||||
],
|
||||
"archive": ["fantom-mainnet-opera-archive-trace"]
|
||||
},
|
||||
"fantom-testnet": {
|
||||
"id": 4002,
|
||||
@@ -297,7 +304,7 @@
|
||||
"optimism": {
|
||||
"id": 10,
|
||||
"urls": [
|
||||
"https://1rpc.io/op"
|
||||
"https://mainnet.optimism.io"
|
||||
],
|
||||
"default": [
|
||||
"optimism-fullnode", "optimism-reth-fullnode"
|
||||
@@ -307,7 +314,7 @@
|
||||
"sepolia": {
|
||||
"id": 11155111,
|
||||
"urls": [
|
||||
"https://1rpc.io/sepolia"
|
||||
"https://sepolia.drpc.org"
|
||||
],
|
||||
"default": [
|
||||
"geth-repolia",
|
||||
@@ -315,17 +322,19 @@
|
||||
],
|
||||
"erchive": [
|
||||
"reth-sepolia",
|
||||
"erigon-sepolia"
|
||||
"erigon-sepolia",
|
||||
"ethereum-sepolia-erigon3-archive-trace"
|
||||
]
|
||||
},
|
||||
"holesky": {
|
||||
"id": 17000,
|
||||
"urls": [
|
||||
"https://rpc.holesky.ethpandaops.io"
|
||||
"https://holesky.drpc.org"
|
||||
],
|
||||
"default": [
|
||||
"geth-holesky"
|
||||
]
|
||||
],
|
||||
"archive": ["ethereum-holesky-erigon3-archive-trace"]
|
||||
},
|
||||
"gnosis": {
|
||||
"id": 100,
|
||||
@@ -336,7 +345,7 @@
|
||||
"erigon-gnosis-fullnode",
|
||||
"nethermind-gnosis"
|
||||
],
|
||||
"archive": ["erigon-gnosis", "reth-gnosis"]
|
||||
"archive": ["erigon-gnosis", "reth-gnosis", "gnosis-mainnet-erigon3-archive-trace"]
|
||||
},
|
||||
"gnosis-chiado": {
|
||||
"id": 10200,
|
||||
@@ -379,7 +388,7 @@
|
||||
"default": [
|
||||
"polygon-erigon-fullnode"
|
||||
],
|
||||
"archive": ["polygon-erigon"]
|
||||
"archive": ["polygon-erigon", "polygon-mainnet-erigon3-archive-trace"]
|
||||
},
|
||||
"linea": {
|
||||
"id": 59144,
|
||||
@@ -392,7 +401,8 @@
|
||||
"archive": [
|
||||
"geth-linea",
|
||||
"erigon-linea",
|
||||
"reth-linea"
|
||||
"reth-linea",
|
||||
"linea-mainnet-erigon-archive-trace"
|
||||
]
|
||||
},
|
||||
"linea-sepolia": {
|
||||
@@ -426,13 +436,14 @@
|
||||
"bsc": {
|
||||
"id": 56,
|
||||
"urls": [
|
||||
"https://bscrpc.com"
|
||||
"https://bsc.drpc.org"
|
||||
],
|
||||
"default": [
|
||||
"bsc",
|
||||
"bsc-erigon-fullnode",
|
||||
"reth-bsc-fullnode"
|
||||
]
|
||||
],
|
||||
"archive": ["bsc-mainnet-erigon3-archive-trace"]
|
||||
},
|
||||
"bsc-testnet": {
|
||||
"id": 97,
|
||||
@@ -477,7 +488,8 @@
|
||||
"zksync": {
|
||||
"id": 324,
|
||||
"urls": ["https://1rpc.io/zksync2-era"],
|
||||
"default": ["zksync-mainnet-fullnode"]
|
||||
"default": ["zksync-mainnet-fullnode"],
|
||||
"archive": ["zksync-era-mainnet-external-node-archive"]
|
||||
},
|
||||
"rootstock": {
|
||||
"id": 30,
|
||||
@@ -489,6 +501,11 @@
|
||||
"urls": ["https://public-node.testnet.rsk.co"],
|
||||
"default": ["rsk-testnet"]
|
||||
},
|
||||
"moonbeam": {
|
||||
"id": 1284,
|
||||
"urls": ["https://rpc.api.moonbeam.network"],
|
||||
"archive": ["moonbeam-archive-trace"]
|
||||
},
|
||||
"polygon-amoy": {
|
||||
"id": 80002,
|
||||
"urls": [
|
||||
@@ -502,7 +519,7 @@
|
||||
"id": 534352,
|
||||
"urls": ["https://rpc.scroll.io"],
|
||||
"default": ["scroll-mainnet"],
|
||||
"archive": ["scroll-mainnet"]
|
||||
"archive": ["scroll-mainnet", "scroll-mainnet-l2geth-archive"]
|
||||
},
|
||||
"scroll-sepolia": {
|
||||
"id": 534351,
|
||||
|
||||
6
rpc.yml
6
rpc.yml
@@ -1,5 +1,3 @@
|
||||
version: '3.1'
|
||||
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:v2.11.0
|
||||
@@ -15,14 +13,14 @@ services:
|
||||
- "--api=true"
|
||||
- "--api.insecure=true"
|
||||
- "--api.dashboard=true"
|
||||
- "--log.level=DEBUG"
|
||||
- "--log.level=info"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--providers.file.filename=/dynamic_config.yml"
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
- "--entryPoints.metrics.address=:8082"
|
||||
- "--entryPoints.grpc.address=:3042"
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--metrics.prometheus.entryPoint=metrics"
|
||||
- "${NO_SSL:---entrypoints.web.http.redirections.entryPoint.to=websecure}"
|
||||
- "${NO_SSL:---entrypoints.web.http.redirections.entryPoint.scheme=https}"
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
version: '3.1'
|
||||
|
||||
services:
|
||||
scroll:
|
||||
image: scrolltech/l2geth:${SCROLL_GETH_VERSION:-scroll-v5.8.15}
|
||||
image: scrolltech/l2geth:${SCROLL_GETH_VERSION:-scroll-v5.7.25}
|
||||
expose:
|
||||
- 8545
|
||||
ports:
|
||||
@@ -23,7 +21,7 @@ services:
|
||||
--http.port=8545
|
||||
--http.addr=0.0.0.0
|
||||
--http.vhosts=*
|
||||
--l1.endpoint=${SCROLL_L1_ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||
--l1.endpoint="${SCROLL_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
--rollup.verify
|
||||
--graphql
|
||||
--graphql.vhosts=*
|
||||
@@ -31,24 +29,23 @@ services:
|
||||
--metrics.addr=0.0.0.0
|
||||
--maxpeers=100
|
||||
--gpo.ignoreprice=1
|
||||
#--cache.noprefetch
|
||||
#--l1.confirmations finalized
|
||||
--cache.noprefetch
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- "${SCROLL_MAINNET_ARCHIVE_DATA:-scroll-mainnet-archive}:/root/.ethereum"
|
||||
- "${SCROLL_MAINNET_L2GETH_ARCHIVE_DATA:-scroll-mainnet-l2geth-archive}:/root/.ethereum"
|
||||
- ".jwtsecret:/jwtsecret"
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 5m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.scroll-mainnet-archive-stripprefix.stripprefix.prefixes=/scroll"
|
||||
- "traefik.http.services.scroll-mainnet-archive.loadbalancer.server.port=8545"
|
||||
- "${NO_SSL:-traefik.http.routers.scroll-mainnet-archive.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.scroll-mainnet-archive.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.scroll-mainnet-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/scroll`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.scroll-mainnet-archive.rule=PathPrefix(`/scroll`)}"
|
||||
- "traefik.http.routers.scroll-mainnet-archive.middlewares=scroll-mainnet-archive-stripprefix, ipwhitelist"
|
||||
- "traefik.http.middlewares.scroll-mainnet-l2geth-archive-stripprefix.stripprefix.prefixes=/scroll"
|
||||
- "traefik.http.services.scroll-mainnet-l2geth-archive.loadbalancer.server.port=8545"
|
||||
- "${NO_SSL:-traefik.http.routers.scroll-mainnet-l2geth-archive.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.scroll-mainnet-l2geth-archive.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.scroll-mainnet-l2geth-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/scroll`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.scroll-mainnet-l2geth-archive.rule=PathPrefix(`/scroll`)}"
|
||||
- "traefik.http.routers.scroll-mainnet-l2geth-archive.middlewares=scroll-mainnet-l2geth-archive-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
scroll-mainnet-archive:
|
||||
scroll-mainnet-l2geth-archive:
|
||||
@@ -9,6 +9,13 @@ while IFS= read -r line; do
|
||||
blacklist+=("$line")
|
||||
done < "$BASEPATH/path-blacklist.txt"
|
||||
|
||||
if $NO_SSL; then
|
||||
PROTO="http"
|
||||
DOMAIN="${DOMAIN:-0.0.0.0}"
|
||||
else
|
||||
PROTO="https"
|
||||
fi
|
||||
|
||||
pathlist=$(cat $BASEPATH/$1.yml | grep -oP "(?<=PathPrefix).*\"" | cut -d'`' -f2-2)
|
||||
|
||||
for path in $pathlist; do
|
||||
@@ -20,7 +27,7 @@ for path in $pathlist; do
|
||||
done
|
||||
|
||||
if $include; then
|
||||
RPC_URL="https://$DOMAIN$path"
|
||||
RPC_URL="$PROTO://$DOMAIN$path"
|
||||
|
||||
ref=''
|
||||
if [ -n "$2" ]; then
|
||||
|
||||
@@ -9,6 +9,13 @@ while IFS= read -r line; do
|
||||
blacklist+=("$line")
|
||||
done < "$BASEPATH/path-blacklist.txt"
|
||||
|
||||
if $NO_SSL; then
|
||||
PROTO="http"
|
||||
DOMAIN="${DOMAIN:-0.0.0.0}"
|
||||
else
|
||||
PROTO="https"
|
||||
fi
|
||||
|
||||
pathlist=$(cat $BASEPATH/$1.yml | grep -oP "(?<=stripprefix\.prefixes).*\"" | cut -d'=' -f2- | sed 's/.$//')
|
||||
|
||||
for path in $pathlist; do
|
||||
@@ -20,7 +27,7 @@ for path in $pathlist; do
|
||||
done
|
||||
|
||||
if $include; then
|
||||
RPC_URL="https://$DOMAIN$path"
|
||||
RPC_URL="$PROTO://$DOMAIN$path"
|
||||
response_file=$(mktemp)
|
||||
|
||||
http_status_code=$(curl --ipv4 -m 1 -s -X POST -w "%{http_code}" -o "$response_file" -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}' $RPC_URL)
|
||||
|
||||
@@ -34,10 +34,9 @@ services:
|
||||
- chains
|
||||
|
||||
zksync-era-external-node-archive-client:
|
||||
image: "matterlabs/external-node:v24.23.0"
|
||||
image: "matterlabs/external-node:v26.2.1"
|
||||
depends_on:
|
||||
zksync-era-archive-db:
|
||||
condition: service_healthy
|
||||
- zksync-era-external-node-archive-db
|
||||
ports:
|
||||
- "127.0.0.1:3060:3060"
|
||||
- "127.0.0.1:3061:3061"
|
||||
@@ -47,7 +46,7 @@ services:
|
||||
expose:
|
||||
- 3322
|
||||
environment:
|
||||
DATABASE_URL: "postgres://postgres:notsecurepassword@zksync-archive-db:5430/zksync_local_ext_node"
|
||||
DATABASE_URL: "postgres://postgres:notsecurepassword@zksync-era-external-node-archive-db:5430/zksync_local_ext_node"
|
||||
DATABASE_POOL_SIZE: 10
|
||||
|
||||
EN_HTTP_PORT: 3060
|
||||
@@ -73,7 +72,7 @@ services:
|
||||
restart: unless-stopped
|
||||
image: nginx
|
||||
depends_on:
|
||||
- zksync-eraexternal-node-archive-client
|
||||
- zksync-era-external-node-archive-client
|
||||
expose:
|
||||
- 80
|
||||
environment:
|
||||
|
||||
Reference in New Issue
Block a user