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
|
stop_grace_period: 3m
|
||||||
user: root
|
user: root
|
||||||
volumes:
|
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
|
- './tmp/arbitrum-archive:/tmp' # only used to initialize from scratch and the download is HUGE
|
||||||
expose:
|
expose:
|
||||||
- 8547
|
- 8547
|
||||||
command: >
|
command: >
|
||||||
--init.latest=archive
|
--init.latest=archive
|
||||||
|
--execution.caching.archive
|
||||||
--chain.name=arb1
|
--chain.name=arb1
|
||||||
#--execution.caching.state-scheme=hash
|
--persistent.chain=/arbitrum-node/datadir
|
||||||
#--persistent.db-engine=pebble
|
|
||||||
--persistent.chain=/arbitrum-node/datadir/
|
|
||||||
--persistent.global-config=/arbitrum-node/
|
--persistent.global-config=/arbitrum-node/
|
||||||
--parent-chain.connection.url=${ARBITRUM_L1_ETHEREUM_ONE_EXECUTION_RPC}
|
--parent-chain.connection.url=${ARBITRUM_L1_ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||||
--parent-chain.blob-client.beacon-url=${ARBITRUM_L1_ETHEREUM_ONE_BEACON_REST}
|
--parent-chain.blob-client.beacon-url=${ARBITRUM_L1_ETHEREUM_MAINNET_BEACON_REST}
|
||||||
--chain.id=42161
|
--chain.id=42161
|
||||||
--http.api=net,web3,eth,debug,arb
|
--http.api=net,web3,eth,debug,arb
|
||||||
--http.corsdomain=*
|
--http.corsdomain=*
|
||||||
@@ -32,8 +31,7 @@ services:
|
|||||||
--http.server-timeouts.write-timeout=60s
|
--http.server-timeouts.write-timeout=60s
|
||||||
--rpc.batch-request-limit=0
|
--rpc.batch-request-limit=0
|
||||||
--rpc.max-batch-response-size=0
|
--rpc.max-batch-response-size=0
|
||||||
--execution.rpc.classic-redirect=${ARBITRUM_CLASSIC_RPC_URL}
|
--execution.rpc.classic-redirect=${ARBITRUM_ONE_CLASSIC_RPC}
|
||||||
#--validation.wasm.allowed-wasm-module-roots=0x260f5fa5c3176a856893642e149cf128b5a8de9f828afec8d11184415dd8dc69
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [ -f /root/.arbitrum/mainnet/INITIALIZED ]; then
|
#if [ -f /root/.arbitrum/mainnet/INITIALIZED ]; then
|
||||||
echo "datadir is already initialized"
|
# echo "datadir is already initialized"
|
||||||
else
|
#else
|
||||||
echo "lemme download the database quickly"
|
# echo "lemme download the database quickly"
|
||||||
rm -rf /root/.arbitrum/mainnet/db
|
# 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
|
# curl https://snapshot.arbitrum.io/arb1/classic-archive.tar | tar -xv -C /root/.arbitrum/mainnet/ && touch /root/.arbitrum/mainnet/INITIALIZED
|
||||||
fi
|
#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
|
restart: unless-stopped
|
||||||
image: nginx
|
image: nginx
|
||||||
depends_on:
|
depends_on:
|
||||||
- avalanche-fuji
|
- avalanche-archive-client
|
||||||
expose:
|
expose:
|
||||||
- 80
|
- 80
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ services:
|
|||||||
image: testinprod/op-erigon:${OP_ERIGON_VERSION:-v2.61.1-0.8.3}
|
image: testinprod/op-erigon:${OP_ERIGON_VERSION:-v2.61.1-0.8.3}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
stop_grace_period: 5m
|
stop_grace_period: 5m
|
||||||
|
user: root
|
||||||
expose:
|
expose:
|
||||||
- "9090"
|
- "9090"
|
||||||
- "8545"
|
- "8545"
|
||||||
@@ -19,7 +20,7 @@ services:
|
|||||||
--authrpc.port=8551
|
--authrpc.port=8551
|
||||||
--authrpc.vhosts="*"
|
--authrpc.vhosts="*"
|
||||||
--authrpc.jwtsecret=/jwtsecret
|
--authrpc.jwtsecret=/jwtsecret
|
||||||
--rollup.sequencerhttp=https://mainnet-sequencer.base.org"
|
--rollup.sequencerhttp="https://mainnet-sequencer.base.org"
|
||||||
--chain=base-mainnet
|
--chain=base-mainnet
|
||||||
--ws
|
--ws
|
||||||
--nodiscover
|
--nodiscover
|
||||||
@@ -29,7 +30,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- chains
|
- chains
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.middlewares.base-mainnet-op-erigon-archive-trace-stripprefix.stripprefix.prefixes=/base-erigon"
|
- "traefik.http.middlewares.base-mainnet-op-erigon-archive-trace-stripprefix.stripprefix.prefixes=/base-erigon"
|
||||||
- "traefik.http.services.base-mainnet-op-erigon-archive-trace.loadbalancer.server.port=8545"
|
- "traefik.http.services.base-mainnet-op-erigon-archive-trace.loadbalancer.server.port=8545"
|
||||||
- "${NO_SSL:-traefik.http.routers.base-mainnet-op-erigon-archive-trace.entrypoints=websecure}"
|
- "${NO_SSL:-traefik.http.routers.base-mainnet-op-erigon-archive-trace.entrypoints=websecure}"
|
||||||
@@ -64,7 +65,7 @@ services:
|
|||||||
- "OP_NODE_L1_ETH_RPC=${BASE_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
- "OP_NODE_L1_ETH_RPC=${BASE_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||||
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
|
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
|
||||||
- "OP_NODE_L2_ENGINE_AUTH=/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_LOG_LEVEL=info"
|
||||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||||
- "OP_NODE_METRICS_ENABLED=true"
|
- "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:
|
networks:
|
||||||
chains:
|
chains:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
ipam:
|
ipam:
|
||||||
config:
|
config:
|
||||||
- subnet: 192.168.0.0/26
|
- subnet: ${CHAINS_SUBNET:-192.168.0.0/26}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
blast-archive:
|
blast-archive:
|
||||||
image: blastio/blast-geth:v1.1.0-mainnet
|
image: blastio/blast-geth:mainnet-v1.1.1
|
||||||
volumes:
|
volumes:
|
||||||
- ${BLAST_MAINNET_GETH_ARCHIVE_DATA:-blast-mainnet-geth-archive}:/data
|
- ${BLAST_MAINNET_GETH_ARCHIVE_DATA:-blast-mainnet-geth-archive}:/data
|
||||||
- ./blast-io:/config:rw
|
- ./blast-io:/config:rw
|
||||||
@@ -32,6 +32,7 @@ services:
|
|||||||
- "GETH_OVERRIDE_ECOTONE=1716843599"
|
- "GETH_OVERRIDE_ECOTONE=1716843599"
|
||||||
expose:
|
expose:
|
||||||
- 9545
|
- 9545
|
||||||
|
- 8551
|
||||||
restart: always
|
restart: always
|
||||||
stop_grace_period: 30s
|
stop_grace_period: 30s
|
||||||
entrypoint: /bin/sh
|
entrypoint: /bin/sh
|
||||||
@@ -49,7 +50,7 @@ services:
|
|||||||
- "traefik.http.routers.blast-mainnet-geth-archive.middlewares=blast-mainnet-geth-archive-stripprefix, ipwhitelist"
|
- "traefik.http.routers.blast-mainnet-geth-archive.middlewares=blast-mainnet-geth-archive-stripprefix, ipwhitelist"
|
||||||
|
|
||||||
blast-archive-node:
|
blast-archive-node:
|
||||||
image: blastio/blast-optimism:v1.1.0-mainnet
|
image: blastio/blast-optimism:mainnet-v1.1.1
|
||||||
volumes:
|
volumes:
|
||||||
- ./blast-io:/config
|
- ./blast-io:/config
|
||||||
- .jwtsecret:/jwtsecret
|
- .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_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_RATE_LIMIT=0"
|
||||||
- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=20"
|
- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=20"
|
||||||
- "OP_NODE_L1_RPC_KIND=${BLAST_MAINNET_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
- "OP_NODE_L1_RPC_KIND=${BLAST_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||||
- "OP_NODE_L1_TRUST_RPC=${BLAST_MAINNET_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
- "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_ETH_RPC=${BLAST_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||||
- "OP_NODE_L1_BEACON=${BLAST_L1_ETHEREUM_MAINNET_BEACON_REST}"
|
- "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_BEACON_ARCHIVER=${BLAST_MAINNET_L1_ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||||
- "OP_NODE_L1_TRUST_RPC=true"
|
- "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_ENGINE_AUTH=/jwtsecret"
|
||||||
- "OP_NODE_L2_SKIP_SYNC_START_CHECK=true"
|
- "OP_NODE_L2_SKIP_SYNC_START_CHECK=true"
|
||||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=25037"
|
- "OP_NODE_P2P_LISTEN_TCP_PORT=25037"
|
||||||
|
|||||||
@@ -1,9 +1,14 @@
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
boba-bnb-archive-dtl:
|
boba-bnb-archive-dtl:
|
||||||
image: bobanetwork/data-transport-layer@sha256:33e7530795f387c660633fc855e5ea7e19de445a7985b1c8b142db26698839e6
|
image: bobanetwork/data-transport-layer@sha256:33e7530795f387c660633fc855e5ea7e19de445a7985b1c8b142db26698839e6
|
||||||
|
stop_grace_period: 5m
|
||||||
environment:
|
environment:
|
||||||
DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT: 'https://bsc-dataseed.binance.org/'
|
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-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_L1: 'false'
|
||||||
DATA_TRANSPORT_LAYER__SYNC_FROM_L2: 'true'
|
DATA_TRANSPORT_LAYER__SYNC_FROM_L2: 'true'
|
||||||
DATA_TRANSPORT_LAYER__L2_CHAIN_ID: 56288
|
DATA_TRANSPORT_LAYER__L2_CHAIN_ID: 56288
|
||||||
@@ -21,7 +26,7 @@ services:
|
|||||||
DATA_TRANSPORT_LAYER__SERVER_HOSTNAME: '0.0.0.0'
|
DATA_TRANSPORT_LAYER__SERVER_HOSTNAME: '0.0.0.0'
|
||||||
volumes:
|
volumes:
|
||||||
- ./boba/bnb:/opt/optimism/packages/data-transport-layer/state-dumps/
|
- ./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:
|
networks:
|
||||||
- chains
|
- chains
|
||||||
|
|
||||||
@@ -30,16 +35,19 @@ services:
|
|||||||
- boba-bnb-archive-dtl
|
- boba-bnb-archive-dtl
|
||||||
image: bobanetwork/l2geth@sha256:0c5c25d1db8244f819d84517aaafafbf0e73cf3dacc98051c80310d9d01a12fd
|
image: bobanetwork/l2geth@sha256:0c5c25d1db8244f819d84517aaafafbf0e73cf3dacc98051c80310d9d01a12fd
|
||||||
entrypoint: sh ./geth.sh
|
entrypoint: sh ./geth.sh
|
||||||
|
stop_grace_period: 5m
|
||||||
volumes:
|
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:
|
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
|
ETH1_CTC_DEPLOYMENT_HEIGHT: 1305672
|
||||||
ROLLUP_TIMESTAMP_REFRESH: 5s
|
ROLLUP_TIMESTAMP_REFRESH: 5s
|
||||||
ROLLUP_STATE_DUMP_PATH: http://boba-bnb-archive-dtl:8081/state-dump.latest.json
|
ROLLUP_STATE_DUMP_PATH: http://boba-bnb-archive-dtl:8081/state-dump.latest.json
|
||||||
ROLLUP_CLIENT_HTTP: http://boba-bnb-archive-dtl:7878
|
ROLLUP_CLIENT_HTTP: http://boba-bnb-archive-dtl:7878
|
||||||
ROLLUP_BACKEND: 'l2'
|
ROLLUP_BACKEND: 'l2'
|
||||||
ROLLUP_VERIFIER_ENABLE: 'true'
|
ROLLUP_VERIFIER_ENABLE: 'false'
|
||||||
RETRIES: 60
|
RETRIES: 60
|
||||||
# no need to keep this secret, only used internally to sign blocks
|
# no need to keep this secret, only used internally to sign blocks
|
||||||
BLOCK_SIGNER_KEY: "6587ae678cf4fc9a33000cdbf9f35226b71dcc6a4684a31203241f9bcfd55d27"
|
BLOCK_SIGNER_KEY: "6587ae678cf4fc9a33000cdbf9f35226b71dcc6a4684a31203241f9bcfd55d27"
|
||||||
@@ -53,6 +61,7 @@ services:
|
|||||||
BOBA_GAS_PRICE_ORACLE_ADDRESS: "0x4200000000000000000000000000000000000024"
|
BOBA_GAS_PRICE_ORACLE_ADDRESS: "0x4200000000000000000000000000000000000024"
|
||||||
# sequencer http endpoint
|
# sequencer http endpoint
|
||||||
SEQUENCER_CLIENT_HTTP: https://bnb.boba.network/
|
SEQUENCER_CLIENT_HTTP: https://bnb.boba.network/
|
||||||
|
# SEQUENCER_CIENT_HTTP: http://142.132.249.52:8547
|
||||||
ETH1_SYNC_SERVICE_ENABLE: true
|
ETH1_SYNC_SERVICE_ENABLE: true
|
||||||
ETH1_CONFIRMATION_DEPTH: 0
|
ETH1_CONFIRMATION_DEPTH: 0
|
||||||
|
|
||||||
@@ -90,7 +99,7 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: nginx
|
image: nginx
|
||||||
depends_on:
|
depends_on:
|
||||||
- op-bobabnb-archive
|
- boba-bnb-archive-client
|
||||||
expose:
|
expose:
|
||||||
- 80
|
- 80
|
||||||
environment:
|
environment:
|
||||||
@@ -105,15 +114,15 @@ services:
|
|||||||
- ./nginx-proxy:/etc/nginx/templates
|
- ./nginx-proxy:/etc/nginx/templates
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.middlewares.boba-bnb-mainnet-geth-archive-stripprefix.stripprefix.prefixes=/boba-bnb-archive"
|
- "traefik.http.middlewares.boba-bnb-mainnet-l2geth-archive-stripprefix.stripprefix.prefixes=/boba-bnb-archive"
|
||||||
- "traefik.http.services.boba-bnb-mainnet-geth-archive.loadbalancer.server.port=80"
|
- "traefik.http.services.boba-bnb-mainnet-l2geth-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-l2geth-archive.entrypoints=websecure}"
|
||||||
- "${NO_SSL:-traefik.http.routers.boba-bnb-mainnet-geth-archive.tls.certresolver=myresolver}"
|
- "${NO_SSL:-traefik.http.routers.boba-bnb-mainnet-l2geth-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-l2geth-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/boba-bnb-archive`)}"
|
||||||
- "${NO_SSL:+traefik.http.routers.boba-bnb-mainnet-geth-archive.rule=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-geth-archive.middlewares=boba-bnb-mainnet-geth-archive-stripprefix, ipwhitelist"
|
- "traefik.http.routers.boba-bnb-mainnet-l2geth-archive.middlewares=boba-bnb-mainnet-l2geth-archive-stripprefix, ipwhitelist"
|
||||||
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
boba-bnb-mainnet-geth-archive_client:
|
boba-bnb-mainnet-l2geth-archive_client:
|
||||||
boba-bnb-mainnet-geth-archive_dtl:
|
boba-bnb-mainnet-l2geth-archive_dtl:
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
version: '3.4'
|
|
||||||
|
|
||||||
# The erigon db can be downloaded from
|
# The erigon db can be downloaded from
|
||||||
# https://boba-db.s3.us-east-2.amazonaws.com/mainnet/boba-mainnet-erigon-db-1149019.tgz
|
# https://boba-db.s3.us-east-2.amazonaws.com/mainnet/boba-mainnet-erigon-db-1149019.tgz
|
||||||
# and extracted to the DATA_DIR
|
# and extracted to the DATA_DIR
|
||||||
@@ -45,7 +43,7 @@ services:
|
|||||||
- 8551
|
- 8551
|
||||||
volumes:
|
volumes:
|
||||||
- .jwtsecret:/jwtsecret
|
- .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:
|
networks:
|
||||||
- chains
|
- chains
|
||||||
labels:
|
labels:
|
||||||
@@ -60,8 +58,8 @@ services:
|
|||||||
|
|
||||||
boba-eth-erigon-node:
|
boba-eth-erigon-node:
|
||||||
depends_on:
|
depends_on:
|
||||||
- op-boba
|
- boba-eth-erigon
|
||||||
image: us-docker.pkg.dev/boba-392114/bobanetwork-tools-artifacts/images/op-node:${BOBAETH_NODE_VERSION:-v1.6.15}
|
image: us-docker.pkg.dev/boba-392114/bobanetwork-tools-artifacts/images/op-node:${BOBAETH_NODE_VERSION:-v1.6.16-rc.1}
|
||||||
command: >
|
command: >
|
||||||
op-node
|
op-node
|
||||||
--l2=http://boba-eth-erigon:8551
|
--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_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=${BOBA_ETH_L1_ETHEREUM_MAINNET_BEACON_REST}"
|
||||||
- "OP_NODE_L1_BEACON_ARCHIVER=${BOBA_ETH_L1_ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
- "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:
|
ports:
|
||||||
- "45202:45202"
|
- "45202:45202"
|
||||||
- "45202:45202/udp"
|
- "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
|
image: us.gcr.io/celo-org/geth:1.8
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
stop_grace_period: 1m
|
stop_grace_period: 1m
|
||||||
command: |
|
command: >
|
||||||
--verbosity 3
|
--verbosity 3
|
||||||
--syncmode full
|
--syncmode full
|
||||||
--gcmode archive
|
--gcmode archive
|
||||||
@@ -20,7 +20,6 @@ services:
|
|||||||
--datadir /root/.celo
|
--datadir /root/.celo
|
||||||
expose:
|
expose:
|
||||||
- 8545
|
- 8545
|
||||||
- 8546
|
|
||||||
ports:
|
ports:
|
||||||
- '58395:58395/tcp' # p2p
|
- '58395:58395/tcp' # p2p
|
||||||
- '58395:58395/udp' # p2p
|
- '58395:58395/udp' # p2p
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ services:
|
|||||||
init: true
|
init: true
|
||||||
|
|
||||||
erigon-gnosis:
|
erigon-gnosis:
|
||||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-beta1}
|
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-rc2}
|
||||||
depends_on:
|
depends_on:
|
||||||
- erigon-gnosis-init
|
- erigon-gnosis-init
|
||||||
user: root
|
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:
|
services:
|
||||||
ethereum-erigon:
|
ethereum-erigon:
|
||||||
image: erigontech/erigon:${ERIGON_VERSION:-v2.6.1}
|
image: erigontech/erigon:${ERIGON_VERSION:-v2.61.3}
|
||||||
user: root
|
user: root
|
||||||
expose:
|
expose:
|
||||||
- "16630"
|
- "16630"
|
||||||
@@ -8,14 +8,12 @@ services:
|
|||||||
- "8545"
|
- "8545"
|
||||||
- "8551"
|
- "8551"
|
||||||
ports:
|
ports:
|
||||||
- "42087:42087"
|
- "18518:18518"
|
||||||
- "42087:42087/udp"
|
- "18518:18518/udp"
|
||||||
- "29553:29553/udp"
|
- "20202:20202"
|
||||||
- "45209:45209"
|
- "20202:20202/udp"
|
||||||
- "42137:42137"
|
- "52290:52290"
|
||||||
- "42137:42137/udp"
|
- "52290:52290/udp"
|
||||||
- "52538:52538"
|
|
||||||
- "52538:52538/udp"
|
|
||||||
environment:
|
environment:
|
||||||
- "IP=${IP}"
|
- "IP=${IP}"
|
||||||
volumes:
|
volumes:
|
||||||
@@ -25,27 +23,16 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- chains
|
- chains
|
||||||
command: >
|
command: >
|
||||||
--prune.mode=archive
|
|
||||||
--rpc.evmtimeout=30m0s
|
--rpc.evmtimeout=30m0s
|
||||||
--rpc.overlay.getlogstimeout=30m0s
|
--rpc.overlay.getlogstimeout=30m0s
|
||||||
--rpc.overlay.replayblocktimeout=30m0s
|
--rpc.overlay.replayblocktimeout=30m0s
|
||||||
--chain mainnet
|
--chain mainnet
|
||||||
--internalcl
|
--port=18518
|
||||||
--beacon.api.port=5555
|
--p2p.allowed-ports=52290
|
||||||
--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
|
|
||||||
--metrics --metrics.addr=0.0.0.0 --metrics.port=6060
|
--metrics --metrics.addr=0.0.0.0 --metrics.port=6060
|
||||||
--private.api.addr=0.0.0.0:9090
|
--private.api.addr=0.0.0.0:9090
|
||||||
--torrent.port=42137
|
--torrent.port=20202
|
||||||
--nat=extip:${IP}
|
--nat=extip:${IP}
|
||||||
--pprof
|
|
||||||
--pprof.addr=0.0.0.0
|
|
||||||
--pprof.port=6061
|
|
||||||
--authrpc.addr=0.0.0.0
|
--authrpc.addr=0.0.0.0
|
||||||
--authrpc.vhosts=*
|
--authrpc.vhosts=*
|
||||||
--authrpc.jwtsecret=/jwtsecret
|
--authrpc.jwtsecret=/jwtsecret
|
||||||
@@ -53,7 +40,6 @@ services:
|
|||||||
--http.vhosts=*
|
--http.vhosts=*
|
||||||
--http.corsdomain=*
|
--http.corsdomain=*
|
||||||
--http.api=eth,erigon,web3,net,debug,trace,txpool
|
--http.api=eth,erigon,web3,net,debug,trace,txpool
|
||||||
--beacon.api=beacon,builder,debug,lighthouse,node,validator,config
|
|
||||||
--rpc.returndata.limit=1100000
|
--rpc.returndata.limit=1100000
|
||||||
--rpc.gascap=5000000000
|
--rpc.gascap=5000000000
|
||||||
--ws.port=8545
|
--ws.port=8545
|
||||||
@@ -63,22 +49,12 @@ services:
|
|||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.middlewares.ethereum-mainnet-erigon-archive-trace-stripprefix.stripprefix.prefixes=/ethereum-erigon"
|
- "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"
|
- "traefik.http.services.ethereum-mainnet-erigon-archive-trace.loadbalancer.server.port=8545"
|
||||||
- "${NO_SSL:-traefik.http.routers.ethereum-mainnet-erigon-archive-trace.entrypoints=websecure}"
|
- "${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.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=Host(`$DOMAIN`) && PathPrefix(`/ethereum-erigon`)}"
|
||||||
- "${NO_SSL:+traefik.http.routers.ethereum-mainnet-erigon-archive-trace.rule=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.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:
|
volumes:
|
||||||
ethereum-mainnet-erigon-archive-trace:
|
ethereum-mainnet-erigon-archive-trace:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
ethereum-erigon3:
|
ethereum-erigon3:
|
||||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-alpha7}
|
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-rc2}
|
||||||
user: root
|
user: root
|
||||||
expose:
|
expose:
|
||||||
- "16630"
|
- "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
|
then
|
||||||
cd $FANTOM_HOME
|
cd $FANTOM_HOME
|
||||||
echo "downloading launch genesis file"
|
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
|
fi
|
||||||
|
|
||||||
# uncomment the next line and do docker-compose build in case you have to try to fix the db after unclean shutdown etc.
|
# 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 \
|
--maxpeers=200 \
|
||||||
--datadir=$FANTOM_HOME \
|
--datadir=$FANTOM_HOME \
|
||||||
--http \
|
--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.addr=0.0.0.0 \
|
||||||
--http.port=18544 \
|
--http.port=18544 \
|
||||||
--http.api=ftm,eth,debug,admin,web3,personal,net,txpool,sfc,trace \
|
--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:
|
volumes:
|
||||||
- fuse-mainnet-nethermind-archive-keystore:/nethermind/keystore
|
- fuse-mainnet-nethermind-archive-keystore:/nethermind/keystore
|
||||||
- fuse-mainnet-nethermind-archive-logs:/nethermind/logs
|
- 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
|
- fuse-mainnet-nethermind-archive-health:/health:ro
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- /etc/localtime:/etc/localtime: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
latest.sh
11
latest.sh
@@ -10,7 +10,12 @@ while IFS= read -r line; do
|
|||||||
# Add each line to the array
|
# Add each line to the array
|
||||||
blacklist+=("$line")
|
blacklist+=("$line")
|
||||||
done < "$BASEPATH/path-blacklist.txt"
|
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/.$//')
|
pathlist=$(cat $BASEPATH/$1.yml | grep -oP "(?<=stripprefix\.prefixes).*\"" | cut -d'=' -f2- | sed 's/.$//')
|
||||||
|
|
||||||
for path in $pathlist; do
|
for path in $pathlist; do
|
||||||
@@ -22,9 +27,9 @@ for path in $pathlist; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
if $include; then
|
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
|
exit 0
|
||||||
else
|
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
|
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
|
restart: unless-stopped
|
||||||
command: >
|
command: >
|
||||||
--rpc-cors all
|
--rpc-cors all
|
||||||
--unsafe-ws-external
|
|
||||||
--unsafe-rpc-external
|
--unsafe-rpc-external
|
||||||
--trie-cache-size 1073741824
|
--trie-cache-size 1073741824
|
||||||
--base-path=/data
|
--base-path=/data
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ services:
|
|||||||
optimism-erigon:
|
optimism-erigon:
|
||||||
image: testinprod/op-erigon:${OP_ERIGON_VERSION:-v2.61.1-0.8.3}
|
image: testinprod/op-erigon:${OP_ERIGON_VERSION:-v2.61.1-0.8.3}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
user: root
|
||||||
stop_grace_period: 5m
|
stop_grace_period: 5m
|
||||||
expose:
|
expose:
|
||||||
- "9090"
|
- "9090"
|
||||||
@@ -24,13 +25,14 @@ services:
|
|||||||
--chain=optimism-mainnet
|
--chain=optimism-mainnet
|
||||||
--ws
|
--ws
|
||||||
--nodiscover
|
--nodiscover
|
||||||
|
--db.size.limit=8TB
|
||||||
volumes:
|
volumes:
|
||||||
- ${OPTIMISM_MAINNET_OP_ERIGON_ARCHIVE_TRACE_DATA:-optimism-mainnet-op-erigon-archive-trace}:/root/.local/share/erigon
|
- ${OPTIMISM_MAINNET_OP_ERIGON_ARCHIVE_TRACE_DATA:-optimism-mainnet-op-erigon-archive-trace}:/root/.local/share/erigon
|
||||||
- .jwtsecret:/jwtsecret
|
- .jwtsecret:/jwtsecret
|
||||||
networks:
|
networks:
|
||||||
- chains
|
- chains
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.middlewares.optimism-mainnet-op-erigon-archive-trace-stripprefix.stripprefix.prefixes=/optimism-erigon"
|
- "traefik.http.middlewares.optimism-mainnet-op-erigon-archive-trace-stripprefix.stripprefix.prefixes=/optimism-erigon"
|
||||||
- "traefik.http.services.optimism-mainnet-op-erigon-archive-trace.loadbalancer.server.port=8545"
|
- "traefik.http.services.optimism-mainnet-op-erigon-archive-trace.loadbalancer.server.port=8545"
|
||||||
- "${NO_SSL:-traefik.http.routers.optimism-mainnet-op-erigon-archive-trace.entrypoints=websecure}"
|
- "${NO_SSL:-traefik.http.routers.optimism-mainnet-op-erigon-archive-trace.entrypoints=websecure}"
|
||||||
@@ -65,7 +67,7 @@ services:
|
|||||||
- "OP_NODE_L1_ETH_RPC=${OPTIMISM_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
- "OP_NODE_L1_ETH_RPC=${OPTIMISM_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||||
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
|
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
|
||||||
- "OP_NODE_L2_ENGINE_AUTH=/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_LOG_LEVEL=info"
|
||||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||||
- "OP_NODE_METRICS_ENABLED=true"
|
- "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:
|
services:
|
||||||
polygon-erigon3:
|
polygon-erigon3:
|
||||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-alpha7}
|
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-rc2}
|
||||||
user: root
|
user: root
|
||||||
expose:
|
expose:
|
||||||
- "9090"
|
- "9090"
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"default": [
|
"default": [
|
||||||
"base-fullnode", "base-reth-fullnode"
|
"base-fullnode", "base-reth-fullnode"
|
||||||
],
|
],
|
||||||
"archive": ["base-reth"]
|
"archive": ["base-reth", "base-mainnet-op-erigon-archive-trace"]
|
||||||
},
|
},
|
||||||
"snaxchain": {
|
"snaxchain": {
|
||||||
"id": 2192,
|
"id": 2192,
|
||||||
@@ -67,7 +67,9 @@
|
|||||||
],
|
],
|
||||||
"archive": [
|
"archive": [
|
||||||
"reth-mainnet",
|
"reth-mainnet",
|
||||||
"erigon-mainnet"
|
"erigon-mainnet",
|
||||||
|
"ethereum-mainnet-erigon3-archive-trace",
|
||||||
|
"ethereum-mainnet-erigon-archive-trace"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"playnance": {
|
"playnance": {
|
||||||
@@ -158,7 +160,8 @@
|
|||||||
"default": [
|
"default": [
|
||||||
"arbitrum-fullnode",
|
"arbitrum-fullnode",
|
||||||
"arbitrum-fullnode-pebble"
|
"arbitrum-fullnode-pebble"
|
||||||
]
|
],
|
||||||
|
"archive": ["arbitrum-one-nitro-archive"]
|
||||||
},
|
},
|
||||||
"arbitrum-nova": {
|
"arbitrum-nova": {
|
||||||
"id": 42170,
|
"id": 42170,
|
||||||
@@ -188,7 +191,8 @@
|
|||||||
],
|
],
|
||||||
"default": ["op-blast-mainnet-fullnode", "op-blast-mainnet-pbss"],
|
"default": ["op-blast-mainnet-fullnode", "op-blast-mainnet-pbss"],
|
||||||
"archive": [
|
"archive": [
|
||||||
"op-blast-mainnet"
|
"op-blast-mainnet",
|
||||||
|
"blast-mainnet-geth-archive"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"blast-sepolia": {
|
"blast-sepolia": {
|
||||||
@@ -231,7 +235,8 @@
|
|||||||
],
|
],
|
||||||
"default": [
|
"default": [
|
||||||
"avalanche-fullnode"
|
"avalanche-fullnode"
|
||||||
]
|
],
|
||||||
|
"archive": ["avalanche-mainnet-go-archive"]
|
||||||
},
|
},
|
||||||
"avalanche-fuji": {
|
"avalanche-fuji": {
|
||||||
"id": 43113,
|
"id": 43113,
|
||||||
@@ -250,7 +255,8 @@
|
|||||||
],
|
],
|
||||||
"default": [
|
"default": [
|
||||||
"celo-fullnode"
|
"celo-fullnode"
|
||||||
]
|
],
|
||||||
|
"archive": ["celo-mainnet-geth-archive"]
|
||||||
},
|
},
|
||||||
"celo-alfajores": {
|
"celo-alfajores": {
|
||||||
"id": 44787,
|
"id": 44787,
|
||||||
@@ -260,12 +266,12 @@
|
|||||||
"boba-eth": {
|
"boba-eth": {
|
||||||
"id": 288,
|
"id": 288,
|
||||||
"urls": ["https://mainnet.boba.network"],
|
"urls": ["https://mainnet.boba.network"],
|
||||||
"default": ["op-boba"]
|
"default": ["op-boba","boba-eth-mainnet-erigon-archive-trace"]
|
||||||
},
|
},
|
||||||
"boba-bnb": {
|
"boba-bnb": {
|
||||||
"id": 56288,
|
"id": 56288,
|
||||||
"urls": ["https://replica.bnb.boba.network"],
|
"urls": ["https://replica.bnb.boba.network"],
|
||||||
"default": ["op-bobabnb"]
|
"default": ["op-bobabnb","boba-bnb-mainnet-l2geth-archive"]
|
||||||
},
|
},
|
||||||
"fantom": {
|
"fantom": {
|
||||||
"id": 250,
|
"id": 250,
|
||||||
@@ -274,7 +280,8 @@
|
|||||||
],
|
],
|
||||||
"default": [
|
"default": [
|
||||||
"fantom"
|
"fantom"
|
||||||
]
|
],
|
||||||
|
"archive": ["fantom-mainnet-opera-archive-trace"]
|
||||||
},
|
},
|
||||||
"fantom-testnet": {
|
"fantom-testnet": {
|
||||||
"id": 4002,
|
"id": 4002,
|
||||||
@@ -297,7 +304,7 @@
|
|||||||
"optimism": {
|
"optimism": {
|
||||||
"id": 10,
|
"id": 10,
|
||||||
"urls": [
|
"urls": [
|
||||||
"https://1rpc.io/op"
|
"https://mainnet.optimism.io"
|
||||||
],
|
],
|
||||||
"default": [
|
"default": [
|
||||||
"optimism-fullnode", "optimism-reth-fullnode"
|
"optimism-fullnode", "optimism-reth-fullnode"
|
||||||
@@ -307,7 +314,7 @@
|
|||||||
"sepolia": {
|
"sepolia": {
|
||||||
"id": 11155111,
|
"id": 11155111,
|
||||||
"urls": [
|
"urls": [
|
||||||
"https://1rpc.io/sepolia"
|
"https://sepolia.drpc.org"
|
||||||
],
|
],
|
||||||
"default": [
|
"default": [
|
||||||
"geth-repolia",
|
"geth-repolia",
|
||||||
@@ -315,17 +322,19 @@
|
|||||||
],
|
],
|
||||||
"erchive": [
|
"erchive": [
|
||||||
"reth-sepolia",
|
"reth-sepolia",
|
||||||
"erigon-sepolia"
|
"erigon-sepolia",
|
||||||
|
"ethereum-sepolia-erigon3-archive-trace"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"holesky": {
|
"holesky": {
|
||||||
"id": 17000,
|
"id": 17000,
|
||||||
"urls": [
|
"urls": [
|
||||||
"https://rpc.holesky.ethpandaops.io"
|
"https://holesky.drpc.org"
|
||||||
],
|
],
|
||||||
"default": [
|
"default": [
|
||||||
"geth-holesky"
|
"geth-holesky"
|
||||||
]
|
],
|
||||||
|
"archive": ["ethereum-holesky-erigon3-archive-trace"]
|
||||||
},
|
},
|
||||||
"gnosis": {
|
"gnosis": {
|
||||||
"id": 100,
|
"id": 100,
|
||||||
@@ -336,7 +345,7 @@
|
|||||||
"erigon-gnosis-fullnode",
|
"erigon-gnosis-fullnode",
|
||||||
"nethermind-gnosis"
|
"nethermind-gnosis"
|
||||||
],
|
],
|
||||||
"archive": ["erigon-gnosis", "reth-gnosis"]
|
"archive": ["erigon-gnosis", "reth-gnosis", "gnosis-mainnet-erigon3-archive-trace"]
|
||||||
},
|
},
|
||||||
"gnosis-chiado": {
|
"gnosis-chiado": {
|
||||||
"id": 10200,
|
"id": 10200,
|
||||||
@@ -379,7 +388,7 @@
|
|||||||
"default": [
|
"default": [
|
||||||
"polygon-erigon-fullnode"
|
"polygon-erigon-fullnode"
|
||||||
],
|
],
|
||||||
"archive": ["polygon-erigon"]
|
"archive": ["polygon-erigon", "polygon-mainnet-erigon3-archive-trace"]
|
||||||
},
|
},
|
||||||
"linea": {
|
"linea": {
|
||||||
"id": 59144,
|
"id": 59144,
|
||||||
@@ -392,7 +401,8 @@
|
|||||||
"archive": [
|
"archive": [
|
||||||
"geth-linea",
|
"geth-linea",
|
||||||
"erigon-linea",
|
"erigon-linea",
|
||||||
"reth-linea"
|
"reth-linea",
|
||||||
|
"linea-mainnet-erigon-archive-trace"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"linea-sepolia": {
|
"linea-sepolia": {
|
||||||
@@ -426,13 +436,14 @@
|
|||||||
"bsc": {
|
"bsc": {
|
||||||
"id": 56,
|
"id": 56,
|
||||||
"urls": [
|
"urls": [
|
||||||
"https://bscrpc.com"
|
"https://bsc.drpc.org"
|
||||||
],
|
],
|
||||||
"default": [
|
"default": [
|
||||||
"bsc",
|
"bsc",
|
||||||
"bsc-erigon-fullnode",
|
"bsc-erigon-fullnode",
|
||||||
"reth-bsc-fullnode"
|
"reth-bsc-fullnode"
|
||||||
]
|
],
|
||||||
|
"archive": ["bsc-mainnet-erigon3-archive-trace"]
|
||||||
},
|
},
|
||||||
"bsc-testnet": {
|
"bsc-testnet": {
|
||||||
"id": 97,
|
"id": 97,
|
||||||
@@ -477,7 +488,8 @@
|
|||||||
"zksync": {
|
"zksync": {
|
||||||
"id": 324,
|
"id": 324,
|
||||||
"urls": ["https://1rpc.io/zksync2-era"],
|
"urls": ["https://1rpc.io/zksync2-era"],
|
||||||
"default": ["zksync-mainnet-fullnode"]
|
"default": ["zksync-mainnet-fullnode"],
|
||||||
|
"archive": ["zksync-era-mainnet-external-node-archive"]
|
||||||
},
|
},
|
||||||
"rootstock": {
|
"rootstock": {
|
||||||
"id": 30,
|
"id": 30,
|
||||||
@@ -488,7 +500,12 @@
|
|||||||
"id": 31,
|
"id": 31,
|
||||||
"urls": ["https://public-node.testnet.rsk.co"],
|
"urls": ["https://public-node.testnet.rsk.co"],
|
||||||
"default": ["rsk-testnet"]
|
"default": ["rsk-testnet"]
|
||||||
},
|
},
|
||||||
|
"moonbeam": {
|
||||||
|
"id": 1284,
|
||||||
|
"urls": ["https://rpc.api.moonbeam.network"],
|
||||||
|
"archive": ["moonbeam-archive-trace"]
|
||||||
|
},
|
||||||
"polygon-amoy": {
|
"polygon-amoy": {
|
||||||
"id": 80002,
|
"id": 80002,
|
||||||
"urls": [
|
"urls": [
|
||||||
@@ -502,7 +519,7 @@
|
|||||||
"id": 534352,
|
"id": 534352,
|
||||||
"urls": ["https://rpc.scroll.io"],
|
"urls": ["https://rpc.scroll.io"],
|
||||||
"default": ["scroll-mainnet"],
|
"default": ["scroll-mainnet"],
|
||||||
"archive": ["scroll-mainnet"]
|
"archive": ["scroll-mainnet", "scroll-mainnet-l2geth-archive"]
|
||||||
},
|
},
|
||||||
"scroll-sepolia": {
|
"scroll-sepolia": {
|
||||||
"id": 534351,
|
"id": 534351,
|
||||||
|
|||||||
6
rpc.yml
6
rpc.yml
@@ -1,5 +1,3 @@
|
|||||||
version: '3.1'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
image: traefik:v2.11.0
|
image: traefik:v2.11.0
|
||||||
@@ -15,14 +13,14 @@ services:
|
|||||||
- "--api=true"
|
- "--api=true"
|
||||||
- "--api.insecure=true"
|
- "--api.insecure=true"
|
||||||
- "--api.dashboard=true"
|
- "--api.dashboard=true"
|
||||||
- "--log.level=DEBUG"
|
- "--log.level=info"
|
||||||
- "--providers.docker=true"
|
- "--providers.docker=true"
|
||||||
- "--providers.docker.exposedbydefault=false"
|
- "--providers.docker.exposedbydefault=false"
|
||||||
- "--providers.file.filename=/dynamic_config.yml"
|
- "--providers.file.filename=/dynamic_config.yml"
|
||||||
- "--entrypoints.web.address=:80"
|
|
||||||
- "--entrypoints.websecure.address=:443"
|
- "--entrypoints.websecure.address=:443"
|
||||||
- "--entryPoints.metrics.address=:8082"
|
- "--entryPoints.metrics.address=:8082"
|
||||||
- "--entryPoints.grpc.address=:3042"
|
- "--entryPoints.grpc.address=:3042"
|
||||||
|
- "--entrypoints.web.address=:80"
|
||||||
- "--metrics.prometheus.entryPoint=metrics"
|
- "--metrics.prometheus.entryPoint=metrics"
|
||||||
- "${NO_SSL:---entrypoints.web.http.redirections.entryPoint.to=websecure}"
|
- "${NO_SSL:---entrypoints.web.http.redirections.entryPoint.to=websecure}"
|
||||||
- "${NO_SSL:---entrypoints.web.http.redirections.entryPoint.scheme=https}"
|
- "${NO_SSL:---entrypoints.web.http.redirections.entryPoint.scheme=https}"
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
version: '3.1'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
scroll:
|
scroll:
|
||||||
image: scrolltech/l2geth:${SCROLL_GETH_VERSION:-scroll-v5.8.15}
|
image: scrolltech/l2geth:${SCROLL_GETH_VERSION:-scroll-v5.7.25}
|
||||||
expose:
|
expose:
|
||||||
- 8545
|
- 8545
|
||||||
ports:
|
ports:
|
||||||
@@ -23,7 +21,7 @@ services:
|
|||||||
--http.port=8545
|
--http.port=8545
|
||||||
--http.addr=0.0.0.0
|
--http.addr=0.0.0.0
|
||||||
--http.vhosts=*
|
--http.vhosts=*
|
||||||
--l1.endpoint=${SCROLL_L1_ETHEREUM_MAINNET_EXECUTION_RPC}
|
--l1.endpoint="${SCROLL_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||||
--rollup.verify
|
--rollup.verify
|
||||||
--graphql
|
--graphql
|
||||||
--graphql.vhosts=*
|
--graphql.vhosts=*
|
||||||
@@ -31,24 +29,23 @@ services:
|
|||||||
--metrics.addr=0.0.0.0
|
--metrics.addr=0.0.0.0
|
||||||
--maxpeers=100
|
--maxpeers=100
|
||||||
--gpo.ignoreprice=1
|
--gpo.ignoreprice=1
|
||||||
#--cache.noprefetch
|
--cache.noprefetch
|
||||||
#--l1.confirmations finalized
|
|
||||||
networks:
|
networks:
|
||||||
- chains
|
- chains
|
||||||
volumes:
|
volumes:
|
||||||
- "${SCROLL_MAINNET_ARCHIVE_DATA:-scroll-mainnet-archive}:/root/.ethereum"
|
- "${SCROLL_MAINNET_L2GETH_ARCHIVE_DATA:-scroll-mainnet-l2geth-archive}:/root/.ethereum"
|
||||||
- ".jwtsecret:/jwtsecret"
|
- ".jwtsecret:/jwtsecret"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
stop_grace_period: 5m
|
stop_grace_period: 5m
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.middlewares.scroll-mainnet-archive-stripprefix.stripprefix.prefixes=/scroll"
|
- "traefik.http.middlewares.scroll-mainnet-l2geth-archive-stripprefix.stripprefix.prefixes=/scroll"
|
||||||
- "traefik.http.services.scroll-mainnet-archive.loadbalancer.server.port=8545"
|
- "traefik.http.services.scroll-mainnet-l2geth-archive.loadbalancer.server.port=8545"
|
||||||
- "${NO_SSL:-traefik.http.routers.scroll-mainnet-archive.entrypoints=websecure}"
|
- "${NO_SSL:-traefik.http.routers.scroll-mainnet-l2geth-archive.entrypoints=websecure}"
|
||||||
- "${NO_SSL:-traefik.http.routers.scroll-mainnet-archive.tls.certresolver=myresolver}"
|
- "${NO_SSL:-traefik.http.routers.scroll-mainnet-l2geth-archive.tls.certresolver=myresolver}"
|
||||||
- "${NO_SSL:-traefik.http.routers.scroll-mainnet-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/scroll`)}"
|
- "${NO_SSL:-traefik.http.routers.scroll-mainnet-l2geth-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/scroll`)}"
|
||||||
- "${NO_SSL:+traefik.http.routers.scroll-mainnet-archive.rule=PathPrefix(`/scroll`)}"
|
- "${NO_SSL:+traefik.http.routers.scroll-mainnet-l2geth-archive.rule=PathPrefix(`/scroll`)}"
|
||||||
- "traefik.http.routers.scroll-mainnet-archive.middlewares=scroll-mainnet-archive-stripprefix, ipwhitelist"
|
- "traefik.http.routers.scroll-mainnet-l2geth-archive.middlewares=scroll-mainnet-l2geth-archive-stripprefix, ipwhitelist"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
scroll-mainnet-archive:
|
scroll-mainnet-l2geth-archive:
|
||||||
@@ -9,6 +9,13 @@ while IFS= read -r line; do
|
|||||||
blacklist+=("$line")
|
blacklist+=("$line")
|
||||||
done < "$BASEPATH/path-blacklist.txt"
|
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)
|
pathlist=$(cat $BASEPATH/$1.yml | grep -oP "(?<=PathPrefix).*\"" | cut -d'`' -f2-2)
|
||||||
|
|
||||||
for path in $pathlist; do
|
for path in $pathlist; do
|
||||||
@@ -20,8 +27,8 @@ for path in $pathlist; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
if $include; then
|
if $include; then
|
||||||
RPC_URL="https://$DOMAIN$path"
|
RPC_URL="$PROTO://$DOMAIN$path"
|
||||||
|
|
||||||
ref=''
|
ref=''
|
||||||
if [ -n "$2" ]; then
|
if [ -n "$2" ]; then
|
||||||
ref="$2"
|
ref="$2"
|
||||||
|
|||||||
@@ -9,6 +9,13 @@ while IFS= read -r line; do
|
|||||||
blacklist+=("$line")
|
blacklist+=("$line")
|
||||||
done < "$BASEPATH/path-blacklist.txt"
|
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/.$//')
|
pathlist=$(cat $BASEPATH/$1.yml | grep -oP "(?<=stripprefix\.prefixes).*\"" | cut -d'=' -f2- | sed 's/.$//')
|
||||||
|
|
||||||
for path in $pathlist; do
|
for path in $pathlist; do
|
||||||
@@ -20,7 +27,7 @@ for path in $pathlist; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
if $include; then
|
if $include; then
|
||||||
RPC_URL="https://$DOMAIN$path"
|
RPC_URL="$PROTO://$DOMAIN$path"
|
||||||
response_file=$(mktemp)
|
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)
|
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
|
- chains
|
||||||
|
|
||||||
zksync-era-external-node-archive-client:
|
zksync-era-external-node-archive-client:
|
||||||
image: "matterlabs/external-node:v24.23.0"
|
image: "matterlabs/external-node:v26.2.1"
|
||||||
depends_on:
|
depends_on:
|
||||||
zksync-era-archive-db:
|
- zksync-era-external-node-archive-db
|
||||||
condition: service_healthy
|
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:3060:3060"
|
- "127.0.0.1:3060:3060"
|
||||||
- "127.0.0.1:3061:3061"
|
- "127.0.0.1:3061:3061"
|
||||||
@@ -47,7 +46,7 @@ services:
|
|||||||
expose:
|
expose:
|
||||||
- 3322
|
- 3322
|
||||||
environment:
|
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
|
DATABASE_POOL_SIZE: 10
|
||||||
|
|
||||||
EN_HTTP_PORT: 3060
|
EN_HTTP_PORT: 3060
|
||||||
@@ -73,7 +72,7 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: nginx
|
image: nginx
|
||||||
depends_on:
|
depends_on:
|
||||||
- zksync-eraexternal-node-archive-client
|
- zksync-era-external-node-archive-client
|
||||||
expose:
|
expose:
|
||||||
- 80
|
- 80
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
Reference in New Issue
Block a user