merged
This commit is contained in:
1
base-mainnet.yml
Symbolic link
1
base-mainnet.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/base-mainnet-op-geth-pruned-pebble-path.yml
|
||||
@@ -2,7 +2,7 @@ version: '3.1'
|
||||
|
||||
services:
|
||||
base-fullnode: # this is Optimism's geth client
|
||||
image: ghcr.io/paradigmxyz/op-reth:${RETH_VERSION:-v1.1.5}
|
||||
image: ghcr.io/paradigmxyz/op-reth:${RETH_VERSION:-v1.3.2}
|
||||
expose:
|
||||
- 9551
|
||||
- 8545 # RPC / Websocket
|
||||
|
||||
102
base-sepolia.yml
102
base-sepolia.yml
@@ -1,102 +0,0 @@
|
||||
version: '3.1'
|
||||
|
||||
services:
|
||||
base-sepolia: # this is Optimism's geth client
|
||||
build: ./base
|
||||
expose:
|
||||
- 8545 # RPC / Websocket
|
||||
- 30765 # P2P TCP (currently unused)
|
||||
- 30765/udp # P2P UDP (currently unused)
|
||||
- 6060 # metrics
|
||||
- 855
|
||||
ports:
|
||||
- "30765:30765"
|
||||
- "30765:30765/udp"
|
||||
#command: [ "sh", "./geth-entrypoint" ]
|
||||
restart: always
|
||||
stop_grace_period: 3m
|
||||
entrypoint: ./geth
|
||||
command: --datadir=/data --verbosity=3 --http --http.corsdomain=* --http.vhosts=* --http.addr=0.0.0.0 --http.port=8545 --http.api=web3,debug,eth,net,engine --authrpc.addr=0.0.0.0 --authrpc.port=8551 --authrpc.vhosts=* --authrpc.jwtsecret=/jwtsecret --ws --ws.addr=0.0.0.0 --ws.port=8545 --ws.origins=* --ws.api=debug,eth,net,engine --metrics --metrics.addr=0.0.0.0 --metrics.port=6060 --syncmode=snap --gcmode=full --state.scheme=path --db.engine=pebble --discovery.port=30765 --maxpeers=100 --op-network=base-sepolia --rollup.halt=major --rollup.sequencerhttp=https://sepolia-sequencer.base.org --port=30765 --nat=extip:${IP} --bootnodes="enode://548f715f3fc388a7c917ba644a2f16270f1ede48a5d88a4d14ea287cc916068363f3092e39936f1a3e7885198bef0e5af951f1d7b1041ce8ba4010917777e71f@18.210.176.114:30301,enode://6f10052847a966a725c9f4adf6716f9141155b99a0fb487fea3f51498f4c2a2cb8d534e680ee678f9447db85b93ff7c74562762c3714783a7233ac448603b25f@107.21.251.55:30301"
|
||||
volumes:
|
||||
- base-sepolia:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "OP_GETH_GENESIS_FILE_PATH=sepolia/genesis-l2.json"
|
||||
- "OP_GETH_SEQUENCER_HTTP=https://sepolia-sequencer.base.org"
|
||||
- "OP_GETH_GCMODE=full"
|
||||
- "OP_GETH_SYNCMODE=snap"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_BOOTNODES=enode://548f715f3fc388a7c917ba644a2f16270f1ede48a5d88a4d14ea287cc916068363f3092e39936f1a3e7885198bef0e5af951f1d7b1041ce8ba4010917777e71f@18.210.176.114:30301,enode://6f10052847a966a725c9f4adf6716f9141155b99a0fb487fea3f51498f4c2a2cb8d534e680ee678f9447db85b93ff7c74562762c3714783a7233ac448603b25f@107.21.251.55:30301"
|
||||
- "OP_GETH_STATE_SCHEME=path"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "OP_GETH_DB_ENGINE=pebble"
|
||||
- "OP_GETH_P2P_PORT=30765"
|
||||
- "GETH_DISCOVERY_PORT=30765"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "P2P_PORT=30765"
|
||||
- "WS_PORT=8545"
|
||||
- "IP=${IP}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/tmp/engine-auth-jwt"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.base-sepolia-stripprefix.stripprefix.prefixes=/base-sepolia"
|
||||
- "traefik.http.services.base-sepolia.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.base-sepolia.entrypoints=websecure"
|
||||
- "traefik.http.routers.base-sepolia.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.base-sepolia.rule=Host(`$DOMAIN`) && PathPrefix(`/base-sepolia`)"
|
||||
- "traefik.http.routers.base-sepolia.middlewares=base-sepolia-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
base-sepolia-node:
|
||||
build: ./base
|
||||
depends_on:
|
||||
- base-sepolia
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
expose:
|
||||
- 8545 # RPC
|
||||
- 54844 # P2P TCP
|
||||
- 54844/udp # P2P UDP
|
||||
- 7300 # metrics
|
||||
- 6060 # pprof
|
||||
ports:
|
||||
- "54844:54844"
|
||||
- "54844:54844/udp"
|
||||
#command: [ "sh", "./op-node-entrypoint" ]
|
||||
entrypoint: ./op-node
|
||||
restart: always
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=base-sepolia"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${BASE_SEPOLIA_ENDPOINT}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://base-sepolia:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_AGENT=base"
|
||||
- "OP_NODE_P2P_BOOTNODES=enr:-J64QBwRIWAco7lv6jImSOjPU_W266lHXzpAS5YOh7WmgTyBZkgLgOwo_mxKJq3wz2XRbsoBItbv1dCyjIoNq67mFguGAYrTxM42gmlkgnY0gmlwhBLSsHKHb3BzdGFja4S0lAUAiXNlY3AyNTZrMaEDmoWSi8hcsRpQf2eJsNUx-sqv6fH4btmo2HsAzZFAKnKDdGNwgiQGg3VkcIIkBg,enr:-J64QFa3qMsONLGphfjEkeYyF6Jkil_jCuJmm7_a42ckZeUQGLVzrzstZNb1dgBp1GGx9bzImq5VxJLP-BaptZThGiWGAYrTytOvgmlkgnY0gmlwhGsV-zeHb3BzdGFja4S0lAUAiXNlY3AyNTZrMaEDahfSECTIS_cXyZ8IyNf4leANlZnrsMEWTkEYxf4GMCmDdGNwgiQGg3VkcIIkBg"
|
||||
- "OP_NODE_BETA_EXTRA_NETWORKS=true"
|
||||
- "OP_NODE_ROLLUP_LOAD_PROTOCOL_VERSIONS=true"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=54844"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=54844"
|
||||
- "OP_NODE_ROLLUP_CONFIG=sepolia/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_SEPOLIA_ENDPOINT_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${BASE_SEPOLIA_ENDPOINT_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${BASE_SEPOLIA_ENDPOINT_BEACON}"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
base-sepolia:
|
||||
1
base-sepolia.yml
Symbolic link
1
base-sepolia.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/base-sepolia-op-geth-pruned-pebble-path.yml
|
||||
21
berachain-bepolia.cfg
Normal file
21
berachain-bepolia.cfg
Normal file
@@ -0,0 +1,21 @@
|
||||
- id: ${ID}
|
||||
chain: ${CHAIN}
|
||||
labels:
|
||||
provider: ${PROVIDER}
|
||||
method-groups:
|
||||
enabled:
|
||||
- debug
|
||||
- filter
|
||||
methods:
|
||||
enabled:
|
||||
- name: txpool_content
|
||||
options:
|
||||
validate-peers: false
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
url: "${RPC_URL}"
|
||||
ws:
|
||||
frameSize: 20Mb
|
||||
msgSize: 50Mb
|
||||
url: "${WS_URL}"
|
||||
@@ -5,7 +5,7 @@ services:
|
||||
build:
|
||||
context: besu
|
||||
args:
|
||||
UPSTREAM_VERSION: 24.10.0
|
||||
UPSTREAM_VERSION: ${BESU_VERSION:-24.10.0}
|
||||
expose:
|
||||
- 8545
|
||||
- 8551
|
||||
@@ -51,7 +51,7 @@ services:
|
||||
|
||||
|
||||
lighthouse-mainnet:
|
||||
image: sigp/lighthouse:v5.1.3-modern
|
||||
image: sigp/lighthouse:${LIGHTHOUSE_VERSION:-v5.1.3}-modern
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- chains
|
||||
|
||||
2
blast-io/mainnet/genesis.json
Executable file → Normal file
2
blast-io/mainnet/genesis.json
Executable file → Normal file
@@ -19,6 +19,8 @@
|
||||
"bedrockBlock": 0,
|
||||
"regolithTime": 0,
|
||||
"canyonTime": 0,
|
||||
"cancunTime": 1716843599,
|
||||
"ecotoneTime": 1716843599,
|
||||
"terminalTotalDifficulty": 0,
|
||||
"terminalTotalDifficultyPassed": true,
|
||||
"optimism": {
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
{
|
||||
"genesis": {
|
||||
"l1": {
|
||||
"hash": "0x17728cf4d8e0b4f292d2390a869fd7c632d39e72efb00ca3462b4387c6aa2437",
|
||||
"number": 5044255
|
||||
"hash": "0xfcfb8d586bdae763f1189988789211c69eb893a895e7ba48be3ca6289f0941b7",
|
||||
"number": 19300102
|
||||
},
|
||||
"l2": {
|
||||
"hash": "0x26a1c0faad7b041f34569a1bb383f00ab74b335883a44bed53e9f41ced5fd906",
|
||||
"hash": "0xb689b35ef29d0bec5816938e0e52683c7257d2e325420ea69b739a2be4754b89",
|
||||
"number": 0
|
||||
},
|
||||
"l2_time": 1704686688,
|
||||
"l2_time": 1708809815,
|
||||
"system_config": {
|
||||
"batcherAddr": "0xba26fee2fa917443e05e65de8d4350bcd2f59222",
|
||||
"batcherAddr": "0x415c8893d514f9bc5211d36eeda4183226b84aa7",
|
||||
"overhead": "0x00000000000000000000000000000000000000000000000000000000000000bc",
|
||||
"scalar": "0x00000000000000000000000000000000000000000000000000000000000a6fe0",
|
||||
"gasLimit": 30000000
|
||||
@@ -20,14 +20,14 @@
|
||||
"max_sequencer_drift": 600,
|
||||
"seq_window_size": 3600,
|
||||
"channel_timeout": 300,
|
||||
"l1_chain_id": 11155111,
|
||||
"l2_chain_id": 168587773,
|
||||
"l1_chain_id": 1,
|
||||
"l2_chain_id": 81457,
|
||||
"regolith_time": 0,
|
||||
"canyon_time": 0,
|
||||
"delta_time": 1713999600,
|
||||
"ecotone_time": 1713999600,
|
||||
"batch_inbox_address": "0x1c3b85a2108784eab6a4bf56cdd6f722e415b331",
|
||||
"deposit_contract_address": "0x2757e4430e694f27b73ec9c02257cab3a498c8c5",
|
||||
"l1_system_config_address": "0x329faf078c364a316e08bf6a17b7eee6ae75a613",
|
||||
"delta_time": 1716843599,
|
||||
"ecotone_time": 1716843599,
|
||||
"batch_inbox_address": "0xff00000000000000000000000000000000081457",
|
||||
"deposit_contract_address": "0x0ec68c5b10f21effb74f2a5c61dfe6b08c0db6cb",
|
||||
"l1_system_config_address": "0x5531dcff39ec1ec727c4c5d2fc49835368f805a9",
|
||||
"protocol_versions_address": "0x0000000000000000000000000000000000000000"
|
||||
}
|
||||
|
||||
1
bob-mainnet.yml
Symbolic link
1
bob-mainnet.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/bob-mainnet-op-geth-pruned-pebble-path.yml
|
||||
@@ -3,7 +3,7 @@ version: '3.1'
|
||||
services:
|
||||
|
||||
bsc-testnet:
|
||||
image: ghcr.io/bnb-chain/bsc:${BSC_VERSION:-1.5.5}
|
||||
image: ghcr.io/bnb-chain/bsc:${BSC_VERSION:-1.5.7}
|
||||
user: root
|
||||
ports:
|
||||
- "17474:17474"
|
||||
|
||||
3
bsc.yml
3
bsc.yml
@@ -3,14 +3,13 @@ version: '3.1'
|
||||
services:
|
||||
|
||||
bsc:
|
||||
image: ghcr.io/bnb-chain/bsc:${BSC_VERSION:-1.5.5}
|
||||
image: ghcr.io/bnb-chain/bsc:${BSC_VERSION:-1.5.7}
|
||||
user: root
|
||||
ports:
|
||||
- "29061:29061"
|
||||
- "29061:29061/udp"
|
||||
expose:
|
||||
- "8545"
|
||||
- "8546"
|
||||
- "29061"
|
||||
volumes:
|
||||
- bsc:/bsc/.ethereum
|
||||
|
||||
115
celo-alfajores-op-geth-pruned-leveldb-hash.yml
Normal file
115
celo-alfajores-op-geth-pruned-leveldb-hash.yml
Normal file
@@ -0,0 +1,115 @@
|
||||
services:
|
||||
celo-mainnet:
|
||||
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth:celo-v2.0.0
|
||||
volumes:
|
||||
- "celo-mainnet-op-geth-pruned-leveldb-hash:/datadir"
|
||||
- ".jwtsecret:/jwtsecret"
|
||||
- "./celo/mainnet/:/chainconfig"
|
||||
ports:
|
||||
- "10955:10955"
|
||||
- "10955:10955/udp"
|
||||
expose:
|
||||
- 8545
|
||||
- 8546
|
||||
- 8551
|
||||
networks:
|
||||
- chains
|
||||
restart: always
|
||||
stop_grace_period: 5m
|
||||
environment:
|
||||
- NETWORK_NAME=mainnet
|
||||
#- GETH_BOOTNODES=enode://ac0f42fa46f8cc10bd02a103894d71d495537465133e7c442bc02dc76721a5f41761cc2d8c69e7ba1b33e14e28f516436864d3e0836e2dcdaf032387f72447dd@34.83.164.192:30303,enode://596002969b8b269a4fa34b4709b9600b64201e7d02e2f5f1350affd021b0cbda6ce2b913ebe24f0fb1edcf66b6c730a8a3b02cd940f4de995f73d3b290a0fc92@34.82.177.77:30303,enode://3619455064ef1ce667171bba1df80cfd4c097f018cf0205aaad496f0d509611b7c40396893d9e490ee390cd098888279e177a4d9bb09c58387bb0a6031d237f1@34.19.90.27:30303,enode://e3c54db6004a92d4ee87504f073f3234a25759b485274cc224037e3e5ee792f3b482c3f4fffcb764af6e1859a1aea9710b71e1991e32c1dee7f40352124bb182@35.233.249.87:30303,enode://674410b34fd54c8406a4f945292b96111688d4bab49aecdc34b4f1b346891f4673dcb03ed44c38ab467ef7bec0b20f6031ad88aa1d35ce1333b343d00fa19fb1@34.168.43.76:30303
|
||||
command: >
|
||||
--datadir=/datadir
|
||||
--http
|
||||
--http.corsdomain="*"
|
||||
--http.vhosts="*"
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.api=web3,debug,eth,txpool,net,engine
|
||||
--ws
|
||||
--ws.addr=0.0.0.0
|
||||
--ws.port=8545
|
||||
--ws.origins="*"
|
||||
--ws.api=debug,eth,txpool,net,engine,web3
|
||||
--syncmode="full"
|
||||
--gcmode="full"
|
||||
--authrpc.vhosts="*"
|
||||
--authrpc.addr=0.0.0.0
|
||||
--authrpc.port=8551
|
||||
--authrpc.jwtsecret=/jwtsecret
|
||||
--rollup.sequencerhttp=https://sequencer.forno.celo.org
|
||||
--rollup.disabletxpoolgossip=true
|
||||
--port="10955"
|
||||
--discovery.port="10955"
|
||||
--snapshot=true
|
||||
--verbosity=3
|
||||
--history.transactions=0
|
||||
--rollup.historicalrpc=${OP_GETH_HISTORICAL_RPC:-https://sequencer.alfajores.celo-testnet.org}
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.op-celo-alfajores-stripprefix.stripprefix.prefixes=/op-celo-alfajores"
|
||||
- "traefik.http.services.op-celo-alfajores.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.op-celo-alfajores.entrypoints=websecure"
|
||||
- "traefik.http.routers.op-celo-alfajores.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.op-celo-alfajores.rule=Host(`$DOMAIN`) && PathPrefix(`/op-celo-alfajores`)"
|
||||
- "traefik.http.routers.op-celo-alfajores.middlewares=op-celo-alfajores-stripprefix, ipwhitelist"
|
||||
|
||||
|
||||
celo-mainnet-node:
|
||||
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-node:celo-v2.0.0
|
||||
depends_on:
|
||||
- celo-mainnet
|
||||
expose:
|
||||
- 8545 # RPC
|
||||
- 63509 # P2P TCP
|
||||
- 63509/udp # P2P UDP
|
||||
- 7300 # metrics
|
||||
- 6060 # pprof
|
||||
networks:
|
||||
- chains
|
||||
ports:
|
||||
- "63509:63509"
|
||||
- "63509:63509/udp"
|
||||
environment:
|
||||
- HEALTHCHECK__REFERENCE_RPC_PROVIDER=https://forno.celo.org
|
||||
- OP_NODE_P2P_LISTEN_TCP_PORT=63509
|
||||
- OP_NODE_P2P_LISTEN_UDP_PORT=63509
|
||||
#- OP_NODE_P2P_STATIC=/ip4/35.197.25.52/tcp/9222/p2p/16Uiu2HAmQEdyLRSAVZDr5SqbJ1RnKmNDhtQJcEKmemrVxe4FxKwR,/ip4/34.105.22.4/tcp/9222/p2p/16Uiu2HAm1SZBDSugT5MMu7vBY8auDgfZFNhoDeXPLc9Me5FsAxwT,/ip4/34.83.209.168/tcp/9222/p2p/16Uiu2HAmGJAiUX6HLSo4nLh8T984qxzokwL23cVsYuNZy2SrK7C6,/ip4/34.83.214.149/tcp/9222/p2p/16Uiu2HAmAko2Kr3eAjM7tnshtEhYrxQYfKUvN2kwiygeFoBAoi8S,/ip4/34.169.5.52/tcp/9222/p2p/16Uiu2HAmKc6YKHzYgsjBDaj36uAufxpgZFgrzDqVBt6zTPwdhhJD
|
||||
- OP_NODE_ALTDA_ENABLED=true
|
||||
- OP_NODE_ALTDA_DA_SERVICE=true
|
||||
- OP_NODE_ALTDA_VERIFY_ON_READ=false
|
||||
- OP_NODE_ALTDA_DA_SERVER=https://eigenda-proxy.forno.celo.org
|
||||
- OP_NODE_L2_ENGINE_AUTH=/jwtsecret
|
||||
command: >
|
||||
op-node
|
||||
--l1="${OP_CELO_ETHEREUM_MAINNET_RPC:-https://eth.llamarpc.com}"
|
||||
--l2=http://celo-mainnet:8551
|
||||
--rpc.addr=0.0.0.0
|
||||
--rpc.port=9545
|
||||
--l1.trustrpc
|
||||
--l1.rpckind=basic
|
||||
--l1.beacon="${OP_CELO_ALFAJORES_HOLESKY_BEACON_REST:-https://ethereum-mainnet-beacon-api.publicnode.com}"
|
||||
--syncmode=execution-layer
|
||||
--p2p.priv.path=/chainconfigs/p2p_node_key_txt
|
||||
--rollup.config=/chainconfigs/rollup.json
|
||||
--rollup.load-protocol-versions=true
|
||||
--rollup.halt=major
|
||||
restart: always
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
- ./celo/alfajores/:/chainconfigs/
|
||||
stop_grace_period: 30s
|
||||
|
||||
op-celo-alfajores-key-generator:
|
||||
image: ghcr.io/foundry-rs/foundry
|
||||
volumes:
|
||||
- "./celo/mainnet:/config"
|
||||
entrypoint: sh
|
||||
command: "[ -f /config/p2p_node_key_txt ] && exit 0 || cast w n | grep -i 'Private Key' | awk -F ': ' '{print $2}' | sed 's/0x//' > /config/p2p_node_key_txt"
|
||||
|
||||
|
||||
volumes:
|
||||
celo-mainnet-op-geth-pruned-leveldb-hash::
|
||||
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
version: '3.1'
|
||||
|
||||
services:
|
||||
celo:
|
||||
image: us.gcr.io/celo-org/geth:1.8
|
||||
celo-mainnet-geth:
|
||||
image: us.gcr.io/celo-org/geth:1.8.9
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
command: |
|
||||
@@ -22,21 +20,17 @@ services:
|
||||
--datadir /root/.celo
|
||||
expose:
|
||||
- 8545
|
||||
- 8546
|
||||
ports:
|
||||
- '20748:20748/tcp' # p2p
|
||||
- '20748:20748/udp' # p2p
|
||||
volumes:
|
||||
- celo:/root/.celo
|
||||
networks:
|
||||
- chains
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.celo-stripprefix.stripprefix.prefixes=/celo"
|
||||
- "traefik.http.middlewares.celo-stripprefix.stripprefix.prefixes=/celo-mainnet-geth"
|
||||
- "traefik.http.services.celo.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.celo.entrypoints=websecure"
|
||||
- "traefik.http.routers.celo.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.celo.rule=Host(`$DOMAIN`) && PathPrefix(`/celo`)"
|
||||
- "traefik.http.routers.celo.rule=Host(`$DOMAIN`) && PathPrefix(`/celo-mainnet-geth`)"
|
||||
- "traefik.http.routers.celo.middlewares=celo-stripprefix, ipwhitelist"
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ services:
|
||||
- '58395:58395/tcp' # p2p
|
||||
- '58395:58395/udp' # p2p
|
||||
volumes:
|
||||
- ${CELO_MAINNET_GETH_ARCHIVE_DATA:-celo-archive}:/root/.celo
|
||||
- ${CELO_MAINNET_GETH_ARCHIVE_DATA:-celo-mainnet-geth-archive}:/root/.celo
|
||||
networks:
|
||||
- chains
|
||||
labels:
|
||||
|
||||
1
celo-mainnet-op-geth-archive.yml
Symbolic link
1
celo-mainnet-op-geth-archive.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
celo/op-geth/celo-mainnet-op-geth-archive-leveldb-hash.yml
|
||||
140
celo-mainnet-op-geth-pruned-leveldb-hash.yml
Normal file
140
celo-mainnet-op-geth-pruned-leveldb-hash.yml
Normal file
@@ -0,0 +1,140 @@
|
||||
services:
|
||||
celo-mainnet:
|
||||
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth:celo-v2.0.0
|
||||
volumes:
|
||||
- "celo-mainnet-op-geth-pruned-leveldb-hash:/datadir"
|
||||
- ".jwtsecret:/shared/jwt.txt"
|
||||
- "./celo/mainnet/:/chainconfig"
|
||||
- "./celo/scripts/:/scripts"
|
||||
ports:
|
||||
- "10955:10955"
|
||||
- "10955:10955/udp"
|
||||
expose:
|
||||
- 8545
|
||||
- 8546
|
||||
- 8551
|
||||
networks:
|
||||
- chains
|
||||
restart: always
|
||||
stop_grace_period: 5m
|
||||
entrypoint: /scripts/start-op-geth.sh
|
||||
environment:
|
||||
- NETWORK_NAME=mainnet
|
||||
- GETH_BOOTNODES=enode://28f4fcb7f38c1b012087f7aef25dcb0a1257ccf1cdc4caa88584dc25416129069b514908c8cead5d0105cb0041dd65cd4ee185ae0d379a586fb07b1447e9de38@34.169.39.223:30303,enode://a9077c3e030206954c5c7f22cc16a32cb5013112aa8985e3575fadda7884a508384e1e63c077b7d9fcb4a15c716465d8585567f047c564ada2e823145591e444@34.169.212.31:30303,enode://029b007a7a56acbaa8ea50ec62cda279484bf3843fae1646f690566f784aca50e7d732a9a0530f0541e5ed82ba9bf2a4e21b9021559c5b8b527b91c9c7a38579@34.82.139.199:30303,enode://f3c96b73a5772c5efb48d5a33bf193e58080d826ba7f03e9d5bdef20c0634a4f83475add92ab6313b7a24aa4f729689efb36f5093e5d527bb25e823f8a377224@34.82.84.247:30303,enode://daa5ad65d16bcb0967cf478d9f20544bf1b6de617634e452dff7b947279f41f408b548261d62483f2034d237f61cbcf92a83fc992dbae884156f28ce68533205@34.168.45.168:30303,enode://c79d596d77268387e599695d23e941c14c220745052ea6642a71ef7df31a13874cb7f2ce2ecf5a8a458cfc9b5d9219ce3e8bc6e5c279656177579605a5533c4f@35.247.32.229:30303,enode://4151336075dd08eb6c75bfd63855e8a4bd6fd0f91ae4a81b14930f2671e16aee55495c139380c16e1094a49691875e69e40a3a5e2b4960c7859e7eb5745f9387@35.205.149.224:30303,enode://ab999db751265c714b171344de1972ed74348162de465a0444f56e50b8cfd048725b213ba1fe48c15e3dfb0638e685ea9a21b8447a54eb2962c6768f43018e5c@34.79.3.199:30303,enode://9d86d92fb38a429330546fe1aefce264e1f55c5d40249b63153e7df744005fa3c1e2da295e307041fd30ab1c618715f362c932c28715bc20bed7ae4fc76dea81@34.77.144.164:30303,enode://c82c31f21dd5bbb8dc35686ff67a4353382b4017c9ec7660a383ccb5b8e3b04c6d7aefe71203e550382f6f892795728570f8190afd885efcb7b78fa398608699@34.76.202.74:30303,enode://3bad5f57ad8de6541f02e36d806b87e7e9ca6d533c956e89a56b3054ae85d608784f2cd948dc685f7d6bbd5a2f6dd1a23cc03e529ea370dd72d880864a2af6a3@104.199.93.87:30303,enode://1decf3b8b9a0d0b8332d15218f3bf0ceb9606b0efe18f352c51effc14bbf1f4f3f46711e1d460230cb361302ceaad2be48b5b187ad946e50d729b34e463268d2@35.240.26.148:30303
|
||||
- BEDROCK_DATADIR=/datadir
|
||||
- OP_GETH__SYNCMODE=full
|
||||
- NODE_TYPE=full
|
||||
- BEDROCK_SEQUENCER_HTTP=https://sequencer.forno.celo.org
|
||||
- PORT__OP_GETH_P2P=10955
|
||||
- IS_CUSTOM_CHAIN=true
|
||||
- OP_GETH__HISTORICAL_RPC=http://celo-mainnet-geth:8545
|
||||
# command: >
|
||||
# --datadir=/datadir
|
||||
# --http
|
||||
# --http.corsdomain="*"
|
||||
# --http.vhosts="*"
|
||||
# --http.addr=0.0.0.0
|
||||
# --http.port=8545
|
||||
# --http.api=web3,debug,eth,txpool,net,engine
|
||||
# --ws
|
||||
# --ws.addr=0.0.0.0
|
||||
# --ws.port=8545
|
||||
# --ws.origins="*"
|
||||
# --ws.api=debug,eth,txpool,net,engine,web3
|
||||
# --syncmode="full"
|
||||
# --gcmode="full"
|
||||
# --authrpc.vhosts="*"
|
||||
# --authrpc.addr=0.0.0.0
|
||||
# --authrpc.port=8551
|
||||
# --authrpc.jwtsecret=/jwtsecret
|
||||
# --rollup.sequencerhttp=https://sequencer.forno.celo.org
|
||||
# --rollup.disabletxpoolgossip=true
|
||||
# --port="10955"
|
||||
# --discovery.port="10955"
|
||||
# --snapshot=true
|
||||
# --verbosity=3
|
||||
# --history.transactions=0
|
||||
# --rollup.historicalrpc=${CELO_HISTORICAL_MAINNET_RPC:-http://celo-mainnet-geth:8545}
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.celo-mainnet-op-geth-pruned-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-mainnet"
|
||||
- "traefik.http.services.celo-mainnet-op-geth-pruned-leveldb-hash.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.celo-mainnet-op-geth-pruned-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.celo-mainnet-op-geth-pruned-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.celo-mainnet-op-geth-pruned-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/celo-mainnet`)"
|
||||
- "traefik.http.routers.celo-mainnet-op-geth-pruned-leveldb-hash.middlewares=celo-mainnet-op-geth-pruned-leveldb-hash-stripprefix, ipwhitelist"
|
||||
|
||||
|
||||
celo-mainnet-node:
|
||||
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-node:celo-v2.0.0
|
||||
depends_on:
|
||||
- celo-mainnet
|
||||
expose:
|
||||
- 8545 # RPC
|
||||
- 63509 # P2P TCP
|
||||
- 63509/udp # P2P UDP
|
||||
- 7300 # metrics
|
||||
- 6060 # pprof
|
||||
networks:
|
||||
- chains
|
||||
ports:
|
||||
- "63509:63509"
|
||||
- "63509:63509/udp"
|
||||
environment:
|
||||
- HEALTHCHECK__REFERENCE_RPC_PROVIDER=https://forno.celo.org
|
||||
- OP_NODE_ALTDA_DA_SERVER="http://celo-mainnet-eigenda-proxy:4242"
|
||||
- OP_NODE_P2P_LISTEN_TCP_PORT=63509
|
||||
- OP_NODE_P2P_LISTEN_UDP_PORT=63509
|
||||
- OP_NODE_P2P_STATIC=/ip4/34.83.180.111/tcp/9222/p2p/16Uiu2HAkxBYxPd4eDFJzwm84XPzymkXud847vu65eju4UCDRpDSM,/ip4/34.169.135.64/tcp/9222/p2p/16Uiu2HAm6oVW1YeKheAuhnJSySnVvbXZ5gXL4g36XrWb1imF9K3m,/ip4/34.169.201.36/tcp/9222/p2p/16Uiu2HAmCqAFUoq72tjGJfCkkzHoNbjTjshjEED4kWtRKMSxcMgb,/ip4/34.83.127.51/tcp/9222/p2p/16Uiu2HAmBqKBoxkk95CsZiXQmQHv9WMiHXU4Di6wzFuYEKo1i7dg,/ip4/35.227.175.30/tcp/9222/p2p/16Uiu2HAmTNVkin4vogHsqwJwShUkHtx48aDoxygGwgp9Tv5zQWTM,/ip4/34.82.198.98/tcp/9222/p2p/16Uiu2HAmS6CeFPUXMztLf4VDh9NLbauuXLSYx9YkXfyiscqoxsKt,/ip4/34.38.181.223/tcp/9222/p2p/16Uiu2HAmH3xfYGjaJDw6sxa8ds3bVwMYLZRpPzpTtTrYq7G4nZs3,/ip4/34.76.38.6/tcp/9222/p2p/16Uiu2HAm6yXZ9oRTSJfZzXe8wXJ165X3pfzAKdLB9sa27eRZgTwD,/ip4/35.187.106.54/tcp/9222/p2p/16Uiu2HAmPFucuARxzAqtXcD3evFoutKh7tSmfQCxwPKUXfkoyaqY,/ip4/34.76.16.183/tcp/9222/p2p/16Uiu2HAmS8NybNYedzHf4nuFfqyCDH9xiMpgMWxctMtau8dTUxeP,/ip4/104.199.39.59/tcp/9222/p2p/16Uiu2HAmGfwjf1XPikWYDN4NFpTBuuvs6C7eF2iyyKvvjK2MGrVM,/ip4/34.140.117.79/tcp/9222/p2p/16Uiu2HAkwSVN7WHohhoE1sh932y2q3Pv7AFiSugM8K6iFZLALq66
|
||||
- OP_NODE_ALTDA_ENABLED=true
|
||||
- OP_NODE_ALTDA_DA_SERVICE=true
|
||||
- OP_NODE_ALTDA_VERIFY_ON_READ=false
|
||||
- OP_NODE_ALTDA_DA_SERVER=https://eigenda-proxy.forno.celo.org
|
||||
- OP_NODE_L2_ENGINE_AUTH=/jwtsecret
|
||||
command: >
|
||||
op-node
|
||||
--l1="${CELO_L1_ETHEREUM_MAINNET_EXECUTION_RPC:-https://ethereum-rpc.publicnode.com}"
|
||||
--l2=http://celo-mainnet:8551
|
||||
--rpc.addr=0.0.0.0
|
||||
--rpc.port=9545
|
||||
--l1.trustrpc
|
||||
--l1.rpckind=basic
|
||||
--l1.beacon="${CELO_L1_ETHEREUM_MAINNET_BEACON_REST:-https://ethereum-beacon-api.publicnode.com}"
|
||||
--syncmode=execution-layer
|
||||
--p2p.priv.path=/chainconfigs/p2p_node_key_txt
|
||||
--rollup.config=/chainconfigs/rollup.json
|
||||
--rollup.load-protocol-versions=true
|
||||
--rollup.halt=major
|
||||
restart: always
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
- ./celo/mainnet/:/chainconfigs/
|
||||
stop_grace_period: 30s
|
||||
|
||||
celo-mainnet-eigenda-proxy:
|
||||
platform: linux/amd64
|
||||
image: ghcr.io/layr-labs/eigenda-proxy:v1.6.4
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 5m
|
||||
entrypoint: /scripts/start-eigenda-proxy.sh
|
||||
environment:
|
||||
- EIGENDA_LOCAL_DISPERSER_RPC=disperser.eigenda.xyz:443
|
||||
- EIGENDA_LOCAL_SVC_MANAGER_ADDR=0x870679e138bcdf293b7ff14dd44b70fc97e12fc0
|
||||
- OP_NODE__RPC_ENDPOINT=${CELO_L1_ETHEREUM_MAINNET_EXECUTION_RPC:-https://ethereum-rpc.publicnode.com}
|
||||
volumes:
|
||||
- celo-mainnet-op-geth-pruned-leveldb-hash_eigenda:/data
|
||||
- ./celo/scripts:/scripts
|
||||
|
||||
celo-mainnet-key-generator:
|
||||
image: ghcr.io/foundry-rs/foundry
|
||||
volumes:
|
||||
- "./celo/mainnet:/config"
|
||||
entrypoint: sh
|
||||
command: "[ -f /config/p2p_node_key_txt ] && exit 0 || cast w n | grep -i 'Private Key' | awk -F ': ' '{print $2}' | sed 's/0x//' > /config/p2p_node_key_txt"
|
||||
|
||||
|
||||
volumes:
|
||||
celo-mainnet-op-geth-pruned-leveldb-hash:
|
||||
celo-mainnet-op-geth-pruned-leveldb-hash_eigenda:
|
||||
|
||||
|
||||
1
celo-mainnet.yml
Symbolic link
1
celo-mainnet.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
celo/op-geth/celo-mainnet-op-geth-archive-pebble-path.yml
|
||||
148
celo/mainnet/genesis.json
Normal file
148
celo/mainnet/genesis.json
Normal file
File diff suppressed because one or more lines are too long
49
celo/mainnet/rollup.json
Normal file
49
celo/mainnet/rollup.json
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"genesis": {
|
||||
"l1": {
|
||||
"hash": "0xe499ec12e12fc2c94e6714a94f2640dbc748ff6c26fd3f420b25264a3d90066f",
|
||||
"number": 22128103
|
||||
},
|
||||
"l2": {
|
||||
"hash": "0x7586014e20c69b3fa7c9070baf1a7edd95833db57853126f32593b455da2e5c5",
|
||||
"number": 31056500
|
||||
},
|
||||
"l2_time": 1742957258,
|
||||
"system_config": {
|
||||
"batcherAddr": "0x0cd08c7f7a96aa9635f761b49216b9ea74c5ca60",
|
||||
"overhead": "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"scalar": "0x0100000000000000000000000000000000000000000000000000000000000000",
|
||||
"gasLimit": 30000000,
|
||||
"eip1559Params": "0x0000000000000000"
|
||||
}
|
||||
},
|
||||
"block_time": 1,
|
||||
"max_sequencer_drift": 2892,
|
||||
"seq_window_size": 7200,
|
||||
"channel_timeout": 50,
|
||||
"l1_chain_id": 1,
|
||||
"l2_chain_id": 42220,
|
||||
"regolith_time": 0,
|
||||
"cel2_time": 0,
|
||||
"canyon_time": 0,
|
||||
"delta_time": 0,
|
||||
"ecotone_time": 0,
|
||||
"fjord_time": 0,
|
||||
"granite_time": 0,
|
||||
"batch_inbox_address": "0xff00000000000000000000000000000000042220",
|
||||
"deposit_contract_address": "0xc5c5d157928bdbd2acf6d0777626b6c75a9eaedc",
|
||||
"l1_system_config_address": "0x89e31965d844a309231b1f17759ccaf1b7c09861",
|
||||
"protocol_versions_address": "0x1b6deb2197418075ab314ac4d52ca1d104a8f663",
|
||||
"alt_da": {
|
||||
"da_challenge_contract_address": "0x0000000000000000000000000000000000000000",
|
||||
"da_commitment_type": "GenericCommitment",
|
||||
"da_challenge_window": 1,
|
||||
"da_resolve_window": 1
|
||||
},
|
||||
"chain_op_config": {
|
||||
"eip1559Elasticity": 5,
|
||||
"eip1559Denominator": 400,
|
||||
"eip1559DenominatorCanyon": 400
|
||||
}
|
||||
}
|
||||
|
||||
113
celo/op-geth/celo-alfajores-op-geth-archive-leveldb-hash.yml
Normal file
113
celo/op-geth/celo-alfajores-op-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,113 @@
|
||||
services:
|
||||
celo-alfajores-archive:
|
||||
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth:${CELO_L2_VERSION:-celo-v2.0.0}
|
||||
volumes:
|
||||
- "celo-alfajores-op-geth-archive-leveldb-hash:/datadir"
|
||||
- ".jwtsecret:/shared/jwt.txt"
|
||||
- "./celo/alfajores/:/chainconfig"
|
||||
- "./celo/scripts/:/scripts"
|
||||
ports:
|
||||
- "10895:10895"
|
||||
- "10895:10895/udp"
|
||||
expose:
|
||||
- 8545
|
||||
- 8551
|
||||
networks:
|
||||
- chains
|
||||
restart: always
|
||||
stop_grace_period: 5m
|
||||
entrypoint: /scripts/start-op-geth.sh
|
||||
environment:
|
||||
- NETWORK_NAME=alfajores
|
||||
- GETH_BOOTNODES=enode://ac0f42fa46f8cc10bd02a103894d71d495537465133e7c442bc02dc76721a5f41761cc2d8c69e7ba1b33e14e28f516436864d3e0836e2dcdaf032387f72447dd@34.83.164.192:30303,enode://596002969b8b269a4fa34b4709b9600b64201e7d02e2f5f1350affd021b0cbda6ce2b913ebe24f0fb1edcf66b6c730a8a3b02cd940f4de995f73d3b290a0fc92@34.82.177.77:30303,enode://3619455064ef1ce667171bba1df80cfd4c097f018cf0205aaad496f0d509611b7c40396893d9e490ee390cd098888279e177a4d9bb09c58387bb0a6031d237f1@34.19.90.27:30303,enode://e3c54db6004a92d4ee87504f073f3234a25759b485274cc224037e3e5ee792f3b482c3f4fffcb764af6e1859a1aea9710b71e1991e32c1dee7f40352124bb182@35.233.249.87:30303,enode://674410b34fd54c8406a4f945292b96111688d4bab49aecdc34b4f1b346891f4673dcb03ed44c38ab467ef7bec0b20f6031ad88aa1d35ce1333b343d00fa19fb1@34.168.43.76:30303
|
||||
- BEDROCK_DATADIR=/datadir
|
||||
- OP_GETH__SYNCMODE=full
|
||||
- GETH_STATE_SCHEME=hash
|
||||
- GETH_DB_ENGINE=leveldb
|
||||
- GETH_NAT=extip:${IP}
|
||||
- NODE_TYPE=archive
|
||||
- BEDROCK_SEQUENCER_HTTP=https://sequencer.alfajores.celo-testnet.org
|
||||
- PORT__OP_GETH_P2P=10895
|
||||
- IS_CUSTOM_CHAIN=true
|
||||
- OP_GETH__HISTORICAL_RPC=${CELO_ALFAJORES_ARCHIVE_GETH:-celo-alfajores-archive-geth:8545}
|
||||
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.celo-alfajores-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-alfajores-archive"
|
||||
- "traefik.http.services.celo-alfajores-op-geth-archive-leveldb-hash-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.celo-alfajores-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.celo-alfajores-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.celo-alfajores-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/celo-alfajores-archive`)"
|
||||
- "traefik.http.routers.celo-alfajores-op-geth-archive-leveldb-hash.middlewares=celo-alfajores-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
|
||||
|
||||
celo-alfajores-archive-node:
|
||||
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-node:${CELO_L2_VERSION:-celo-v2.0.0}
|
||||
depends_on:
|
||||
- celo-alfajores-archive
|
||||
expose:
|
||||
- 9545 # RPC
|
||||
- 7300 # metrics
|
||||
- 6060 # pprof
|
||||
networks:
|
||||
- chains
|
||||
ports:
|
||||
- "15895:15895"
|
||||
- "15895:15895/udp"
|
||||
environment:
|
||||
- HEALTHCHECK__REFERENCE_RPC_PROVIDER=https://forno.celo.org
|
||||
- OP_NODE_ALTDA_DA_SERVER="http://celo-alfajores-archive-eigenda-proxy:4242"
|
||||
- OP_NODE_P2P_LISTEN_TCP_PORT=15895
|
||||
- OP_NODE_P2P_LISTEN_UDP_PORT=15895
|
||||
- OP_NODE_P2P_STATIC=/ip4/35.197.25.52/tcp/9222/p2p/16Uiu2HAmQEdyLRSAVZDr5SqbJ1RnKmNDhtQJcEKmemrVxe4FxKwR,/ip4/34.105.22.4/tcp/9222/p2p/16Uiu2HAm1SZBDSugT5MMu7vBY8auDgfZFNhoDeXPLc9Me5FsAxwT,/ip4/34.83.209.168/tcp/9222/p2p/16Uiu2HAmGJAiUX6HLSo4nLh8T984qxzokwL23cVsYuNZy2SrK7C6,/ip4/34.83.214.149/tcp/9222/p2p/16Uiu2HAmAko2Kr3eAjM7tnshtEhYrxQYfKUvN2kwiygeFoBAoi8S,/ip4/34.169.5.52/tcp/9222/p2p/16Uiu2HAmKc6YKHzYgsjBDaj36uAufxpgZFgrzDqVBt6zTPwdhhJD
|
||||
- OP_NODE_ALTDA_ENABLED=true
|
||||
- OP_NODE_ALTDA_DA_SERVICE=true
|
||||
- OP_NODE_ALTDA_VERIFY_ON_READ=false
|
||||
- OP_NODE_ALTDA_DA_SERVER=http://celo-alfajores-archive-eigenda-proxy:4242
|
||||
- OP_NODE_L2_ENGINE_AUTH=/jwtsecret
|
||||
command: >
|
||||
op-node
|
||||
--l1="${ETHEREUM_HOLESKY_EXECUTION_RPC}"
|
||||
--l2=http://celo-alfajores-archive:8551
|
||||
--rpc.addr=0.0.0.0
|
||||
--rpc.port=9545
|
||||
--l1.trustrpc
|
||||
--l1.rpckind=basic
|
||||
--l1.beacon="${ETHEREUM_HOLESKY_BEACON_REST}"
|
||||
--syncmode=execution-layer
|
||||
--p2p.priv.path=/chainconfigs/p2p_node_key_txt
|
||||
--rollup.config=/chainconfigs/rollup.json
|
||||
--rollup.load-protocol-versions=true
|
||||
--rollup.halt=major
|
||||
restart: always
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
- ./celo/alfajores/:/chainconfigs/
|
||||
stop_grace_period: 30s
|
||||
|
||||
celo-alfajores-archive-eigenda-proxy:
|
||||
platform: linux/amd64
|
||||
image: ghcr.io/layr-labs/eigenda-proxy:v1.6.4
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 5m
|
||||
entrypoint: /scripts/start-eigenda-proxy.sh
|
||||
environment:
|
||||
- EIGENDA_LOCAL_DISPERSER_RPC=disperser-holesky.eigenda.xyz:443
|
||||
- EIGENDA_LOCAL_SVC_MANAGER_ADDR=0xD4A7E1Bd8015057293f0D0A557088c286942e84b
|
||||
- OP_NODE__RPC_ENDPOINT=${ETHEREUM_HOLESKY_EXECUTION_RPC}
|
||||
volumes:
|
||||
- celo-alfajores-op-geth-archive-leveldb-hash_eigenda:/data
|
||||
- ./celo/scripts:/scripts
|
||||
|
||||
celo-alfajores-archive-key-generator:
|
||||
image: ghcr.io/foundry-rs/foundry
|
||||
volumes:
|
||||
- "./celo/alfajores:/config"
|
||||
entrypoint: sh
|
||||
command: "[ -f /config/p2p_node_key_txt ] && exit 0 || cast w n | grep -i 'Private Key' | awk -F ': ' '{print $2}' | sed 's/0x//' > /config/p2p_node_key_txt"
|
||||
|
||||
volumes:
|
||||
celo-alfajores-op-geth-archive-leveldb-hash:
|
||||
celo-alfajores-op-geth-archive-leveldb-hash_eigenda:
|
||||
|
||||
|
||||
113
celo/op-geth/celo-alfajores-op-geth-pruned-pebble-path.yml
Normal file
113
celo/op-geth/celo-alfajores-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,113 @@
|
||||
services:
|
||||
celo-alfajores:
|
||||
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth:${CELO_L2_VERSION:-celo-v2.0.0}
|
||||
volumes:
|
||||
- "celo-alfajores-op-geth-pruned-pebble-path:/datadir"
|
||||
- ".jwtsecret:/shared/jwt.txt"
|
||||
- "./celo/alfajores/:/chainconfig"
|
||||
- "./celo/scripts/:/scripts"
|
||||
ports:
|
||||
- "10457:10457"
|
||||
- "10457:10457/udp"
|
||||
expose:
|
||||
- 8545
|
||||
- 8551
|
||||
networks:
|
||||
- chains
|
||||
restart: always
|
||||
stop_grace_period: 5m
|
||||
entrypoint: /scripts/start-op-geth.sh
|
||||
environment:
|
||||
- NETWORK_NAME=alfajores
|
||||
- GETH_BOOTNODES=enode://ac0f42fa46f8cc10bd02a103894d71d495537465133e7c442bc02dc76721a5f41761cc2d8c69e7ba1b33e14e28f516436864d3e0836e2dcdaf032387f72447dd@34.83.164.192:30303,enode://596002969b8b269a4fa34b4709b9600b64201e7d02e2f5f1350affd021b0cbda6ce2b913ebe24f0fb1edcf66b6c730a8a3b02cd940f4de995f73d3b290a0fc92@34.82.177.77:30303,enode://3619455064ef1ce667171bba1df80cfd4c097f018cf0205aaad496f0d509611b7c40396893d9e490ee390cd098888279e177a4d9bb09c58387bb0a6031d237f1@34.19.90.27:30303,enode://e3c54db6004a92d4ee87504f073f3234a25759b485274cc224037e3e5ee792f3b482c3f4fffcb764af6e1859a1aea9710b71e1991e32c1dee7f40352124bb182@35.233.249.87:30303,enode://674410b34fd54c8406a4f945292b96111688d4bab49aecdc34b4f1b346891f4673dcb03ed44c38ab467ef7bec0b20f6031ad88aa1d35ce1333b343d00fa19fb1@34.168.43.76:30303
|
||||
- BEDROCK_DATADIR=/datadir
|
||||
- OP_GETH__SYNCMODE=snap
|
||||
- GETH_STATE_SCHEME=path
|
||||
- GETH_DB_ENGINE=pebble
|
||||
- GETH_NAT=extip:${IP}
|
||||
- NODE_TYPE=full
|
||||
- BEDROCK_SEQUENCER_HTTP=https://sequencer.alfajores.celo-testnet.org
|
||||
- PORT__OP_GETH_P2P=10457
|
||||
- IS_CUSTOM_CHAIN=true
|
||||
- OP_GETH__HISTORICAL_RPC=${CELO_ALFAJORES_GETH:-celo-alfajores-geth:8545}
|
||||
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.celo-alfajores-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/celo-alfajores"
|
||||
- "traefik.http.services.celo-alfajores-op-geth-pruned-pebble-path-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.celo-alfajores-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.celo-alfajores-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.celo-alfajores-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/celo-alfajores`)"
|
||||
- "traefik.http.routers.celo-alfajores-op-geth-pruned-pebble-path.middlewares=celo-alfajores-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
|
||||
|
||||
celo-alfajores-node:
|
||||
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-node:${CELO_L2_VERSION:-celo-v2.0.0}
|
||||
depends_on:
|
||||
- celo-alfajores
|
||||
expose:
|
||||
- 9545 # RPC
|
||||
- 7300 # metrics
|
||||
- 6060 # pprof
|
||||
networks:
|
||||
- chains
|
||||
ports:
|
||||
- "15457:15457"
|
||||
- "15457:15457/udp"
|
||||
environment:
|
||||
- HEALTHCHECK__REFERENCE_RPC_PROVIDER=https://forno.celo.org
|
||||
- OP_NODE_ALTDA_DA_SERVER="http://celo-alfajores-eigenda-proxy:4242"
|
||||
- OP_NODE_P2P_LISTEN_TCP_PORT=15457
|
||||
- OP_NODE_P2P_LISTEN_UDP_PORT=15457
|
||||
- OP_NODE_P2P_STATIC=/ip4/35.197.25.52/tcp/9222/p2p/16Uiu2HAmQEdyLRSAVZDr5SqbJ1RnKmNDhtQJcEKmemrVxe4FxKwR,/ip4/34.105.22.4/tcp/9222/p2p/16Uiu2HAm1SZBDSugT5MMu7vBY8auDgfZFNhoDeXPLc9Me5FsAxwT,/ip4/34.83.209.168/tcp/9222/p2p/16Uiu2HAmGJAiUX6HLSo4nLh8T984qxzokwL23cVsYuNZy2SrK7C6,/ip4/34.83.214.149/tcp/9222/p2p/16Uiu2HAmAko2Kr3eAjM7tnshtEhYrxQYfKUvN2kwiygeFoBAoi8S,/ip4/34.169.5.52/tcp/9222/p2p/16Uiu2HAmKc6YKHzYgsjBDaj36uAufxpgZFgrzDqVBt6zTPwdhhJD
|
||||
- OP_NODE_ALTDA_ENABLED=true
|
||||
- OP_NODE_ALTDA_DA_SERVICE=true
|
||||
- OP_NODE_ALTDA_VERIFY_ON_READ=false
|
||||
- OP_NODE_ALTDA_DA_SERVER=http://celo-alfajores-eigenda-proxy:4242
|
||||
- OP_NODE_L2_ENGINE_AUTH=/jwtsecret
|
||||
command: >
|
||||
op-node
|
||||
--l1="${ETHEREUM_HOLESKY_EXECUTION_RPC}"
|
||||
--l2=http://celo-alfajores:8551
|
||||
--rpc.addr=0.0.0.0
|
||||
--rpc.port=9545
|
||||
--l1.trustrpc
|
||||
--l1.rpckind=basic
|
||||
--l1.beacon="${ETHEREUM_HOLESKY_BEACON_REST}"
|
||||
--syncmode=execution-layer
|
||||
--p2p.priv.path=/chainconfigs/p2p_node_key_txt
|
||||
--rollup.config=/chainconfigs/rollup.json
|
||||
--rollup.load-protocol-versions=true
|
||||
--rollup.halt=major
|
||||
restart: always
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
- ./celo/alfajores/:/chainconfigs/
|
||||
stop_grace_period: 30s
|
||||
|
||||
celo-alfajores-eigenda-proxy:
|
||||
platform: linux/amd64
|
||||
image: ghcr.io/layr-labs/eigenda-proxy:v1.6.4
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 5m
|
||||
entrypoint: /scripts/start-eigenda-proxy.sh
|
||||
environment:
|
||||
- EIGENDA_LOCAL_DISPERSER_RPC=disperser-holesky.eigenda.xyz:443
|
||||
- EIGENDA_LOCAL_SVC_MANAGER_ADDR=0xD4A7E1Bd8015057293f0D0A557088c286942e84b
|
||||
- OP_NODE__RPC_ENDPOINT=${ETHEREUM_HOLESKY_EXECUTION_RPC}
|
||||
volumes:
|
||||
- celo-alfajores-op-geth-pruned-pebble-path_eigenda:/data
|
||||
- ./celo/scripts:/scripts
|
||||
|
||||
celo-alfajores-key-generator:
|
||||
image: ghcr.io/foundry-rs/foundry
|
||||
volumes:
|
||||
- "./celo/alfajores:/config"
|
||||
entrypoint: sh
|
||||
command: "[ -f /config/p2p_node_key_txt ] && exit 0 || cast w n | grep -i 'Private Key' | awk -F ': ' '{print $2}' | sed 's/0x//' > /config/p2p_node_key_txt"
|
||||
|
||||
volumes:
|
||||
celo-alfajores-op-geth-pruned-pebble-path:
|
||||
celo-alfajores-op-geth-pruned-pebble-path_eigenda:
|
||||
|
||||
|
||||
113
celo/op-geth/celo-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
113
celo/op-geth/celo-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,113 @@
|
||||
services:
|
||||
celo-mainnet-archive:
|
||||
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth:${CELO_L2_VERSION:-celo-v2.0.0}
|
||||
volumes:
|
||||
- "${CELO_MAINNET_OP_GETH_ARCHIVE_LEVELDB_HASH_DATA:-celo-mainnet-op-geth-archive-leveldb-hash}:/datadir"
|
||||
- ".jwtsecret:/shared/jwt.txt"
|
||||
- "./celo/mainnet/:/chainconfig"
|
||||
- "./celo/scripts/:/scripts"
|
||||
ports:
|
||||
- "10111:10111"
|
||||
- "10111:10111/udp"
|
||||
expose:
|
||||
- 8545
|
||||
- 8551
|
||||
networks:
|
||||
- chains
|
||||
restart: always
|
||||
stop_grace_period: 5m
|
||||
entrypoint: /scripts/start-op-geth.sh
|
||||
environment:
|
||||
- NETWORK_NAME=mainnet
|
||||
- GETH_BOOTNODES=enode://28f4fcb7f38c1b012087f7aef25dcb0a1257ccf1cdc4caa88584dc25416129069b514908c8cead5d0105cb0041dd65cd4ee185ae0d379a586fb07b1447e9de38@34.169.39.223:30303,enode://a9077c3e030206954c5c7f22cc16a32cb5013112aa8985e3575fadda7884a508384e1e63c077b7d9fcb4a15c716465d8585567f047c564ada2e823145591e444@34.169.212.31:30303,enode://029b007a7a56acbaa8ea50ec62cda279484bf3843fae1646f690566f784aca50e7d732a9a0530f0541e5ed82ba9bf2a4e21b9021559c5b8b527b91c9c7a38579@34.82.139.199:30303,enode://f3c96b73a5772c5efb48d5a33bf193e58080d826ba7f03e9d5bdef20c0634a4f83475add92ab6313b7a24aa4f729689efb36f5093e5d527bb25e823f8a377224@34.82.84.247:30303,enode://daa5ad65d16bcb0967cf478d9f20544bf1b6de617634e452dff7b947279f41f408b548261d62483f2034d237f61cbcf92a83fc992dbae884156f28ce68533205@34.168.45.168:30303,enode://c79d596d77268387e599695d23e941c14c220745052ea6642a71ef7df31a13874cb7f2ce2ecf5a8a458cfc9b5d9219ce3e8bc6e5c279656177579605a5533c4f@35.247.32.229:30303,enode://4151336075dd08eb6c75bfd63855e8a4bd6fd0f91ae4a81b14930f2671e16aee55495c139380c16e1094a49691875e69e40a3a5e2b4960c7859e7eb5745f9387@35.205.149.224:30303,enode://ab999db751265c714b171344de1972ed74348162de465a0444f56e50b8cfd048725b213ba1fe48c15e3dfb0638e685ea9a21b8447a54eb2962c6768f43018e5c@34.79.3.199:30303,enode://9d86d92fb38a429330546fe1aefce264e1f55c5d40249b63153e7df744005fa3c1e2da295e307041fd30ab1c618715f362c932c28715bc20bed7ae4fc76dea81@34.77.144.164:30303,enode://c82c31f21dd5bbb8dc35686ff67a4353382b4017c9ec7660a383ccb5b8e3b04c6d7aefe71203e550382f6f892795728570f8190afd885efcb7b78fa398608699@34.76.202.74:30303,enode://3bad5f57ad8de6541f02e36d806b87e7e9ca6d533c956e89a56b3054ae85d608784f2cd948dc685f7d6bbd5a2f6dd1a23cc03e529ea370dd72d880864a2af6a3@104.199.93.87:30303,enode://1decf3b8b9a0d0b8332d15218f3bf0ceb9606b0efe18f352c51effc14bbf1f4f3f46711e1d460230cb361302ceaad2be48b5b187ad946e50d729b34e463268d2@35.240.26.148:30303
|
||||
- BEDROCK_DATADIR=/datadir
|
||||
- OP_GETH__SYNCMODE=full
|
||||
- GETH_STATE_SCHEME=hash
|
||||
- GETH_DB_ENGINE=leveldb
|
||||
- GETH_NAT=extip:${IP}
|
||||
- NODE_TYPE=archive
|
||||
- BEDROCK_SEQUENCER_HTTP=https://cel2-sequencer.celo.org
|
||||
- PORT__OP_GETH_P2P=10111
|
||||
- IS_CUSTOM_CHAIN=true
|
||||
- OP_GETH__HISTORICAL_RPC=${CELO_MAINNET_ARCHIVE_GETH:-celo-mainnet-archive-geth:8545}
|
||||
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.celo-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-mainnet-archive"
|
||||
- "traefik.http.services.celo-mainnet-op-geth-archive-leveldb-hash-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/celo-mainnet-archive`)"
|
||||
- "traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.middlewares=celo-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
|
||||
|
||||
celo-mainnet-archive-node:
|
||||
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-node:${CELO_L2_VERSION:-celo-v2.0.0}
|
||||
depends_on:
|
||||
- celo-mainnet-archive
|
||||
expose:
|
||||
- 9545 # RPC
|
||||
- 7300 # metrics
|
||||
- 6060 # pprof
|
||||
networks:
|
||||
- chains
|
||||
ports:
|
||||
- "15111:15111"
|
||||
- "15111:15111/udp"
|
||||
environment:
|
||||
- HEALTHCHECK__REFERENCE_RPC_PROVIDER=https://forno.celo.org
|
||||
- OP_NODE_ALTDA_DA_SERVER="http://celo-mainnet-archive-eigenda-proxy:4242"
|
||||
- OP_NODE_P2P_LISTEN_TCP_PORT=15111
|
||||
- OP_NODE_P2P_LISTEN_UDP_PORT=15111
|
||||
- OP_NODE_P2P_STATIC=/ip4/34.83.180.111/tcp/9222/p2p/16Uiu2HAkxBYxPd4eDFJzwm84XPzymkXud847vu65eju4UCDRpDSM,/ip4/34.169.135.64/tcp/9222/p2p/16Uiu2HAm6oVW1YeKheAuhnJSySnVvbXZ5gXL4g36XrWb1imF9K3m,/ip4/34.169.201.36/tcp/9222/p2p/16Uiu2HAmCqAFUoq72tjGJfCkkzHoNbjTjshjEED4kWtRKMSxcMgb,/ip4/34.83.127.51/tcp/9222/p2p/16Uiu2HAmBqKBoxkk95CsZiXQmQHv9WMiHXU4Di6wzFuYEKo1i7dg,/ip4/35.227.175.30/tcp/9222/p2p/16Uiu2HAmTNVkin4vogHsqwJwShUkHtx48aDoxygGwgp9Tv5zQWTM,/ip4/34.82.198.98/tcp/9222/p2p/16Uiu2HAmS6CeFPUXMztLf4VDh9NLbauuXLSYx9YkXfyiscqoxsKt,/ip4/34.38.181.223/tcp/9222/p2p/16Uiu2HAmH3xfYGjaJDw6sxa8ds3bVwMYLZRpPzpTtTrYq7G4nZs3,/ip4/34.76.38.6/tcp/9222/p2p/16Uiu2HAm6yXZ9oRTSJfZzXe8wXJ165X3pfzAKdLB9sa27eRZgTwD,/ip4/35.187.106.54/tcp/9222/p2p/16Uiu2HAmPFucuARxzAqtXcD3evFoutKh7tSmfQCxwPKUXfkoyaqY,/ip4/34.76.16.183/tcp/9222/p2p/16Uiu2HAmS8NybNYedzHf4nuFfqyCDH9xiMpgMWxctMtau8dTUxeP,/ip4/104.199.39.59/tcp/9222/p2p/16Uiu2HAmGfwjf1XPikWYDN4NFpTBuuvs6C7eF2iyyKvvjK2MGrVM,/ip4/34.140.117.79/tcp/9222/p2p/16Uiu2HAkwSVN7WHohhoE1sh932y2q3Pv7AFiSugM8K6iFZLALq66
|
||||
- OP_NODE_ALTDA_ENABLED=true
|
||||
- OP_NODE_ALTDA_DA_SERVICE=true
|
||||
- OP_NODE_ALTDA_VERIFY_ON_READ=false
|
||||
- OP_NODE_ALTDA_DA_SERVER=http://celo-mainnet-archive-eigenda-proxy:4242
|
||||
- OP_NODE_L2_ENGINE_AUTH=/jwtsecret
|
||||
command: >
|
||||
op-node
|
||||
--l1="${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
--l2=http://celo-mainnet-archive:8551
|
||||
--rpc.addr=0.0.0.0
|
||||
--rpc.port=9545
|
||||
--l1.trustrpc
|
||||
--l1.rpckind=basic
|
||||
--l1.beacon="${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
--syncmode=execution-layer
|
||||
--p2p.priv.path=/chainconfigs/p2p_node_key_txt
|
||||
--rollup.config=/chainconfigs/rollup.json
|
||||
--rollup.load-protocol-versions=true
|
||||
--rollup.halt=major
|
||||
restart: always
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
- ./celo/mainnet/:/chainconfigs/
|
||||
stop_grace_period: 30s
|
||||
|
||||
celo-mainnet-archive-eigenda-proxy:
|
||||
platform: linux/amd64
|
||||
image: ghcr.io/layr-labs/eigenda-proxy:v1.6.4
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 5m
|
||||
entrypoint: /scripts/start-eigenda-proxy.sh
|
||||
environment:
|
||||
- EIGENDA_LOCAL_DISPERSER_RPC=disperser.eigenda.xyz:443
|
||||
- EIGENDA_LOCAL_SVC_MANAGER_ADDR=0x870679e138bcdf293b7ff14dd44b70fc97e12fc0
|
||||
- OP_NODE__RPC_ENDPOINT=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||
volumes:
|
||||
- ${CELO_MAINNET_OP_GETH_ARCHIVE_LEVELDB_HASH__EIGENDA_DATA:-celo-mainnet-op-geth-archive-leveldb-hash_eigenda}:/data
|
||||
- ./celo/scripts:/scripts
|
||||
|
||||
celo-mainnet-archive-key-generator:
|
||||
image: ghcr.io/foundry-rs/foundry
|
||||
volumes:
|
||||
- "./celo/mainnet:/config"
|
||||
entrypoint: sh
|
||||
command: "[ -f /config/p2p_node_key_txt ] && exit 0 || cast w n | grep -i 'Private Key' | awk -F ': ' '{print $2}' | sed 's/0x//' > /config/p2p_node_key_txt"
|
||||
|
||||
volumes:
|
||||
celo-mainnet-op-geth-archive-leveldb-hash:
|
||||
celo-mainnet-op-geth-archive-leveldb-hash_eigenda:
|
||||
|
||||
|
||||
113
celo/op-geth/celo-mainnet-op-geth-pruned-pebble-path.yml
Normal file
113
celo/op-geth/celo-mainnet-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,113 @@
|
||||
services:
|
||||
celo-mainnet:
|
||||
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth:${CELO_L2_VERSION:-celo-v2.0.0}
|
||||
volumes:
|
||||
- "celo-mainnet-op-geth-pruned-pebble-path:/datadir"
|
||||
- ".jwtsecret:/shared/jwt.txt"
|
||||
- "./celo/mainnet/:/chainconfig"
|
||||
- "./celo/scripts/:/scripts"
|
||||
ports:
|
||||
- "10993:10993"
|
||||
- "10993:10993/udp"
|
||||
expose:
|
||||
- 8545
|
||||
- 8551
|
||||
networks:
|
||||
- chains
|
||||
restart: always
|
||||
stop_grace_period: 5m
|
||||
entrypoint: /scripts/start-op-geth.sh
|
||||
environment:
|
||||
- NETWORK_NAME=mainnet
|
||||
- GETH_BOOTNODES=enode://28f4fcb7f38c1b012087f7aef25dcb0a1257ccf1cdc4caa88584dc25416129069b514908c8cead5d0105cb0041dd65cd4ee185ae0d379a586fb07b1447e9de38@34.169.39.223:30303,enode://a9077c3e030206954c5c7f22cc16a32cb5013112aa8985e3575fadda7884a508384e1e63c077b7d9fcb4a15c716465d8585567f047c564ada2e823145591e444@34.169.212.31:30303,enode://029b007a7a56acbaa8ea50ec62cda279484bf3843fae1646f690566f784aca50e7d732a9a0530f0541e5ed82ba9bf2a4e21b9021559c5b8b527b91c9c7a38579@34.82.139.199:30303,enode://f3c96b73a5772c5efb48d5a33bf193e58080d826ba7f03e9d5bdef20c0634a4f83475add92ab6313b7a24aa4f729689efb36f5093e5d527bb25e823f8a377224@34.82.84.247:30303,enode://daa5ad65d16bcb0967cf478d9f20544bf1b6de617634e452dff7b947279f41f408b548261d62483f2034d237f61cbcf92a83fc992dbae884156f28ce68533205@34.168.45.168:30303,enode://c79d596d77268387e599695d23e941c14c220745052ea6642a71ef7df31a13874cb7f2ce2ecf5a8a458cfc9b5d9219ce3e8bc6e5c279656177579605a5533c4f@35.247.32.229:30303,enode://4151336075dd08eb6c75bfd63855e8a4bd6fd0f91ae4a81b14930f2671e16aee55495c139380c16e1094a49691875e69e40a3a5e2b4960c7859e7eb5745f9387@35.205.149.224:30303,enode://ab999db751265c714b171344de1972ed74348162de465a0444f56e50b8cfd048725b213ba1fe48c15e3dfb0638e685ea9a21b8447a54eb2962c6768f43018e5c@34.79.3.199:30303,enode://9d86d92fb38a429330546fe1aefce264e1f55c5d40249b63153e7df744005fa3c1e2da295e307041fd30ab1c618715f362c932c28715bc20bed7ae4fc76dea81@34.77.144.164:30303,enode://c82c31f21dd5bbb8dc35686ff67a4353382b4017c9ec7660a383ccb5b8e3b04c6d7aefe71203e550382f6f892795728570f8190afd885efcb7b78fa398608699@34.76.202.74:30303,enode://3bad5f57ad8de6541f02e36d806b87e7e9ca6d533c956e89a56b3054ae85d608784f2cd948dc685f7d6bbd5a2f6dd1a23cc03e529ea370dd72d880864a2af6a3@104.199.93.87:30303,enode://1decf3b8b9a0d0b8332d15218f3bf0ceb9606b0efe18f352c51effc14bbf1f4f3f46711e1d460230cb361302ceaad2be48b5b187ad946e50d729b34e463268d2@35.240.26.148:30303
|
||||
- BEDROCK_DATADIR=/datadir
|
||||
- OP_GETH__SYNCMODE=snap
|
||||
- GETH_STATE_SCHEME=path
|
||||
- GETH_DB_ENGINE=pebble
|
||||
- GETH_NAT=extip:${IP}
|
||||
- NODE_TYPE=full
|
||||
- BEDROCK_SEQUENCER_HTTP=https://cel2-sequencer.celo.org
|
||||
- PORT__OP_GETH_P2P=10993
|
||||
- IS_CUSTOM_CHAIN=true
|
||||
- OP_GETH__HISTORICAL_RPC=${CELO_MAINNET_GETH:-celo-mainnet-geth:8545}
|
||||
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.celo-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/celo-mainnet"
|
||||
- "traefik.http.services.celo-mainnet-op-geth-pruned-pebble-path-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.celo-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.celo-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.celo-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/celo-mainnet`)"
|
||||
- "traefik.http.routers.celo-mainnet-op-geth-pruned-pebble-path.middlewares=celo-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
|
||||
|
||||
celo-mainnet-node:
|
||||
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-node:${CELO_L2_VERSION:-celo-v2.0.0}
|
||||
depends_on:
|
||||
- celo-mainnet
|
||||
expose:
|
||||
- 9545 # RPC
|
||||
- 7300 # metrics
|
||||
- 6060 # pprof
|
||||
networks:
|
||||
- chains
|
||||
ports:
|
||||
- "15993:15993"
|
||||
- "15993:15993/udp"
|
||||
environment:
|
||||
- HEALTHCHECK__REFERENCE_RPC_PROVIDER=https://forno.celo.org
|
||||
- OP_NODE_ALTDA_DA_SERVER="http://celo-mainnet-eigenda-proxy:4242"
|
||||
- OP_NODE_P2P_LISTEN_TCP_PORT=15993
|
||||
- OP_NODE_P2P_LISTEN_UDP_PORT=15993
|
||||
- OP_NODE_P2P_STATIC=/ip4/34.83.180.111/tcp/9222/p2p/16Uiu2HAkxBYxPd4eDFJzwm84XPzymkXud847vu65eju4UCDRpDSM,/ip4/34.169.135.64/tcp/9222/p2p/16Uiu2HAm6oVW1YeKheAuhnJSySnVvbXZ5gXL4g36XrWb1imF9K3m,/ip4/34.169.201.36/tcp/9222/p2p/16Uiu2HAmCqAFUoq72tjGJfCkkzHoNbjTjshjEED4kWtRKMSxcMgb,/ip4/34.83.127.51/tcp/9222/p2p/16Uiu2HAmBqKBoxkk95CsZiXQmQHv9WMiHXU4Di6wzFuYEKo1i7dg,/ip4/35.227.175.30/tcp/9222/p2p/16Uiu2HAmTNVkin4vogHsqwJwShUkHtx48aDoxygGwgp9Tv5zQWTM,/ip4/34.82.198.98/tcp/9222/p2p/16Uiu2HAmS6CeFPUXMztLf4VDh9NLbauuXLSYx9YkXfyiscqoxsKt,/ip4/34.38.181.223/tcp/9222/p2p/16Uiu2HAmH3xfYGjaJDw6sxa8ds3bVwMYLZRpPzpTtTrYq7G4nZs3,/ip4/34.76.38.6/tcp/9222/p2p/16Uiu2HAm6yXZ9oRTSJfZzXe8wXJ165X3pfzAKdLB9sa27eRZgTwD,/ip4/35.187.106.54/tcp/9222/p2p/16Uiu2HAmPFucuARxzAqtXcD3evFoutKh7tSmfQCxwPKUXfkoyaqY,/ip4/34.76.16.183/tcp/9222/p2p/16Uiu2HAmS8NybNYedzHf4nuFfqyCDH9xiMpgMWxctMtau8dTUxeP,/ip4/104.199.39.59/tcp/9222/p2p/16Uiu2HAmGfwjf1XPikWYDN4NFpTBuuvs6C7eF2iyyKvvjK2MGrVM,/ip4/34.140.117.79/tcp/9222/p2p/16Uiu2HAkwSVN7WHohhoE1sh932y2q3Pv7AFiSugM8K6iFZLALq66
|
||||
- OP_NODE_ALTDA_ENABLED=true
|
||||
- OP_NODE_ALTDA_DA_SERVICE=true
|
||||
- OP_NODE_ALTDA_VERIFY_ON_READ=false
|
||||
- OP_NODE_ALTDA_DA_SERVER=http://celo-mainnet-eigenda-proxy:4242
|
||||
- OP_NODE_L2_ENGINE_AUTH=/jwtsecret
|
||||
command: >
|
||||
op-node
|
||||
--l1="${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
--l2=http://celo-mainnet:8551
|
||||
--rpc.addr=0.0.0.0
|
||||
--rpc.port=9545
|
||||
--l1.trustrpc
|
||||
--l1.rpckind=basic
|
||||
--l1.beacon="${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
--syncmode=execution-layer
|
||||
--p2p.priv.path=/chainconfigs/p2p_node_key_txt
|
||||
--rollup.config=/chainconfigs/rollup.json
|
||||
--rollup.load-protocol-versions=true
|
||||
--rollup.halt=major
|
||||
restart: always
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
- ./celo/mainnet/:/chainconfigs/
|
||||
stop_grace_period: 30s
|
||||
|
||||
celo-mainnet-eigenda-proxy:
|
||||
platform: linux/amd64
|
||||
image: ghcr.io/layr-labs/eigenda-proxy:v1.6.4
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 5m
|
||||
entrypoint: /scripts/start-eigenda-proxy.sh
|
||||
environment:
|
||||
- EIGENDA_LOCAL_DISPERSER_RPC=disperser.eigenda.xyz:443
|
||||
- EIGENDA_LOCAL_SVC_MANAGER_ADDR=0x870679e138bcdf293b7ff14dd44b70fc97e12fc0
|
||||
- OP_NODE__RPC_ENDPOINT=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||
volumes:
|
||||
- celo-mainnet-op-geth-pruned-pebble-path_eigenda:/data
|
||||
- ./celo/scripts:/scripts
|
||||
|
||||
celo-mainnet-key-generator:
|
||||
image: ghcr.io/foundry-rs/foundry
|
||||
volumes:
|
||||
- "./celo/mainnet:/config"
|
||||
entrypoint: sh
|
||||
command: "[ -f /config/p2p_node_key_txt ] && exit 0 || cast w n | grep -i 'Private Key' | awk -F ': ' '{print $2}' | sed 's/0x//' > /config/p2p_node_key_txt"
|
||||
|
||||
volumes:
|
||||
celo-mainnet-op-geth-pruned-pebble-path:
|
||||
celo-mainnet-op-geth-pruned-pebble-path_eigenda:
|
||||
|
||||
|
||||
25
celo/scripts/start-eigenda-proxy.sh
Executable file
25
celo/scripts/start-eigenda-proxy.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Archive blobs configuration
|
||||
if [ -n "$EIGENDA_LOCAL_ARCHIVE_BLOBS" ]; then
|
||||
export EXTENDED_EIGENDA_PARAMETERS="${EXTENDED_EIGENDA_PARAMETERS:-} --s3.credential-type=$EIGENDA_LOCAL_S3_CREDENTIAL_TYPE \
|
||||
--s3.access-key-id=$EIGENDA_LOCAL_S3_ACCESS_KEY_ID \
|
||||
--s3.access-key-secret=$EIGENDA_LOCAL_S3_ACCESS_KEY_SECRET \
|
||||
--s3.bucket=$EIGENDA_LOCAL_S3_BUCKET \
|
||||
--s3.path=$EIGENDA_LOCAL_S3_PATH \
|
||||
--s3.endpoint=$EIGENDA_LOCAL_S3_ENDPOINT \
|
||||
--storage.fallback-targets=s3"
|
||||
fi
|
||||
|
||||
exec ./eigenda-proxy --addr=0.0.0.0 \
|
||||
--port=4242 \
|
||||
--eigenda.disperser-rpc="$EIGENDA_LOCAL_DISPERSER_RPC" \
|
||||
--eigenda.eth-rpc="$OP_NODE__RPC_ENDPOINT" \
|
||||
--eigenda.signer-private-key-hex=$(head -c 32 /dev/urandom | xxd -p -c 32) \
|
||||
--eigenda.svc-manager-addr="$EIGENDA_LOCAL_SVC_MANAGER_ADDR" \
|
||||
--eigenda.status-query-timeout="45m" \
|
||||
--eigenda.disable-tls=false \
|
||||
--eigenda.confirmation-depth=1 \
|
||||
--eigenda.max-blob-length="32MiB" \
|
||||
$EXTENDED_EIGENDA_PARAMETERS
|
||||
76
celo/scripts/start-op-geth.sh
Executable file
76
celo/scripts/start-op-geth.sh
Executable file
@@ -0,0 +1,76 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Create JWT if it doesn't exist
|
||||
if [ ! -f "/shared/jwt.txt" ]; then
|
||||
echo "Creating JWT..."
|
||||
mkdir -p /shared
|
||||
dd bs=1 count=32 if=/dev/urandom of=/dev/stdout | xxd -p -c 32 > /shared/jwt.txt
|
||||
fi
|
||||
|
||||
# Check if either OP_GETH__HISTORICAL_RPC or HISTORICAL_RPC_DATADIR_PATH is set and if so set the historical rpc option.
|
||||
if [ -n "$OP_GETH__HISTORICAL_RPC" ] || [ -n "$HISTORICAL_RPC_DATADIR_PATH" ] ; then
|
||||
export EXTENDED_ARG="${EXTENDED_ARG:-} --rollup.historicalrpc=${OP_GETH__HISTORICAL_RPC:-http://historical-rpc-node:8545}"
|
||||
fi
|
||||
|
||||
if [ -n "$IPC_PATH" ]; then
|
||||
export EXTENDED_ARG="${EXTENDED_ARG:-} --ipcpath=$IPC_PATH"
|
||||
fi
|
||||
|
||||
# Init genesis if it's a custom chain and the datadir is empty
|
||||
if [ -n "${IS_CUSTOM_CHAIN}" ] && [ -z "$(ls -A "$BEDROCK_DATADIR")" ]; then
|
||||
echo "Initializing custom chain genesis..."
|
||||
if [ ! -f /chainconfig/genesis.json ]; then
|
||||
echo "Missing genesis.json file: Either update the repo to pull the published genesis.json or migrate your Celo L1 datadir to generate genesis.json."
|
||||
exit
|
||||
fi
|
||||
geth init --datadir="$BEDROCK_DATADIR" /chainconfig/genesis.json
|
||||
fi
|
||||
|
||||
# Determine syncmode based on NODE_TYPE
|
||||
if [ -z "$OP_GETH__SYNCMODE" ]; then
|
||||
if [ "$NODE_TYPE" = "full" ]; then
|
||||
export OP_GETH__SYNCMODE="snap"
|
||||
else
|
||||
export OP_GETH__SYNCMODE="full"
|
||||
fi
|
||||
fi
|
||||
|
||||
METRICS_ARGS="--metrics"
|
||||
if [ "$MONITORING_ENABLED" = "true" ]; then
|
||||
METRICS_ARGS="$METRICS_ARGS \
|
||||
--metrics.influxdb \
|
||||
--metrics.influxdb.endpoint=http://influxdb:8086 \
|
||||
--metrics.influxdb.database=opgeth"
|
||||
fi
|
||||
|
||||
# Start op-geth.
|
||||
exec geth \
|
||||
--datadir="$BEDROCK_DATADIR" \
|
||||
--http \
|
||||
--http.corsdomain="*" \
|
||||
--http.vhosts="*" \
|
||||
--http.addr=0.0.0.0 \
|
||||
--http.port=8545 \
|
||||
--http.api=web3,debug,eth,txpool,net,engine \
|
||||
--ws \
|
||||
--ws.addr=0.0.0.0 \
|
||||
--ws.port=8545 \
|
||||
--ws.origins="*" \
|
||||
--ws.api=debug,eth,txpool,net,engine,web3 \
|
||||
$METRICS_ARGS \
|
||||
--syncmode="$OP_GETH__SYNCMODE" \
|
||||
--gcmode="$NODE_TYPE" \
|
||||
--authrpc.vhosts="*" \
|
||||
--authrpc.addr=0.0.0.0 \
|
||||
--authrpc.port=8551 \
|
||||
--authrpc.jwtsecret=/shared/jwt.txt \
|
||||
--rollup.sequencerhttp="$BEDROCK_SEQUENCER_HTTP" \
|
||||
--rollup.disabletxpoolgossip=true \
|
||||
--port="${PORT__OP_GETH_P2P:-39393}" \
|
||||
--discovery.port="${PORT__OP_GETH_P2P:-39393}" \
|
||||
--snapshot=true \
|
||||
--verbosity=3 \
|
||||
--history.transactions=0 \
|
||||
$EXTENDED_ARG $@
|
||||
|
||||
@@ -1,9 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
RPC_URL="$1"
|
||||
ref="$2"
|
||||
BASEPATH="$(dirname "$0")"
|
||||
|
||||
timeout=5 # seconds
|
||||
if [ $# -lt 2 ]; then
|
||||
echo "Error: At least two parameters are required."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
RPC_URL=$1
|
||||
REF=""
|
||||
|
||||
for url in "${@:2}"; do
|
||||
REF+="--url $url "
|
||||
done
|
||||
|
||||
# Optional: You can remove the trailing space if needed
|
||||
ref=${REF% }
|
||||
|
||||
# echo "ref: $ref"
|
||||
|
||||
timeout=3 # seconds
|
||||
|
||||
response_file=$(mktemp)
|
||||
|
||||
@@ -26,7 +42,7 @@ if [ $? -eq 0 ]; then
|
||||
|
||||
sleep 3 # to give the reference node more time to import the block if it is very current
|
||||
|
||||
http_status_code2=$(curl --ipv4 -m $timeout -s -X POST -w "%{http_code}" -o "$response_file2" -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"$latest_block_number\", false],\"id\":1}" $ref)
|
||||
http_status_code2=$($BASEPATH/multicurl.sh --ipv4 -m $timeout -s -X POST -w "%{http_code}" -o "$response_file2" -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"$latest_block_number\", false],\"id\":1}" $ref)
|
||||
|
||||
curl_code2=$?
|
||||
|
||||
@@ -41,7 +57,7 @@ if [ $? -eq 0 ]; then
|
||||
response_file3=$(mktemp)
|
||||
status_file3=$(mktemp)
|
||||
{
|
||||
curl --ipv4 -m $timeout -s -X POST -w "%{http_code} %{time_total}" -o "$response_file3" -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\", false],\"id\":1}" $ref > "$status_file3"
|
||||
$BASEPATH/multicurl.sh --ipv4 -m $timeout -s -X POST -w "%{http_code} %{time_total}" -o "$response_file3" -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\", false],\"id\":1}" $ref > "$status_file3"
|
||||
} &
|
||||
pid3=$!
|
||||
|
||||
@@ -66,6 +82,7 @@ if [ $? -eq 0 ]; then
|
||||
rm "$status_file4"
|
||||
|
||||
# echo "lets check"
|
||||
|
||||
if [ $curl_code3 -eq 0 ]; then
|
||||
if [[ $http_status_code3 -eq 200 ]]; then
|
||||
response3=$(cat "$response_file3")
|
||||
|
||||
@@ -17,6 +17,8 @@ services:
|
||||
- erigon-holesky:/root/.local/share/erigon
|
||||
- /slowdisk:/slowdisk
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
networks:
|
||||
- chains
|
||||
command: >
|
||||
@@ -26,7 +28,7 @@ services:
|
||||
--private.api.addr=0.0.0.0:9090
|
||||
--torrent.upload.rate="1250mb"
|
||||
--torrent.download.rate="1250mb"
|
||||
--nat=stun
|
||||
--nat=extip:${IP}
|
||||
--pprof
|
||||
--pprof.addr=0.0.0.0
|
||||
--pprof.port=6061
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
erigon-sepolia-minimal:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-beta1}
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-beta2}
|
||||
user: root
|
||||
expose:
|
||||
- "16630"
|
||||
|
||||
1
ethereum-holesky.yml
Symbolic link
1
ethereum-holesky.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
ethereum/geth/ethereum-holesky-geth-pruned-pebble-path.yml
|
||||
76
ethereum/geth/ethereum-holesky-geth-pruned-pebble-path.yml
Normal file
76
ethereum/geth/ethereum-holesky-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,76 @@
|
||||
services:
|
||||
ethereum-holesky:
|
||||
image: ethereum/client-go:${GETH_VERSION:-v1.15.5}
|
||||
expose:
|
||||
- 8545
|
||||
- 8551
|
||||
ports:
|
||||
- "10993:10993"
|
||||
- "10993:10993/udp"
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_HOLESKY=true"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- "ethereum-holesky-geth-pruned-pebble-path:/data"
|
||||
- ".jwtsecret:/jwtsecret"
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.ethereum-holesky-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/ethereum-holesky"
|
||||
- "traefik.http.services.ethereum-holesky-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.ethereum-holesky-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.ethereum-holesky-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.ethereum-holesky-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-holesky`)"
|
||||
- "traefik.http.routers.ethereum-holesky-geth-pruned-pebble-path.middlewares=ethereum-holesky-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
|
||||
ethereum-holesky-node:
|
||||
image: prysmaticlabs/prysm-beacon-chain:${PRYSM_VERSION:-v5.3.1}
|
||||
ports:
|
||||
- "15993:15993"
|
||||
- "15993:15993/udp"
|
||||
command:
|
||||
[
|
||||
"--holesky",
|
||||
"--datadir=/data",
|
||||
"--jwt-secret=/jwtsecret",
|
||||
"--rpc-host=0.0.0.0",
|
||||
"--grpc-gateway-host=0.0.0.0",
|
||||
"--monitoring-host=0.0.0.0",
|
||||
"--p2p-tcp-port=15993",
|
||||
"--p2p-udp-port=15993",
|
||||
"--checkpoint-sync-url=https://holesky.beaconstate.info",
|
||||
"--execution-endpoint=http://ethereum-holesky:8551",
|
||||
"--enable-historical-state-representation=false",
|
||||
"--beacon-db-pruning",
|
||||
"--accept-terms-of-use"
|
||||
]
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- "ethereum-holesky-geth-pruned-pebble-path_prysm:/data"
|
||||
- ".jwtsecret:/jwtsecret"
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
ethereum-holesky-geth-pruned-pebble-path:
|
||||
ethereum-holesky-geth-pruned-pebble-path_prysm:
|
||||
76
ethereum/geth/ethereum-mainnet-geth-pruned-pebble-path.yml
Normal file
76
ethereum/geth/ethereum-mainnet-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,76 @@
|
||||
services:
|
||||
ethereum-mainnet:
|
||||
image: ethereum/client-go:${GETH_VERSION:-v1.15.5}
|
||||
expose:
|
||||
- 8545
|
||||
- 8551
|
||||
ports:
|
||||
- "10023:10023"
|
||||
- "10023:10023/udp"
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_MAINNET=true"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- "ethereum-mainnet-geth-pruned-pebble-path:/data"
|
||||
- ".jwtsecret:/jwtsecret"
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.ethereum-mainnet-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/ethereum-mainnet"
|
||||
- "traefik.http.services.ethereum-mainnet-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-mainnet`)"
|
||||
- "traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.middlewares=ethereum-mainnet-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
|
||||
ethereum-mainnet-node:
|
||||
image: prysmaticlabs/prysm-beacon-chain:${PRYSM_VERSION:-v5.3.1}
|
||||
ports:
|
||||
- "15023:15023"
|
||||
- "15023:15023/udp"
|
||||
command:
|
||||
[
|
||||
"--mainnet",
|
||||
"--datadir=/data",
|
||||
"--jwt-secret=/jwtsecret",
|
||||
"--rpc-host=0.0.0.0",
|
||||
"--grpc-gateway-host=0.0.0.0",
|
||||
"--monitoring-host=0.0.0.0",
|
||||
"--p2p-tcp-port=15023",
|
||||
"--p2p-udp-port=15023",
|
||||
"--checkpoint-sync-url=https://sync-mainnet.beaconcha.in",
|
||||
"--execution-endpoint=http://ethereum-mainnet:8551",
|
||||
"--enable-historical-state-representation=false",
|
||||
"--beacon-db-pruning",
|
||||
"--accept-terms-of-use"
|
||||
]
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- "ethereum-mainnet-geth-pruned-pebble-path_prysm:/data"
|
||||
- ".jwtsecret:/jwtsecret"
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
ethereum-mainnet-geth-pruned-pebble-path:
|
||||
ethereum-mainnet-geth-pruned-pebble-path_prysm:
|
||||
76
ethereum/geth/ethereum-sepolia-geth-pruned-pebble-path.yml
Normal file
76
ethereum/geth/ethereum-sepolia-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,76 @@
|
||||
services:
|
||||
ethereum-sepolia:
|
||||
image: ethereum/client-go:${GETH_VERSION:-v1.15.5}
|
||||
expose:
|
||||
- 8545
|
||||
- 8551
|
||||
ports:
|
||||
- "10710:10710"
|
||||
- "10710:10710/udp"
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_SEPOLIA=true"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- "ethereum-sepolia-geth-pruned-pebble-path:/data"
|
||||
- ".jwtsecret:/jwtsecret"
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.ethereum-sepolia-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/ethereum-sepolia"
|
||||
- "traefik.http.services.ethereum-sepolia-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.ethereum-sepolia-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.ethereum-sepolia-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.ethereum-sepolia-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-sepolia`)"
|
||||
- "traefik.http.routers.ethereum-sepolia-geth-pruned-pebble-path.middlewares=ethereum-sepolia-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
|
||||
ethereum-sepolia-node:
|
||||
image: prysmaticlabs/prysm-beacon-chain:${PRYSM_VERSION:-v5.3.1}
|
||||
ports:
|
||||
- "15710:15710"
|
||||
- "15710:15710/udp"
|
||||
command:
|
||||
[
|
||||
"--sepolia",
|
||||
"--datadir=/data",
|
||||
"--jwt-secret=/jwtsecret",
|
||||
"--rpc-host=0.0.0.0",
|
||||
"--grpc-gateway-host=0.0.0.0",
|
||||
"--monitoring-host=0.0.0.0",
|
||||
"--p2p-tcp-port=15710",
|
||||
"--p2p-udp-port=15710",
|
||||
"--checkpoint-sync-url=https://sepolia.beaconstate.info",
|
||||
"--execution-endpoint=http://ethereum-sepolia:8551",
|
||||
"--enable-historical-state-representation=false",
|
||||
"--beacon-db-pruning",
|
||||
"--accept-terms-of-use"
|
||||
]
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- "ethereum-sepolia-geth-pruned-pebble-path_prysm:/data"
|
||||
- ".jwtsecret:/jwtsecret"
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
ethereum-sepolia-geth-pruned-pebble-path:
|
||||
ethereum-sepolia-geth-pruned-pebble-path_prysm:
|
||||
@@ -1,30 +0,0 @@
|
||||
version: "3.1"
|
||||
services:
|
||||
fantom-archive:
|
||||
build:
|
||||
args:
|
||||
VERSION: release/txtracing/1.1.2-rc.6
|
||||
context: ./fantom
|
||||
dockerfile: Dockerfile
|
||||
environment:
|
||||
- SNAPSHOT_URL_DISABLED=https://download.fantom.network/opera_5may22.tgz
|
||||
- CACHE_SIZE=${FANTOM_CACHE_SIZE}
|
||||
volumes:
|
||||
- "fantom-archive:/datadir"
|
||||
expose:
|
||||
- "18544"
|
||||
- "5050"
|
||||
networks:
|
||||
- chains
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-archive-stripprefix.stripprefix.prefixes=/fantom-archive"
|
||||
- "traefik.http.services.fantom-archive.loadbalancer.server.port=18544"
|
||||
- "traefik.http.routers.fantom-archive.entrypoints=websecure"
|
||||
- "traefik.http.routers.fantom-archive.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.fantom-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-archive`)"
|
||||
- "traefik.http.routers.fantom-archive.middlewares=fantom-archive-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-archive:
|
||||
1
fantom-archive.yml
Symbolic link
1
fantom-archive.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
fantom/opera/fantom-mainnet-opera-archive-trace.yml
|
||||
@@ -1,34 +0,0 @@
|
||||
services:
|
||||
fantom-archive-trace:
|
||||
build:
|
||||
args:
|
||||
VERSION: release/txtracing/1.1.3-rc.5
|
||||
context: ./fantom
|
||||
stop_grace_period: 3m
|
||||
environment:
|
||||
- CACHE_SIZE=${FANTOM_ARCHIVE_TRACE_CACHE_SIZE:-16000}
|
||||
- IP=${IP}
|
||||
volumes:
|
||||
- "${FANTOM_MAINNET_OPERA_ARCHIVE_TRACE_DATA:-fantom-mainnet-opera-archive-trace}:/datadir"
|
||||
- "./fantom/config:/config"
|
||||
expose:
|
||||
- "18544"
|
||||
- "19921"
|
||||
ports:
|
||||
- "19921:19921"
|
||||
- "19921:19921/udp"
|
||||
networks:
|
||||
- chains
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-mainnet-opera-archive-trace-stripprefix.stripprefix.prefixes=/fantom-archive-trace"
|
||||
- "traefik.http.services.fantom-mainnet-opera-archive-trace.loadbalancer.server.port=18544"
|
||||
- "${NO_SSL:-traefik.http.routers.fantom-mainnet-opera-archive-trace.entrypoints=websecure}"
|
||||
- "${NO_SSL:-traefik.http.routers.fantom-mainnet-opera-archive-trace.tls.certresolver=myresolver}"
|
||||
- "${NO_SSL:-traefik.http.routers.fantom-mainnet-opera-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-archive-trace`)}"
|
||||
- "${NO_SSL:+traefik.http.routers.fantom-mainnet-opera-archive-trace.rule=PathPrefix(`/fantom-archive-trace`)}"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-archive-trace.middlewares=fantom-mainnet-opera-archive-trace-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-mainnet-opera-archive-trace:
|
||||
1
fantom-mainnet-opera-archive-trace.yml
Symbolic link
1
fantom-mainnet-opera-archive-trace.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
fantom/opera/fantom-mainnet-opera-archive-trace.yml
|
||||
1
fantom-testnet-archive.yml
Symbolic link
1
fantom-testnet-archive.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
fantom/sonic/fantom-testnet-sonic-archive.yml
|
||||
@@ -1,33 +0,0 @@
|
||||
version: "3.1"
|
||||
services:
|
||||
fantom-testnet:
|
||||
build:
|
||||
args:
|
||||
VERSION: release/1.1.3-rc.5
|
||||
context: ./fantom
|
||||
dockerfile: Dockerfile-testnet
|
||||
stop_grace_period: 3m
|
||||
environment:
|
||||
- CACHE_SIZE=${FANTOM_CACHE_SIZE:-16000}
|
||||
volumes:
|
||||
- "fantom-testnet:/datadir"
|
||||
expose:
|
||||
- "18544"
|
||||
- "44629"
|
||||
ports:
|
||||
- "44629:44629"
|
||||
- "44629:44629/udp"
|
||||
networks:
|
||||
- chains
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-testnet-stripprefix.stripprefix.prefixes=/fantom-testnet"
|
||||
- "traefik.http.services.fantom-testnet.loadbalancer.server.port=18544"
|
||||
- "traefik.http.routers.fantom-testnet.entrypoints=websecure"
|
||||
- "traefik.http.routers.fantom-testnet.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.fantom-testnet.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-testnet`)"
|
||||
- "traefik.http.routers.fantom-testnet.middlewares=fantom-testnet-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-testnet:
|
||||
1
fantom-testnet.yml
Symbolic link
1
fantom-testnet.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
fantom/opera/fantom-testnet-opera-pruned-traces.yml
|
||||
30
fantom/Dockerfile.opera
Normal file
30
fantom/Dockerfile.opera
Normal file
@@ -0,0 +1,30 @@
|
||||
# Build Fantom in a stock Go builder container
|
||||
FROM golang:1.19-alpine as builder
|
||||
|
||||
# Install packages we need
|
||||
RUN apk add --no-cache make gcc musl-dev linux-headers git
|
||||
|
||||
# Make a folder to work in
|
||||
RUN mkdir /fantom
|
||||
|
||||
# Grab VERSION from Build Args
|
||||
ARG VERSION
|
||||
ARG REPO
|
||||
|
||||
# Clone the repo to that folder
|
||||
RUN git clone --branch ${VERSION} ${REPO:-https://github.com/Fantom-foundation/go-opera.git} /fantom
|
||||
|
||||
# Build Fantom
|
||||
RUN cd /fantom && make
|
||||
|
||||
# Pull Fantom into a second stage deploy alpine container
|
||||
FROM alpine:latest
|
||||
|
||||
RUN apk add --no-cache ca-certificates wget tzdata
|
||||
COPY --from=builder /fantom/build/opera /usr/local/bin/
|
||||
|
||||
VOLUME /datadir
|
||||
|
||||
COPY ./scripts/entrypoint.opera.sh /usr/local/bin/entrypoint.sh
|
||||
RUN chmod u+x /usr/local/bin/entrypoint.sh
|
||||
ENTRYPOINT [ "/usr/local/bin/entrypoint.sh" ]
|
||||
26
fantom/Dockerfile.sonic
Normal file
26
fantom/Dockerfile.sonic
Normal file
@@ -0,0 +1,26 @@
|
||||
FROM golang:1.22 as builder
|
||||
|
||||
ARG VERSION
|
||||
ARG REPO
|
||||
|
||||
RUN apt-get update && apt-get install -y git musl-dev make
|
||||
|
||||
RUN cd /go && git clone ${REPO:-https://github.com/Fantom-foundation/sonic.git} sonic && cd sonic && git fetch --tags && git checkout -b ${VERSION} tags/${VERSION}
|
||||
|
||||
WORKDIR /go/sonic
|
||||
|
||||
ARG GOPROXY
|
||||
RUN go mod download
|
||||
RUN make all
|
||||
|
||||
FROM golang:1.22
|
||||
|
||||
COPY --from=builder /go/sonic/build/sonicd /usr/local/bin/
|
||||
COPY --from=builder /go/sonic/build/sonictool /usr/local/bin/
|
||||
|
||||
COPY ./scripts/entrypoint.sonic.sh /usr/local/bin/entrypoint.sh
|
||||
|
||||
VOLUME /var/sonic
|
||||
|
||||
RUN chmod u+x /usr/local/bin/entrypoint.sh
|
||||
ENTRYPOINT [ "/usr/local/bin/entrypoint.sh" ]
|
||||
55
fantom/opera/fantom-mainnet-opera-archive-trace.yml
Normal file
55
fantom/opera/fantom-mainnet-opera-archive-trace.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
services:
|
||||
fantom-mainnet-archive:
|
||||
build:
|
||||
context: ./fantom
|
||||
dockerfile: Dockerfile.opera
|
||||
args:
|
||||
VERSION: "${FANTOM_OPERA_VERSION:-release/txtracing/1.1.3-rc.5}"
|
||||
REPO: "https://github.com/Fantom-foundation/go-opera.git"
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- "fantom-mainnet-opera-archive-trace:/datadir"
|
||||
expose:
|
||||
- "8545"
|
||||
ports:
|
||||
- "10897:10897"
|
||||
- "10897:10897/udp"
|
||||
networks:
|
||||
- chains
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- "GENESIS=https://download.fantom.network/opera/mainnet/mainnet-5577-full-mpt.g"
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--port=10897
|
||||
--nat=extip:${IP}
|
||||
--maxpeers=200
|
||||
--http
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--http.corsdomain="*"
|
||||
--http.vhosts="*"
|
||||
--ws
|
||||
--ws.addr=0.0.0.0
|
||||
--ws.port=8545
|
||||
--ws.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--ws.origins="*"
|
||||
--rpc.gascap=600000000
|
||||
--db.migration.mode reformat
|
||||
--db.preset pbl-1
|
||||
--syncmode=full
|
||||
--cache=${FANTOM_MAINNET_OPERA_ARCHIVE_TRACE_CACHE_MB:-16000}
|
||||
--tracenode
|
||||
--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
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-mainnet-opera-archive-trace-stripprefix.stripprefix.prefixes=/fantom-mainnet-archive"
|
||||
- "traefik.http.services.fantom-mainnet-opera-archive-trace.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-archive-trace.entrypoints=websecure"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-archive-trace.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-mainnet-archive`)"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-archive-trace.middlewares=fantom-mainnet-opera-archive-trace-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-mainnet-opera-archive-trace:
|
||||
55
fantom/opera/fantom-mainnet-opera-archive.yml
Normal file
55
fantom/opera/fantom-mainnet-opera-archive.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
services:
|
||||
fantom-mainnet-archive:
|
||||
build:
|
||||
context: ./fantom
|
||||
dockerfile: Dockerfile.opera
|
||||
args:
|
||||
VERSION: "${FANTOM_OPERA_VERSION:-v1.1.3-rc.5}"
|
||||
REPO: "https://github.com/Fantom-foundation/go-opera.git"
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- "fantom-mainnet-opera-archive:/datadir"
|
||||
expose:
|
||||
- "8545"
|
||||
ports:
|
||||
- "10723:10723"
|
||||
- "10723:10723/udp"
|
||||
networks:
|
||||
- chains
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- "GENESIS=https://download.fantom.network/opera/mainnet/mainnet-5577-full-mpt.g"
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--port=10723
|
||||
--nat=extip:${IP}
|
||||
--maxpeers=200
|
||||
--http
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--http.corsdomain="*"
|
||||
--http.vhosts="*"
|
||||
--ws
|
||||
--ws.addr=0.0.0.0
|
||||
--ws.port=8545
|
||||
--ws.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--ws.origins="*"
|
||||
--rpc.gascap=600000000
|
||||
--db.migration.mode reformat
|
||||
--db.preset pbl-1
|
||||
--syncmode=full
|
||||
--cache=${FANTOM_MAINNET_OPERA_ARCHIVE_CACHE_MB:-16000}
|
||||
|
||||
--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
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-mainnet-opera-archive-stripprefix.stripprefix.prefixes=/fantom-mainnet-archive"
|
||||
- "traefik.http.services.fantom-mainnet-opera-archive.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-archive.entrypoints=websecure"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-archive.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-mainnet-archive`)"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-archive.middlewares=fantom-mainnet-opera-archive-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-mainnet-opera-archive:
|
||||
55
fantom/opera/fantom-mainnet-opera-pruned-trace.yml
Normal file
55
fantom/opera/fantom-mainnet-opera-pruned-trace.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
services:
|
||||
fantom-mainnet:
|
||||
build:
|
||||
context: ./fantom
|
||||
dockerfile: Dockerfile.opera
|
||||
args:
|
||||
VERSION: "${FANTOM_OPERA_VERSION:-release/txtracing/1.1.3-rc.5}"
|
||||
REPO: "https://github.com/Fantom-foundation/go-opera.git"
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- "fantom-mainnet-opera-pruned-trace:/datadir"
|
||||
expose:
|
||||
- "8545"
|
||||
ports:
|
||||
- "10916:10916"
|
||||
- "10916:10916/udp"
|
||||
networks:
|
||||
- chains
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- "GENESIS=https://download.fantom.network/opera/mainnet/mainnet-109331-no-history.g"
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--port=10916
|
||||
--nat=extip:${IP}
|
||||
--maxpeers=200
|
||||
--http
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--http.corsdomain="*"
|
||||
--http.vhosts="*"
|
||||
--ws
|
||||
--ws.addr=0.0.0.0
|
||||
--ws.port=8545
|
||||
--ws.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--ws.origins="*"
|
||||
--rpc.gascap=600000000
|
||||
--db.migration.mode reformat
|
||||
--db.preset pbl-1
|
||||
--syncmode=snap
|
||||
--cache=${FANTOM_MAINNET_OPERA_PRUNED_TRACE_CACHE_MB:-16000}
|
||||
--tracenode
|
||||
--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
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-mainnet-opera-pruned-trace-stripprefix.stripprefix.prefixes=/fantom-mainnet"
|
||||
- "traefik.http.services.fantom-mainnet-opera-pruned-trace.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-pruned-trace.entrypoints=websecure"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-pruned-trace.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-pruned-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-mainnet`)"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-pruned-trace.middlewares=fantom-mainnet-opera-pruned-trace-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-mainnet-opera-pruned-trace:
|
||||
55
fantom/opera/fantom-mainnet-opera-pruned.yml
Normal file
55
fantom/opera/fantom-mainnet-opera-pruned.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
services:
|
||||
fantom-mainnet:
|
||||
build:
|
||||
context: ./fantom
|
||||
dockerfile: Dockerfile.opera
|
||||
args:
|
||||
VERSION: "${FANTOM_OPERA_VERSION:-v1.1.3-rc.5}"
|
||||
REPO: "https://github.com/Fantom-foundation/go-opera.git"
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- "fantom-mainnet-opera-pruned:/datadir"
|
||||
expose:
|
||||
- "8545"
|
||||
ports:
|
||||
- "10439:10439"
|
||||
- "10439:10439/udp"
|
||||
networks:
|
||||
- chains
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- "GENESIS=https://download.fantom.network/opera/mainnet/mainnet-109331-no-history.g"
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--port=10439
|
||||
--nat=extip:${IP}
|
||||
--maxpeers=200
|
||||
--http
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--http.corsdomain="*"
|
||||
--http.vhosts="*"
|
||||
--ws
|
||||
--ws.addr=0.0.0.0
|
||||
--ws.port=8545
|
||||
--ws.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--ws.origins="*"
|
||||
--rpc.gascap=600000000
|
||||
--db.migration.mode reformat
|
||||
--db.preset pbl-1
|
||||
--syncmode=snap
|
||||
--cache=${FANTOM_MAINNET_OPERA_PRUNED_CACHE_MB:-16000}
|
||||
|
||||
--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
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-mainnet-opera-pruned-stripprefix.stripprefix.prefixes=/fantom-mainnet"
|
||||
- "traefik.http.services.fantom-mainnet-opera-pruned.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-pruned.entrypoints=websecure"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-pruned.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-pruned.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-mainnet`)"
|
||||
- "traefik.http.routers.fantom-mainnet-opera-pruned.middlewares=fantom-mainnet-opera-pruned-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-mainnet-opera-pruned:
|
||||
55
fantom/opera/fantom-testnet-opera-archive-trace.yml
Normal file
55
fantom/opera/fantom-testnet-opera-archive-trace.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
services:
|
||||
fantom-testnet-archive:
|
||||
build:
|
||||
context: ./fantom
|
||||
dockerfile: Dockerfile.opera
|
||||
args:
|
||||
VERSION: "${FANTOM_OPERA_VERSION:-release/txtracing/1.1.3-rc.5}"
|
||||
REPO: "https://github.com/Fantom-foundation/go-opera.git"
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- "fantom-testnet-opera-archive-trace:/datadir"
|
||||
expose:
|
||||
- "8545"
|
||||
ports:
|
||||
- "10196:10196"
|
||||
- "10196:10196/udp"
|
||||
networks:
|
||||
- chains
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- "GENESIS=https://download.fantom.network/opera/testnet/testnet-2458-full-mpt.g"
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--port=10196
|
||||
--nat=extip:${IP}
|
||||
--maxpeers=200
|
||||
--http
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--http.corsdomain="*"
|
||||
--http.vhosts="*"
|
||||
--ws
|
||||
--ws.addr=0.0.0.0
|
||||
--ws.port=8545
|
||||
--ws.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--ws.origins="*"
|
||||
--rpc.gascap=600000000
|
||||
--db.migration.mode reformat
|
||||
--db.preset pbl-1
|
||||
--syncmode=full
|
||||
--cache=${FANTOM_TESTNET_OPERA_ARCHIVE_TRACE_CACHE_MB:-16000}
|
||||
--tracenode
|
||||
--bootnodes=enode://2411cdad2780bf969c0bd6f19b53ac6683710d50f19a7604248d8a6a810d3d6369dffb08535530095c151ecad143393e4fbca2d11f62377fe15b3df4d9883053@34.172.30.235:5050,enode://6f434dc43f826f7c3c817ba7fbe7842aa47c50d1e77a6b57ec51313fd88c7f006240baa105b795712922a05e1b548d413ea6d32d8c1c8feb9ffc206a6c9e37ce@34.55.131.153:5050,enode://64e69ec1f30be48aa8d5f3e6cadf15d06d846d40918f3906e6efbc4a3421f0cc04e3e4f88569b5c90306bbc16ca15df6898ad71b8a73aa36284f1c3076f2956e@35.195.64.211:5050,enode://a76d94105f12d3fb5c31df5a59448d95b723d94543620a02f72ee990e048c43df940f4969ab06d436ef8976c49ec9c2a671c2f5af8d93af911cef63de329a8b8@35.239.100.93:5050,enode://baea3b72d091cb361283af4933da32406d707d3bb077a42c77a58cf98e27b546da837e6e9524d8588f414e1886a3b17e036b86fd2d723170db93831a22324252@35.241.219.197:5050,enode://544f06ceaddcf508a13326d95518a524e14f4980723c9dc5cb8560635a7faa7f8f91483faed19dacd7d251abf72b4a1b0bcacaced1255deb93414d097221a9bc@35.224.88.189:5050,enode://baea3b72d091cb361283af4933da32406d707d3bb077a42c77a58cf98e27b546da837e6e9524d8588f414e1886a3b17e036b86fd2d723170db93831a22324252@35.241.219.197:5050,enode://2cd3fcfe9671d81c0e8bb76bc81a430882ce5d99199c20a004da97bec48e9b03c02c3b6d95edb77498ce2dd8e090c4ce76349e775af7540b04a6e9303e5b69cd@104.155.31.23:5050
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-testnet-opera-archive-trace-stripprefix.stripprefix.prefixes=/fantom-testnet-archive"
|
||||
- "traefik.http.services.fantom-testnet-opera-archive-trace.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.fantom-testnet-opera-archive-trace.entrypoints=websecure"
|
||||
- "traefik.http.routers.fantom-testnet-opera-archive-trace.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.fantom-testnet-opera-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-testnet-archive`)"
|
||||
- "traefik.http.routers.fantom-testnet-opera-archive-trace.middlewares=fantom-testnet-opera-archive-trace-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-testnet-opera-archive-trace:
|
||||
55
fantom/opera/fantom-testnet-opera-archive.yml
Normal file
55
fantom/opera/fantom-testnet-opera-archive.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
services:
|
||||
fantom-testnet-archive:
|
||||
build:
|
||||
context: ./fantom
|
||||
dockerfile: Dockerfile.opera
|
||||
args:
|
||||
VERSION: "${FANTOM_OPERA_VERSION:-v1.1.3-rc.5}"
|
||||
REPO: "https://github.com/Fantom-foundation/go-opera.git"
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- "fantom-testnet-opera-archive:/datadir"
|
||||
expose:
|
||||
- "8545"
|
||||
ports:
|
||||
- "10055:10055"
|
||||
- "10055:10055/udp"
|
||||
networks:
|
||||
- chains
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- "GENESIS=https://download.fantom.network/opera/testnet/testnet-2458-full-mpt.g"
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--port=10055
|
||||
--nat=extip:${IP}
|
||||
--maxpeers=200
|
||||
--http
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--http.corsdomain="*"
|
||||
--http.vhosts="*"
|
||||
--ws
|
||||
--ws.addr=0.0.0.0
|
||||
--ws.port=8545
|
||||
--ws.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--ws.origins="*"
|
||||
--rpc.gascap=600000000
|
||||
--db.migration.mode reformat
|
||||
--db.preset pbl-1
|
||||
--syncmode=full
|
||||
--cache=${FANTOM_TESTNET_OPERA_ARCHIVE_CACHE_MB:-16000}
|
||||
|
||||
--bootnodes=enode://2411cdad2780bf969c0bd6f19b53ac6683710d50f19a7604248d8a6a810d3d6369dffb08535530095c151ecad143393e4fbca2d11f62377fe15b3df4d9883053@34.172.30.235:5050,enode://6f434dc43f826f7c3c817ba7fbe7842aa47c50d1e77a6b57ec51313fd88c7f006240baa105b795712922a05e1b548d413ea6d32d8c1c8feb9ffc206a6c9e37ce@34.55.131.153:5050,enode://64e69ec1f30be48aa8d5f3e6cadf15d06d846d40918f3906e6efbc4a3421f0cc04e3e4f88569b5c90306bbc16ca15df6898ad71b8a73aa36284f1c3076f2956e@35.195.64.211:5050,enode://a76d94105f12d3fb5c31df5a59448d95b723d94543620a02f72ee990e048c43df940f4969ab06d436ef8976c49ec9c2a671c2f5af8d93af911cef63de329a8b8@35.239.100.93:5050,enode://baea3b72d091cb361283af4933da32406d707d3bb077a42c77a58cf98e27b546da837e6e9524d8588f414e1886a3b17e036b86fd2d723170db93831a22324252@35.241.219.197:5050,enode://544f06ceaddcf508a13326d95518a524e14f4980723c9dc5cb8560635a7faa7f8f91483faed19dacd7d251abf72b4a1b0bcacaced1255deb93414d097221a9bc@35.224.88.189:5050,enode://baea3b72d091cb361283af4933da32406d707d3bb077a42c77a58cf98e27b546da837e6e9524d8588f414e1886a3b17e036b86fd2d723170db93831a22324252@35.241.219.197:5050,enode://2cd3fcfe9671d81c0e8bb76bc81a430882ce5d99199c20a004da97bec48e9b03c02c3b6d95edb77498ce2dd8e090c4ce76349e775af7540b04a6e9303e5b69cd@104.155.31.23:5050
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-testnet-opera-archive-stripprefix.stripprefix.prefixes=/fantom-testnet-archive"
|
||||
- "traefik.http.services.fantom-testnet-opera-archive.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.fantom-testnet-opera-archive.entrypoints=websecure"
|
||||
- "traefik.http.routers.fantom-testnet-opera-archive.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.fantom-testnet-opera-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-testnet-archive`)"
|
||||
- "traefik.http.routers.fantom-testnet-opera-archive.middlewares=fantom-testnet-opera-archive-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-testnet-opera-archive:
|
||||
55
fantom/opera/fantom-testnet-opera-pruned-trace.yml
Normal file
55
fantom/opera/fantom-testnet-opera-pruned-trace.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
services:
|
||||
fantom-testnet:
|
||||
build:
|
||||
context: ./fantom
|
||||
dockerfile: Dockerfile.opera
|
||||
args:
|
||||
VERSION: "${FANTOM_OPERA_VERSION:-release/txtracing/1.1.3-rc.5}"
|
||||
REPO: "https://github.com/Fantom-foundation/go-opera.git"
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- "fantom-testnet-opera-pruned-trace:/datadir"
|
||||
expose:
|
||||
- "8545"
|
||||
ports:
|
||||
- "10037:10037"
|
||||
- "10037:10037/udp"
|
||||
networks:
|
||||
- chains
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- "GENESIS=https://download.fantom.network/opera/testnet/testnet-6226-no-history.g"
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--port=10037
|
||||
--nat=extip:${IP}
|
||||
--maxpeers=200
|
||||
--http
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--http.corsdomain="*"
|
||||
--http.vhosts="*"
|
||||
--ws
|
||||
--ws.addr=0.0.0.0
|
||||
--ws.port=8545
|
||||
--ws.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--ws.origins="*"
|
||||
--rpc.gascap=600000000
|
||||
--db.migration.mode reformat
|
||||
--db.preset pbl-1
|
||||
--syncmode=snap
|
||||
--cache=${FANTOM_TESTNET_OPERA_PRUNED_TRACE_CACHE_MB:-16000}
|
||||
--tracenode
|
||||
--bootnodes=enode://2411cdad2780bf969c0bd6f19b53ac6683710d50f19a7604248d8a6a810d3d6369dffb08535530095c151ecad143393e4fbca2d11f62377fe15b3df4d9883053@34.172.30.235:5050,enode://6f434dc43f826f7c3c817ba7fbe7842aa47c50d1e77a6b57ec51313fd88c7f006240baa105b795712922a05e1b548d413ea6d32d8c1c8feb9ffc206a6c9e37ce@34.55.131.153:5050,enode://64e69ec1f30be48aa8d5f3e6cadf15d06d846d40918f3906e6efbc4a3421f0cc04e3e4f88569b5c90306bbc16ca15df6898ad71b8a73aa36284f1c3076f2956e@35.195.64.211:5050,enode://a76d94105f12d3fb5c31df5a59448d95b723d94543620a02f72ee990e048c43df940f4969ab06d436ef8976c49ec9c2a671c2f5af8d93af911cef63de329a8b8@35.239.100.93:5050,enode://baea3b72d091cb361283af4933da32406d707d3bb077a42c77a58cf98e27b546da837e6e9524d8588f414e1886a3b17e036b86fd2d723170db93831a22324252@35.241.219.197:5050,enode://544f06ceaddcf508a13326d95518a524e14f4980723c9dc5cb8560635a7faa7f8f91483faed19dacd7d251abf72b4a1b0bcacaced1255deb93414d097221a9bc@35.224.88.189:5050,enode://baea3b72d091cb361283af4933da32406d707d3bb077a42c77a58cf98e27b546da837e6e9524d8588f414e1886a3b17e036b86fd2d723170db93831a22324252@35.241.219.197:5050,enode://2cd3fcfe9671d81c0e8bb76bc81a430882ce5d99199c20a004da97bec48e9b03c02c3b6d95edb77498ce2dd8e090c4ce76349e775af7540b04a6e9303e5b69cd@104.155.31.23:5050
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-testnet-opera-pruned-trace-stripprefix.stripprefix.prefixes=/fantom-testnet"
|
||||
- "traefik.http.services.fantom-testnet-opera-pruned-trace.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.fantom-testnet-opera-pruned-trace.entrypoints=websecure"
|
||||
- "traefik.http.routers.fantom-testnet-opera-pruned-trace.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.fantom-testnet-opera-pruned-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-testnet`)"
|
||||
- "traefik.http.routers.fantom-testnet-opera-pruned-trace.middlewares=fantom-testnet-opera-pruned-trace-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-testnet-opera-pruned-trace:
|
||||
55
fantom/opera/fantom-testnet-opera-pruned.yml
Normal file
55
fantom/opera/fantom-testnet-opera-pruned.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
services:
|
||||
fantom-testnet:
|
||||
build:
|
||||
context: ./fantom
|
||||
dockerfile: Dockerfile.opera
|
||||
args:
|
||||
VERSION: "${FANTOM_OPERA_VERSION:-v1.1.3-rc.5}"
|
||||
REPO: "https://github.com/Fantom-foundation/go-opera.git"
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- "fantom-testnet-opera-pruned:/datadir"
|
||||
expose:
|
||||
- "8545"
|
||||
ports:
|
||||
- "10846:10846"
|
||||
- "10846:10846/udp"
|
||||
networks:
|
||||
- chains
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- "GENESIS=https://download.fantom.network/opera/testnet/testnet-6226-no-history.g"
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--port=10846
|
||||
--nat=extip:${IP}
|
||||
--maxpeers=200
|
||||
--http
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--http.corsdomain="*"
|
||||
--http.vhosts="*"
|
||||
--ws
|
||||
--ws.addr=0.0.0.0
|
||||
--ws.port=8545
|
||||
--ws.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm,sfc
|
||||
--ws.origins="*"
|
||||
--rpc.gascap=600000000
|
||||
--db.migration.mode reformat
|
||||
--db.preset pbl-1
|
||||
--syncmode=snap
|
||||
--cache=${FANTOM_TESTNET_OPERA_PRUNED_CACHE_MB:-16000}
|
||||
|
||||
--bootnodes=enode://2411cdad2780bf969c0bd6f19b53ac6683710d50f19a7604248d8a6a810d3d6369dffb08535530095c151ecad143393e4fbca2d11f62377fe15b3df4d9883053@34.172.30.235:5050,enode://6f434dc43f826f7c3c817ba7fbe7842aa47c50d1e77a6b57ec51313fd88c7f006240baa105b795712922a05e1b548d413ea6d32d8c1c8feb9ffc206a6c9e37ce@34.55.131.153:5050,enode://64e69ec1f30be48aa8d5f3e6cadf15d06d846d40918f3906e6efbc4a3421f0cc04e3e4f88569b5c90306bbc16ca15df6898ad71b8a73aa36284f1c3076f2956e@35.195.64.211:5050,enode://a76d94105f12d3fb5c31df5a59448d95b723d94543620a02f72ee990e048c43df940f4969ab06d436ef8976c49ec9c2a671c2f5af8d93af911cef63de329a8b8@35.239.100.93:5050,enode://baea3b72d091cb361283af4933da32406d707d3bb077a42c77a58cf98e27b546da837e6e9524d8588f414e1886a3b17e036b86fd2d723170db93831a22324252@35.241.219.197:5050,enode://544f06ceaddcf508a13326d95518a524e14f4980723c9dc5cb8560635a7faa7f8f91483faed19dacd7d251abf72b4a1b0bcacaced1255deb93414d097221a9bc@35.224.88.189:5050,enode://baea3b72d091cb361283af4933da32406d707d3bb077a42c77a58cf98e27b546da837e6e9524d8588f414e1886a3b17e036b86fd2d723170db93831a22324252@35.241.219.197:5050,enode://2cd3fcfe9671d81c0e8bb76bc81a430882ce5d99199c20a004da97bec48e9b03c02c3b6d95edb77498ce2dd8e090c4ce76349e775af7540b04a6e9303e5b69cd@104.155.31.23:5050
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-testnet-opera-pruned-stripprefix.stripprefix.prefixes=/fantom-testnet"
|
||||
- "traefik.http.services.fantom-testnet-opera-pruned.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.fantom-testnet-opera-pruned.entrypoints=websecure"
|
||||
- "traefik.http.routers.fantom-testnet-opera-pruned.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.fantom-testnet-opera-pruned.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-testnet`)"
|
||||
- "traefik.http.routers.fantom-testnet-opera-pruned.middlewares=fantom-testnet-opera-pruned-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-testnet-opera-pruned:
|
||||
@@ -16,7 +16,7 @@ fi
|
||||
# uncomment the next line and do docker-compose build in case you have to try to fix the db after unclean shutdown etc.
|
||||
# opera --db.preset pbl-1 --datadir=$FANTOM_HOME db heal --experimental
|
||||
|
||||
opera \
|
||||
exec opera \
|
||||
--genesis=$FANTOM_HOME/testnet-16200-pruned-mpt.g \
|
||||
--port=44629 \
|
||||
--maxpeers=200 \
|
||||
@@ -24,14 +24,15 @@ opera \
|
||||
--http \
|
||||
--http.addr=0.0.0.0 \
|
||||
--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 \
|
||||
--http.corsdomain="*" \
|
||||
--http.vhosts="*" \
|
||||
--ws \
|
||||
--ws.addr=0.0.0.0 \
|
||||
--ws.port=18544 \
|
||||
--ws.api=ftm,eth,debug,admin,web3,personal,net,txpool,sfc \
|
||||
--ws.api=ftm,eth,debug,admin,web3,personal,net,txpool \
|
||||
--ws.origins="*" \
|
||||
--nat=extip:${IP} \
|
||||
--nousb \
|
||||
--db.migration.mode reformat \
|
||||
--db.preset pbl-1 \
|
||||
|
||||
34
fantom/scripts/entrypoint.opera.sh
Normal file
34
fantom/scripts/entrypoint.opera.sh
Normal file
@@ -0,0 +1,34 @@
|
||||
#!/bin/sh
|
||||
|
||||
# exit script on any error
|
||||
set -e
|
||||
|
||||
datadir=/datadir
|
||||
FANTOM_HOME="$datadir"
|
||||
|
||||
url="${GENESIS:-https://download.fantom.network/opera/mainnet/mainnet-5577-full-mpt.g}"
|
||||
filename=$(basename "$url")
|
||||
|
||||
if [ ! -f "$datadir/bootstrapped" ]; then
|
||||
echo "Initializing Opera..."
|
||||
|
||||
if [ ! -f "$datadir/$filename" ]; then
|
||||
wget -P "$datadir" "$url"
|
||||
fi
|
||||
|
||||
touch "$datadir/bootstrapped"
|
||||
|
||||
echo "Initialization complete."
|
||||
else
|
||||
echo "Opera is already initialized."
|
||||
fi
|
||||
|
||||
# uncomment the next line and do docker-compose build in case you have to try to fix the db after unclean shutdown etc.
|
||||
# opera --db.preset pbl-1 --datadir=$datadir db heal --experimental
|
||||
|
||||
# always make a new nodekey
|
||||
|
||||
echo "Generating new Geth node key..."
|
||||
openssl rand 32 | xxd -p -c 32 | tr -d '\n' > "$datadir/nodekey"
|
||||
|
||||
exec opera --nodekey="$datadir/nodekey" --genesis="$datadir/$filename" --datadir="$datadir" "$@"
|
||||
26
fantom/scripts/entrypoint.sonic.sh
Normal file
26
fantom/scripts/entrypoint.sonic.sh
Normal file
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
datadir=/var/sonic
|
||||
|
||||
if [ ! -f "$datadir/initialized" ]; then
|
||||
echo "Initializing Sonic..."
|
||||
|
||||
url="${GENESIS:-https://download.fantom.network/opera/mainnet/mainnet-5577-archive.g}"
|
||||
filename=$(basename "$url")
|
||||
|
||||
wget -P "$datadir" "$url"
|
||||
|
||||
GOMEMLIMIT="${CACHE_GB}GiB" sonictool --datadir "$datadir" --cache "${CACHE_GB}000" genesis "$datadir/$filename"
|
||||
rm "$datadir/$filename"
|
||||
|
||||
touch "$datadir/initialized"
|
||||
|
||||
echo "Initialization complete."
|
||||
else
|
||||
echo "Sonic is already initialized."
|
||||
fi
|
||||
|
||||
echo "Generating new Geth node key..."
|
||||
openssl rand 32 | xxd -p -c 32 | tr -d '\n' > "$datadir/nodekey"
|
||||
|
||||
exec sonicd --nodekey "$datadir/nodekey" --cache "${CACHE_GB}000" --datadir "$datadir" "$@"
|
||||
51
fantom/sonic/fantom-mainnet-sonic-archive.yml
Normal file
51
fantom/sonic/fantom-mainnet-sonic-archive.yml
Normal file
@@ -0,0 +1,51 @@
|
||||
services:
|
||||
fantom-mainnet-archive:
|
||||
build:
|
||||
context: ./fantom
|
||||
dockerfile: Dockerfile.sonic
|
||||
args:
|
||||
VERSION: "${FANTOM_SONIC_VERSION:-v1.2.1-h}"
|
||||
REPO: "https://github.com/Fantom-foundation/sonic.git"
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- "fantom-mainnet-sonic-archive:/var/sonic"
|
||||
expose:
|
||||
- "8545"
|
||||
ports:
|
||||
- "10335:10335"
|
||||
- "10335:10335/udp"
|
||||
networks:
|
||||
- chains
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- "GENESIS=https://download.fantom.network/mainnet-latest-archive.g"
|
||||
- "CACHE_GB=${FANTOM_MAINNET_SONIC_CACHE_GB:-28}"
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--port=10335
|
||||
--nat=extip:${IP}
|
||||
--maxpeers=200
|
||||
--http
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm
|
||||
--http.corsdomain="*"
|
||||
--http.vhosts="*"
|
||||
--ws
|
||||
--ws.addr=0.0.0.0
|
||||
--ws.port=8545
|
||||
--ws.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm
|
||||
--ws.origins="*"
|
||||
--rpc.gascap=600000000
|
||||
--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
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-mainnet-sonic-archive-stripprefix.stripprefix.prefixes=/fantom-mainnet-archive"
|
||||
- "traefik.http.services.fantom-mainnet-sonic-archive.loadbalancer.server.port=18544"
|
||||
- "traefik.http.routers.fantom-mainnet-sonic-archive.entrypoints=websecure"
|
||||
- "traefik.http.routers.fantom-mainnet-sonic-archive.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.fantom-mainnet-sonic-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-mainnet-archive`)"
|
||||
- "traefik.http.routers.fantom-mainnet-sonic-archive.middlewares=fantom-mainnet-sonic-archive-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-mainnet-sonic-archive:
|
||||
51
fantom/sonic/fantom-testnet-sonic-archive.yml
Normal file
51
fantom/sonic/fantom-testnet-sonic-archive.yml
Normal file
@@ -0,0 +1,51 @@
|
||||
services:
|
||||
fantom-testnet-archive:
|
||||
build:
|
||||
context: ./fantom
|
||||
dockerfile: Dockerfile.sonic
|
||||
args:
|
||||
VERSION: "${FANTOM_SONIC_VERSION:-v1.2.1-h}"
|
||||
REPO: "https://github.com/Fantom-foundation/sonic.git"
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- "fantom-testnet-sonic-archive:/var/sonic"
|
||||
expose:
|
||||
- "8545"
|
||||
ports:
|
||||
- "10652:10652"
|
||||
- "10652:10652/udp"
|
||||
networks:
|
||||
- chains
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- "GENESIS=https://download.fantom.network/opera/testnet/testnet-26650-rpc.g"
|
||||
- "CACHE_GB=${FANTOM_TESTNET_SONIC_CACHE_GB:-28}"
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
--port=10652
|
||||
--nat=extip:${IP}
|
||||
--maxpeers=200
|
||||
--http
|
||||
--http.addr=0.0.0.0
|
||||
--http.port=8545
|
||||
--http.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm
|
||||
--http.corsdomain="*"
|
||||
--http.vhosts="*"
|
||||
--ws
|
||||
--ws.addr=0.0.0.0
|
||||
--ws.port=8545
|
||||
--ws.api=admin,debug,web3,eth,dag,txpool,personal,abft,net,trace,ftm
|
||||
--ws.origins="*"
|
||||
--rpc.gascap=600000000
|
||||
--bootnodes=enode://2411cdad2780bf969c0bd6f19b53ac6683710d50f19a7604248d8a6a810d3d6369dffb08535530095c151ecad143393e4fbca2d11f62377fe15b3df4d9883053@34.172.30.235:5050,enode://6f434dc43f826f7c3c817ba7fbe7842aa47c50d1e77a6b57ec51313fd88c7f006240baa105b795712922a05e1b548d413ea6d32d8c1c8feb9ffc206a6c9e37ce@34.55.131.153:5050,enode://64e69ec1f30be48aa8d5f3e6cadf15d06d846d40918f3906e6efbc4a3421f0cc04e3e4f88569b5c90306bbc16ca15df6898ad71b8a73aa36284f1c3076f2956e@35.195.64.211:5050,enode://a76d94105f12d3fb5c31df5a59448d95b723d94543620a02f72ee990e048c43df940f4969ab06d436ef8976c49ec9c2a671c2f5af8d93af911cef63de329a8b8@35.239.100.93:5050,enode://baea3b72d091cb361283af4933da32406d707d3bb077a42c77a58cf98e27b546da837e6e9524d8588f414e1886a3b17e036b86fd2d723170db93831a22324252@35.241.219.197:5050,enode://544f06ceaddcf508a13326d95518a524e14f4980723c9dc5cb8560635a7faa7f8f91483faed19dacd7d251abf72b4a1b0bcacaced1255deb93414d097221a9bc@35.224.88.189:5050,enode://baea3b72d091cb361283af4933da32406d707d3bb077a42c77a58cf98e27b546da837e6e9524d8588f414e1886a3b17e036b86fd2d723170db93831a22324252@35.241.219.197:5050,enode://2cd3fcfe9671d81c0e8bb76bc81a430882ce5d99199c20a004da97bec48e9b03c02c3b6d95edb77498ce2dd8e090c4ce76349e775af7540b04a6e9303e5b69cd@104.155.31.23:5050
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.fantom-testnet-sonic-archive-stripprefix.stripprefix.prefixes=/fantom-testnet-archive"
|
||||
- "traefik.http.services.fantom-testnet-sonic-archive.loadbalancer.server.port=18544"
|
||||
- "traefik.http.routers.fantom-testnet-sonic-archive.entrypoints=websecure"
|
||||
- "traefik.http.routers.fantom-testnet-sonic-archive.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.fantom-testnet-sonic-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/fantom-testnet-archive`)"
|
||||
- "traefik.http.routers.fantom-testnet-sonic-archive.middlewares=fantom-testnet-sonic-archive-stripprefix, ipwhitelist"
|
||||
|
||||
volumes:
|
||||
fantom-testnet-sonic-archive:
|
||||
18
get-block.sh
Executable file
18
get-block.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
is_decimal() {
|
||||
[[ $1 =~ ^[0-9]+$ ]]
|
||||
}
|
||||
|
||||
block_input=${2:-latest}
|
||||
|
||||
if is_decimal "$block_input"; then
|
||||
# Convert decimal to hexadecimal
|
||||
block_input="0x$(printf "%x" "$block_input")"
|
||||
fi
|
||||
|
||||
request="{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"${block_input}\", false],\"id\":1}"
|
||||
|
||||
echo "${request}"
|
||||
|
||||
curl -s -X POST "${1}" -H "Content-Type: application/json" --data "${request}" | jq -r '.result.number, .result.hash' | gawk '{if (NR==1) print "Block Number:", strtonum($0); else print "Block Hash:", $0}'
|
||||
@@ -20,11 +20,14 @@ services:
|
||||
"--ws",
|
||||
"--ws.port=8545",
|
||||
"--ws.addr=0.0.0.0",
|
||||
"--ws.origins=*",
|
||||
"--ws.api=debug,eth,net,web3,txpool",
|
||||
# Enable the HTTP-RPC server
|
||||
"--http",
|
||||
"--http.port=8545",
|
||||
"--http.addr=0.0.0.0",
|
||||
"--http.vhosts=*",
|
||||
"--http.api=admin,debug,eth,net,web3,txpool",
|
||||
# Enable GraphQL on the HTTP-RPC server. Note that GraphQL can only be started if an HTTP server is started as well.
|
||||
"--graphql",
|
||||
"--graphql.vhosts=*",
|
||||
|
||||
@@ -16,17 +16,18 @@ services:
|
||||
"--state.scheme=path",
|
||||
"--db.engine=pebble",
|
||||
"--port=49545",
|
||||
"--discovery.port=49545",
|
||||
# Megabytes of memory allocated to internal caching
|
||||
"--cache=8192",
|
||||
# Enable the WS-RPC server
|
||||
"--ws",
|
||||
"--ws.api=eth,net,web3,personal,txpool",
|
||||
"--ws.api=eth,net,debug,web3,personal,txpool",
|
||||
"--ws.port=8545",
|
||||
"--ws.addr=0.0.0.0",
|
||||
"--ws.origins=*",
|
||||
# Enable the HTTP-RPC server
|
||||
"--http",
|
||||
"--http.api=eth,net,web3,personal,txpool",
|
||||
"--http.api=eth,net,debug,admin,web3,personal,txpool",
|
||||
"--http.port=8545",
|
||||
"--http.addr=0.0.0.0",
|
||||
"--http.vhosts=*",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
|
||||
goat-mainnet:
|
||||
image: ghcr.io/goatnetwork/goat-geth:v0.2.2
|
||||
image: ghcr.io/goatnetwork/goat-geth:v0.3.0
|
||||
stop_grace_period: 5m
|
||||
restart: unless-stopped
|
||||
#healthcheck:
|
||||
@@ -47,7 +47,7 @@ services:
|
||||
- chains
|
||||
|
||||
goat-mainnet-node:
|
||||
image: ghcr.io/goatnetwork/goat:v0.2.2
|
||||
image: ghcr.io/goatnetwork/goat:v0.2.3
|
||||
stop_grace_period: 30s
|
||||
restart: unless-stopped
|
||||
entrypoint: /entrypoint.sh
|
||||
|
||||
@@ -2,7 +2,7 @@ services:
|
||||
|
||||
|
||||
goat-testnet:
|
||||
image: ghcr.io/goatnetwork/goat-geth:v0.1.6
|
||||
image: ghcr.io/goatnetwork/goat-geth:v0.1.7
|
||||
stop_grace_period: 5m
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
@@ -50,7 +50,7 @@ services:
|
||||
- chains
|
||||
|
||||
goat-testnet-node:
|
||||
image: ghcr.io/goatnetwork/goat:v0.2.2
|
||||
image: ghcr.io/goatnetwork/goat:v0.2.3
|
||||
stop_grace_period: 30s
|
||||
restart: unless-stopped
|
||||
entrypoint: /entrypoint.sh
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
if [ ! -d "/root/.ethereum/geth/chaindata" ]; then
|
||||
exec geth init /genesis/geth.json
|
||||
else
|
||||
echo "Chain already initialized."
|
||||
fi
|
||||
# if [ ! -d "/root/.ethereum/geth/chaindata" ]; then
|
||||
# exec geth init /genesis/geth.json
|
||||
# else
|
||||
# echo "Chain already initialized."
|
||||
# fi
|
||||
|
||||
exec geth --goat=mainnet
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
echo "Starting initialization steps..."
|
||||
|
||||
# Check if the genesis.json file exists; if not, initialize and copy it
|
||||
if [ ! -f /goat/config/genesis.json ]; then
|
||||
echo "Initializing goatd..."
|
||||
exec goatd init --home /goat mainnet
|
||||
echo "Copying genesis file..."
|
||||
cp /genesis/goat.json /goat/config/genesis.json
|
||||
else
|
||||
echo "Genesis file already exists; skipping initialization."
|
||||
fi
|
||||
# if [ ! -f /goat/config/genesis.json ]; then
|
||||
# echo "Initializing goatd..."
|
||||
# exec goatd init --home /goat mainnet
|
||||
# echo "Copying genesis file..."
|
||||
# cp /genesis/goat.json /goat/config/genesis.json
|
||||
# else
|
||||
# echo "Genesis file already exists; skipping initialization."
|
||||
# fi
|
||||
|
||||
# Pass control to the final command specified in docker-compose.yml
|
||||
exec goatd start --home /goat --chain-id=goat-mainnet --goat.geth /geth/geth.ipc --api.enable --api.address=tcp://0.0.0.0:1317 --p2p.external-address $IP:40258 --p2p.laddr 0.0.0.0:40258
|
||||
|
||||
1
hashkeychain-mainnet.yml
Symbolic link
1
hashkeychain-mainnet.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/hashkeychain-mainnet-op-geth-pruned-pebble-path.yml
|
||||
1
ink-mainnet.yml
Symbolic link
1
ink-mainnet.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/ink-mainnet-op-geth-pruned-pebble-path.yml
|
||||
1
ink-sepolia.yml
Symbolic link
1
ink-sepolia.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/ink-sepolia-op-geth-pruned-pebble-path.yml
|
||||
1
lisk-mainnet.yml
Symbolic link
1
lisk-mainnet.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/lisk-mainnet-op-geth-pruned-pebble-path.yml
|
||||
1
lisk-sepolia.yml
Symbolic link
1
lisk-sepolia.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/lisk-sepolia-op-geth-pruned-pebble-path.yml
|
||||
1
metal-mainnet.yml
Symbolic link
1
metal-mainnet.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/metal-mainnet-op-geth-pruned-pebble-path.yml
|
||||
1
metal-sepolia.yml
Symbolic link
1
metal-sepolia.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/metal-sepolia-op-geth-pruned-pebble-path.yml
|
||||
1
mode-mainnet.yml
Symbolic link
1
mode-mainnet.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/mode-mainnet-op-geth-pruned-pebble-path.yml
|
||||
1
mode-sepolia.yml
Symbolic link
1
mode-sepolia.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/mode-sepolia-op-geth-pruned-pebble-path.yml
|
||||
69
multicurl.sh
Executable file
69
multicurl.sh
Executable file
@@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
|
||||
# echo "$@"
|
||||
|
||||
urls=()
|
||||
options=()
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--url)
|
||||
urls+=("$2")
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
options+=("$1")
|
||||
shift 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ ${#urls[@]} -eq 0 ]]; then
|
||||
echo "No URLs provided"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
original_output=""
|
||||
temp_file=""
|
||||
|
||||
for i in "${!options[@]}"; do
|
||||
if [[ "${options[i]}" == "-o" ]]; then
|
||||
output_file="${options[i+1]}"
|
||||
temp_file=$(mktemp)
|
||||
|
||||
options[i+1]="$temp_file"
|
||||
original_output="$output_file"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
output=""
|
||||
for url in "${urls[@]}"; do
|
||||
#echo "curl -s ${options[@]} $url"
|
||||
output=$(eval "curl -s ${options[@]@Q} '$url' --fail")
|
||||
if [[ $? -eq 0 ]]; then
|
||||
|
||||
if cat "$temp_file" | jq -e 'has("error")' > /dev/null 2>&1; then
|
||||
continue # Try the next URL
|
||||
fi
|
||||
|
||||
if [ -n "$original_output" ]; then
|
||||
#echo "$(cat $temp_file)"
|
||||
cat "$temp_file" > "$original_output"
|
||||
fi
|
||||
|
||||
echo "$output"
|
||||
exit 0
|
||||
else
|
||||
continue
|
||||
fi
|
||||
done
|
||||
|
||||
# Write the final output to the original output file if specified
|
||||
if [ -n "$original_output" ]; then
|
||||
cat "$temp_file" > "$original_output"
|
||||
fi
|
||||
|
||||
# Print the output to stdout
|
||||
echo "$output"
|
||||
exit 1
|
||||
1
op-mainnet.yml
Symbolic link
1
op-mainnet.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/op-mainnet-op-geth-pruned-pebble-path.yml
|
||||
1
op-sepolia.yml
Symbolic link
1
op-sepolia.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/op-sepolia-op-geth-pruned-pebble-path.yml
|
||||
@@ -1,107 +0,0 @@
|
||||
version: '3.1'
|
||||
|
||||
services:
|
||||
op-zora-archive: # this is Optimism's geth client
|
||||
#image: stakesquid/op-zora-mainnet:v0.1
|
||||
build:
|
||||
context: ./op
|
||||
expose:
|
||||
- 8545 # RPC / Websocket
|
||||
- 18322 # P2P TCP (currently unused)
|
||||
- 18322/udp # P2P UDP (currently unused)
|
||||
- 6060 # metrics
|
||||
ports:
|
||||
- "18322:18322"
|
||||
- "18322:18322/udp"
|
||||
command: [ "sh", "./geth-entrypoint" ]
|
||||
restart: always
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- zora-archive:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_GENESIS_FILE_PATH=/app/mainnet/zora/genesis.json"
|
||||
- "GETH_ROLLUP_SEQUENCERHTTP=https://rpc-zora-mainnet-0.t.conduit.xyz"
|
||||
- "GETH_GCMODE=archive"
|
||||
- "GETH_NODISCOVER=true"
|
||||
- "GETH_STATE_SCHEME=hash"
|
||||
- "GETH_DB_ENGINE=leveldb"
|
||||
- "IP=${IP}"
|
||||
- "P2P_PORT=18322"
|
||||
- "WS_PORT=8545"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "HOST_IP=${IP}"
|
||||
- "GETH_OVERRIDE_CANYON=1704992401"
|
||||
- "GETH_OVERRIDE_DELTA=1708560000"
|
||||
- "GETH_OVERRIDE_ECOTONE=1710374401"
|
||||
- "GETH_OVERRIDE_FJORD=1720627201"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.zora-stripprefix.stripprefix.prefixes=/zora-archive"
|
||||
- "traefik.http.services.zora.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.zora.entrypoints=websecure"
|
||||
- "traefik.http.routers.zora.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.zora.rule=Host(`$DOMAIN`) && PathPrefix(`/zora-archive`)"
|
||||
- "traefik.http.routers.zora.middlewares=zora-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
op-zora-archive-node:
|
||||
#image: stakesquid/op-zora-mainnet:v0.1
|
||||
build:
|
||||
context: ./op
|
||||
depends_on:
|
||||
- op-zora-archive
|
||||
expose:
|
||||
- 8545 # RPC
|
||||
- 11398 # P2P TCP
|
||||
- 11398/udp # P2P UDP
|
||||
- 7300 # metrics
|
||||
- 6060 # pprof
|
||||
ports:
|
||||
- "11398:11398"
|
||||
- "11398:11398/udp"
|
||||
command: [ "sh", "./op-node-entrypoint" ]
|
||||
restart: always
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
#- "OP_NODE_NETWORK=zora-mainnet-0"
|
||||
- "OP_NODE_L1_ETH_RPC=${ZORA_MAINNET_L1_ENDPOINT}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://op-zora-archive:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
#- "OP_NODE_P2P_AGENT=zora-mainnet"
|
||||
- "OP_NODE_P2P_BOOTNODES=enode://9d221b41d61cb40162ae573b5ba7063c9535b5088ddc06f87099c461e7969068a54d93cdbd3ab119885481c7aec68f81500b400f36ac1bfef11efa116c1a2c1b@35.227.155.250:9222?discport=30301,enode://d25ce99435982b04d60c4b41ba256b84b888626db7bee45a9419382300fbe907359ae5ef250346785bff8d3b9d07cd3e017a27e2ee3cfda3bcbb0ba762ac9674@bootnode.conduit.xyz:0?discport=30301,enode://2d4e7e9d48f4dd4efe9342706dd1b0024681bd4c3300d021f86fc75eab7865d4e0cbec6fbc883f011cfd6a57423e7e2f6e104baad2b744c3cafaec6bc7dc92c1@34.65.43.171:0?discport=30305,enode://9d7a3efefe442351217e73b3a593bcb8efffb55b4807699972145324eab5e6b382152f8d24f6301baebbfb5ecd4127bd3faab2842c04cd432bdf50ba092f6645@34.65.109.126:0?discport=30305"
|
||||
- "OP_NODE_P2P_STATIC=/ip4/35.227.155.250/tcp/9222/p2p/16Uiu2HAmPENXJ1a1SFj7tSrwuvTM2dXAAKsKjPobXmjds9U76XUB"
|
||||
- "OP_NODE_P2P_AGENT=conduit"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=11398"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=11398"
|
||||
- "OP_NODE_ROLLUP_CONFIG=/app/mainnet/zora/rollup.json"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${ZORA_MAINNET_L1_BATCH_SIZE:-20}"
|
||||
- "OP_NODE_L1_RPC_RATE_LIMIT=${ZORA_MAINNET_L1_RATE_LIMIT:-30}"
|
||||
- "OP_NODE_L1_RPC_KIND=${ZORA_MAINNET_L1_ENDPOINT_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ZORA_MAINNET_L1_ENDPOINT_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ZORA_MAINNET_L1_BEACON_URL}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ZORA_MAINNET_L1_BEACON_ARCHIVER}"
|
||||
- "OP_NODE_OVERRIDE_CANYON=1704992401"
|
||||
- "OP_NODE_OVERRIDE_DELTA=1708560000"
|
||||
- "OP_NODE_OVERRIDE_ECOTONE=1710374401"
|
||||
- "OP_NODE_OVERRIDE_FJORD=1720627201"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
zora-archive:
|
||||
1
op-zora-archive.yml
Symbolic link
1
op-zora-archive.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
op/geth/zora-mainnet-op-geth-archive-leveldb-hash.yml
|
||||
@@ -1,110 +0,0 @@
|
||||
services:
|
||||
op-zora-sepolia: # this is Optimism's geth client
|
||||
#image: stakesquid/op-zora-mainnet:v0.1
|
||||
build:
|
||||
context: ./op
|
||||
expose:
|
||||
- 8545 # RPC / Websocket
|
||||
- 19809 # P2P TCP (currently unused)
|
||||
- 19809/udp # P2P UDP (currently unused)
|
||||
- 6060 # metrics
|
||||
ports:
|
||||
- "19809:19809"
|
||||
- "19809:19809/udp"
|
||||
command: [ "sh", "./geth-entrypoint" ]
|
||||
restart: always
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- zora-sepolia:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_GENESIS_FILE_PATH=/app/sepolia/zora/genesis.json"
|
||||
- "GETH_ROLLUP_SEQUENCERHTTP=https://rpc-zora-sepolia-0thyhxtf5e.t.conduit.xyz"
|
||||
- "GETH_CHAINID=999999999"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_BOOTNODES=enode://cbabcbbc7211399990a1cf7178f3a9efebde7a7a1637f90d293c454ef5f40c367ffd1149733e5e7497657f73043a31eaad67af04737b2112d86202ea01896ee5@35.230.102.175:9222?discport=30301,enode://d25ce99435982b04d60c4b41ba256b84b888626db7bee45a9419382300fbe907359ae5ef250346785bff8d3b9d07cd3e017a27e2ee3cfda3bcbb0ba762ac9674@bootnode.conduit.xyz:0?discport=30301,enode://2d4e7e9d48f4dd4efe9342706dd1b0024681bd4c3300d021f86fc75eab7865d4e0cbec6fbc883f011cfd6a57423e7e2f6e104baad2b744c3cafaec6bc7dc92c1@34.65.43.171:0?discport=30305,enode://9d7a3efefe442351217e73b3a593bcb8efffb55b4807699972145324eab5e6b382152f8d24f6301baebbfb5ecd4127bd3faab2842c04cd432bdf50ba092f6645@34.65.109.126:0?discport=30305"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "IP=${IP}"
|
||||
- "P2P_PORT=19809"
|
||||
- "WS_PORT=8545"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "HOST_IP=${IP}"
|
||||
- "GETH_OVERRIDE_CANYON=0"
|
||||
- "GETH_OVERRIDE_DELTA=0"
|
||||
- "GETH_OVERRIDE_ECOTONE=1708534800"
|
||||
- "GETH_OVERRIDE_FJORD=1716998400"
|
||||
- "GETH_OVERRIDE_GRANITE=1723478400"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.zora-stripprefix.stripprefix.prefixes=/zora-sepolia"
|
||||
- "traefik.http.services.zora.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.zora.entrypoints=websecure"
|
||||
- "traefik.http.routers.zora.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.zora.rule=Host(`$DOMAIN`) && PathPrefix(`/zora-sepolia`)"
|
||||
- "traefik.http.routers.zora.middlewares=zora-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
op-zora-sepolia-node:
|
||||
#image: stakesquid/op-zora-mainnet:v0.1
|
||||
build:
|
||||
context: ./op
|
||||
depends_on:
|
||||
- op-zora-sepolia
|
||||
expose:
|
||||
- 8545 # RPC
|
||||
- 3306 # P2P TCP
|
||||
- 3306/udp # P2P UDP
|
||||
- 7300 # metrics
|
||||
- 6060 # pprof
|
||||
ports:
|
||||
- "3306:3306"
|
||||
- "3306:3306/udp"
|
||||
command: [ "sh", "./op-node-entrypoint" ]
|
||||
restart: always
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
#- "OP_NODE_NETWORK=zora-sepolia-0thyhxtf5e"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ZORA_SEPOLIA_L1_ENDPOINT}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://op-zora-sepolia:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
#- "OP_NODE_P2P_AGENT=zora-sepolia"
|
||||
#- "OP_NODE_P2P_BOOTNODES=enode://cbabcbbc7211399990a1cf7178f3a9efebde7a7a1637f90d293c454ef5f40c367ffd1149733e5e7497657f73043a31eaad67af04737b2112d86202ea01896ee5@35.230.102.175:9222?discport=30301,enode://d25ce99435982b04d60c4b41ba256b84b888626db7bee45a9419382300fbe907359ae5ef250346785bff8d3b9d07cd3e017a27e2ee3cfda3bcbb0ba762ac9674@bootnode.conduit.xyz:0?discport=30301,enode://2d4e7e9d48f4dd4efe9342706dd1b0024681bd4c3300d021f86fc75eab7865d4e0cbec6fbc883f011cfd6a57423e7e2f6e104baad2b744c3cafaec6bc7dc92c1@34.65.43.171:0?discport=30305,enode://9d7a3efefe442351217e73b3a593bcb8efffb55b4807699972145324eab5e6b382152f8d24f6301baebbfb5ecd4127bd3faab2842c04cd432bdf50ba092f6645@34.65.109.126:0?discport=30305"
|
||||
- "OP_NODE_P2P_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd"
|
||||
- "OP_NODE_P2P_AGENT=conduit"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=3306"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=3306"
|
||||
- "OP_NODE_ROLLUP_CONFIG=/app/sepolia/zora/rollup.json"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${ZORA_SEPOLIA_L1_BATCH_SIZE:-20}"
|
||||
- "OP_NODE_L1_RPC_RATE_LIMIT=${ZORA_SEPOLIA_L1_RATE_LIMIT:-30}"
|
||||
- "OP_NODE_L1_RPC_KIND=${ZORA_SEPOLIA_L1_ENDPOINT_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ZORA_SEPOLIA_L1_ENDPOINT_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ZORA_SEPOLIA_L1_BEACON_URL}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ZORA_SEPOLIA_L1_BEACON_ARCHIVER}"
|
||||
- "OP_NODE_OVERRIDE_DELTA=0"
|
||||
- "OP_NODE_OVERRIDE_CANYON=0"
|
||||
- "OP_NODE_OVERRIDE_ECOTONE=1708534800"
|
||||
- "OP_NODE_OVERRIDE_FJORD=1716998400"
|
||||
- "OP_NODE_OVERRIDE_GRANITE=1723478400"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
zora-sepolia:
|
||||
1
op-zora-sepolia-pbss.yml
Symbolic link
1
op-zora-sepolia-pbss.yml
Symbolic link
@@ -0,0 +1 @@
|
||||
zora-sepolia-op-geth-pruned-pebble-path.yml
|
||||
1
op/.dockerignore
Normal file
1
op/.dockerignore
Normal file
@@ -0,0 +1 @@
|
||||
geth
|
||||
99
op/geth/base-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
99
op/geth/base-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
base-mainnet-archive:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10596:10596"
|
||||
- "10596:10596/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- base-mainnet-op-geth-archive-leveldb-hash:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=base-mainnet"
|
||||
- "GETH_GCMODE=archive"
|
||||
- "GETH_SYNCMODE=full"
|
||||
- "GETH_STATE_SCHEME=hash"
|
||||
- "GETH_DB_ENGINE=leveldb"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.base-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/base-mainnet-archive"
|
||||
- "traefik.http.services.base-mainnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.base-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.base-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.base-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/base-mainnet-archive`)"
|
||||
- "traefik.http.routers.base-mainnet-op-geth-archive-leveldb-hash.middlewares=base-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
base-mainnet-archive-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15596:15596"
|
||||
- "15596:15596/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=base-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://base-mainnet-archive:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15596"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15596"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
base-mainnet-op-geth-archive-leveldb-hash:
|
||||
99
op/geth/base-mainnet-op-geth-pruned-pebble-path.yml
Normal file
99
op/geth/base-mainnet-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
base-mainnet:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10422:10422"
|
||||
- "10422:10422/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- base-mainnet-op-geth-pruned-pebble-path:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=base-mainnet"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.base-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/base-mainnet"
|
||||
- "traefik.http.services.base-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.base-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.base-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.base-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/base-mainnet`)"
|
||||
- "traefik.http.routers.base-mainnet-op-geth-pruned-pebble-path.middlewares=base-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
base-mainnet-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15422:15422"
|
||||
- "15422:15422/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=base-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://base-mainnet:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15422"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15422"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
base-mainnet-op-geth-pruned-pebble-path:
|
||||
99
op/geth/base-sepolia-op-geth-archive-leveldb-hash.yml
Normal file
99
op/geth/base-sepolia-op-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
base-sepolia-archive:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10910:10910"
|
||||
- "10910:10910/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- base-sepolia-op-geth-archive-leveldb-hash:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=base-sepolia"
|
||||
- "GETH_GCMODE=archive"
|
||||
- "GETH_SYNCMODE=full"
|
||||
- "GETH_STATE_SCHEME=hash"
|
||||
- "GETH_DB_ENGINE=leveldb"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.base-sepolia-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/base-sepolia-archive"
|
||||
- "traefik.http.services.base-sepolia-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.base-sepolia-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.base-sepolia-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.base-sepolia-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/base-sepolia-archive`)"
|
||||
- "traefik.http.routers.base-sepolia-op-geth-archive-leveldb-hash.middlewares=base-sepolia-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
base-sepolia-archive-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15910:15910"
|
||||
- "15910:15910/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=base-sepolia"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://base-sepolia-archive:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15910"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15910"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_SEPOLIA_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
|
||||
- "OP_NODE_OVERRIDE_PECTRABLOBSCHEDULE=1742486400"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
base-sepolia-op-geth-archive-leveldb-hash:
|
||||
99
op/geth/base-sepolia-op-geth-pruned-pebble-path.yml
Normal file
99
op/geth/base-sepolia-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
base-sepolia:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10022:10022"
|
||||
- "10022:10022/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- base-sepolia-op-geth-pruned-pebble-path:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=base-sepolia"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.base-sepolia-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/base-sepolia"
|
||||
- "traefik.http.services.base-sepolia-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.base-sepolia-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.base-sepolia-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.base-sepolia-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/base-sepolia`)"
|
||||
- "traefik.http.routers.base-sepolia-op-geth-pruned-pebble-path.middlewares=base-sepolia-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
base-sepolia-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15022:15022"
|
||||
- "15022:15022/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=base-sepolia"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://base-sepolia:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15022"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15022"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_SEPOLIA_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
|
||||
- "OP_NODE_OVERRIDE_PECTRABLOBSCHEDULE=1742486400"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
base-sepolia-op-geth-pruned-pebble-path:
|
||||
99
op/geth/bob-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
99
op/geth/bob-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
bob-mainnet-archive:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10046:10046"
|
||||
- "10046:10046/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- bob-mainnet-op-geth-archive-leveldb-hash:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=bob-mainnet"
|
||||
- "GETH_GCMODE=archive"
|
||||
- "GETH_SYNCMODE=full"
|
||||
- "GETH_STATE_SCHEME=hash"
|
||||
- "GETH_DB_ENGINE=leveldb"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.bob-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/bob-mainnet-archive"
|
||||
- "traefik.http.services.bob-mainnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.bob-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.bob-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.bob-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/bob-mainnet-archive`)"
|
||||
- "traefik.http.routers.bob-mainnet-op-geth-archive-leveldb-hash.middlewares=bob-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
bob-mainnet-archive-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15046:15046"
|
||||
- "15046:15046/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=bob-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://bob-mainnet-archive:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15046"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15046"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
bob-mainnet-op-geth-archive-leveldb-hash:
|
||||
99
op/geth/bob-mainnet-op-geth-pruned-pebble-path.yml
Normal file
99
op/geth/bob-mainnet-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
bob-mainnet:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10347:10347"
|
||||
- "10347:10347/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- bob-mainnet-op-geth-pruned-pebble-path:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=bob-mainnet"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.bob-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/bob-mainnet"
|
||||
- "traefik.http.services.bob-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.bob-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.bob-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.bob-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/bob-mainnet`)"
|
||||
- "traefik.http.routers.bob-mainnet-op-geth-pruned-pebble-path.middlewares=bob-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
bob-mainnet-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15347:15347"
|
||||
- "15347:15347/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=bob-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://bob-mainnet:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15347"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15347"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
bob-mainnet-op-geth-pruned-pebble-path:
|
||||
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
hashkeychain-mainnet-archive:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10113:10113"
|
||||
- "10113:10113/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- hashkeychain-mainnet-op-geth-archive-leveldb-hash:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=hashkeychain-mainnet"
|
||||
- "GETH_GCMODE=archive"
|
||||
- "GETH_SYNCMODE=full"
|
||||
- "GETH_STATE_SCHEME=hash"
|
||||
- "GETH_DB_ENGINE=leveldb"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.hashkeychain-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/hashkeychain-mainnet-archive"
|
||||
- "traefik.http.services.hashkeychain-mainnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.hashkeychain-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.hashkeychain-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.hashkeychain-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/hashkeychain-mainnet-archive`)"
|
||||
- "traefik.http.routers.hashkeychain-mainnet-op-geth-archive-leveldb-hash.middlewares=hashkeychain-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
hashkeychain-mainnet-archive-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15113:15113"
|
||||
- "15113:15113/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=hashkeychain-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://hashkeychain-mainnet-archive:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15113"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15113"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
hashkeychain-mainnet-op-geth-archive-leveldb-hash:
|
||||
99
op/geth/hashkeychain-mainnet-op-geth-pruned-pebble-path.yml
Normal file
99
op/geth/hashkeychain-mainnet-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
hashkeychain-mainnet:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10188:10188"
|
||||
- "10188:10188/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- hashkeychain-mainnet-op-geth-pruned-pebble-path:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=hashkeychain-mainnet"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.hashkeychain-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/hashkeychain-mainnet"
|
||||
- "traefik.http.services.hashkeychain-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.hashkeychain-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.hashkeychain-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.hashkeychain-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/hashkeychain-mainnet`)"
|
||||
- "traefik.http.routers.hashkeychain-mainnet-op-geth-pruned-pebble-path.middlewares=hashkeychain-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
hashkeychain-mainnet-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15188:15188"
|
||||
- "15188:15188/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=hashkeychain-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://hashkeychain-mainnet:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15188"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15188"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
hashkeychain-mainnet-op-geth-pruned-pebble-path:
|
||||
99
op/geth/ink-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
99
op/geth/ink-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
ink-mainnet-archive:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10713:10713"
|
||||
- "10713:10713/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- ink-mainnet-op-geth-archive-leveldb-hash:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=ink-mainnet"
|
||||
- "GETH_GCMODE=archive"
|
||||
- "GETH_SYNCMODE=full"
|
||||
- "GETH_STATE_SCHEME=hash"
|
||||
- "GETH_DB_ENGINE=leveldb"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.ink-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/ink-mainnet-archive"
|
||||
- "traefik.http.services.ink-mainnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.ink-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.ink-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.ink-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/ink-mainnet-archive`)"
|
||||
- "traefik.http.routers.ink-mainnet-op-geth-archive-leveldb-hash.middlewares=ink-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
ink-mainnet-archive-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15713:15713"
|
||||
- "15713:15713/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=ink-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://ink-mainnet-archive:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15713"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15713"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
ink-mainnet-op-geth-archive-leveldb-hash:
|
||||
99
op/geth/ink-mainnet-op-geth-pruned-pebble-path.yml
Normal file
99
op/geth/ink-mainnet-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
ink-mainnet:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10271:10271"
|
||||
- "10271:10271/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- ink-mainnet-op-geth-pruned-pebble-path:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=ink-mainnet"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.ink-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/ink-mainnet"
|
||||
- "traefik.http.services.ink-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.ink-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.ink-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.ink-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/ink-mainnet`)"
|
||||
- "traefik.http.routers.ink-mainnet-op-geth-pruned-pebble-path.middlewares=ink-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
ink-mainnet-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15271:15271"
|
||||
- "15271:15271/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=ink-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://ink-mainnet:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15271"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15271"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
ink-mainnet-op-geth-pruned-pebble-path:
|
||||
99
op/geth/ink-sepolia-op-geth-archive-leveldb-hash.yml
Normal file
99
op/geth/ink-sepolia-op-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
ink-sepolia-archive:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10659:10659"
|
||||
- "10659:10659/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- ink-sepolia-op-geth-archive-leveldb-hash:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=ink-sepolia"
|
||||
- "GETH_GCMODE=archive"
|
||||
- "GETH_SYNCMODE=full"
|
||||
- "GETH_STATE_SCHEME=hash"
|
||||
- "GETH_DB_ENGINE=leveldb"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.ink-sepolia-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/ink-sepolia-archive"
|
||||
- "traefik.http.services.ink-sepolia-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.ink-sepolia-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.ink-sepolia-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.ink-sepolia-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/ink-sepolia-archive`)"
|
||||
- "traefik.http.routers.ink-sepolia-op-geth-archive-leveldb-hash.middlewares=ink-sepolia-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
ink-sepolia-archive-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15659:15659"
|
||||
- "15659:15659/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=ink-sepolia"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://ink-sepolia-archive:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15659"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15659"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_SEPOLIA_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
|
||||
- "OP_NODE_OVERRIDE_PECTRABLOBSCHEDULE=1742486400"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
ink-sepolia-op-geth-archive-leveldb-hash:
|
||||
99
op/geth/ink-sepolia-op-geth-pruned-pebble-path.yml
Normal file
99
op/geth/ink-sepolia-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
ink-sepolia:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10869:10869"
|
||||
- "10869:10869/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- ink-sepolia-op-geth-pruned-pebble-path:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=ink-sepolia"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.ink-sepolia-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/ink-sepolia"
|
||||
- "traefik.http.services.ink-sepolia-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.ink-sepolia-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.ink-sepolia-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.ink-sepolia-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/ink-sepolia`)"
|
||||
- "traefik.http.routers.ink-sepolia-op-geth-pruned-pebble-path.middlewares=ink-sepolia-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
ink-sepolia-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15869:15869"
|
||||
- "15869:15869/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=ink-sepolia"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://ink-sepolia:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15869"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15869"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_SEPOLIA_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
|
||||
- "OP_NODE_OVERRIDE_PECTRABLOBSCHEDULE=1742486400"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
ink-sepolia-op-geth-pruned-pebble-path:
|
||||
99
op/geth/lisk-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
99
op/geth/lisk-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
lisk-mainnet-archive:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10157:10157"
|
||||
- "10157:10157/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- lisk-mainnet-op-geth-archive-leveldb-hash:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=lisk-mainnet"
|
||||
- "GETH_GCMODE=archive"
|
||||
- "GETH_SYNCMODE=full"
|
||||
- "GETH_STATE_SCHEME=hash"
|
||||
- "GETH_DB_ENGINE=leveldb"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.lisk-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/lisk-mainnet-archive"
|
||||
- "traefik.http.services.lisk-mainnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.lisk-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.lisk-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.lisk-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/lisk-mainnet-archive`)"
|
||||
- "traefik.http.routers.lisk-mainnet-op-geth-archive-leveldb-hash.middlewares=lisk-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
lisk-mainnet-archive-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15157:15157"
|
||||
- "15157:15157/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=lisk-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://lisk-mainnet-archive:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15157"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15157"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
lisk-mainnet-op-geth-archive-leveldb-hash:
|
||||
99
op/geth/lisk-mainnet-op-geth-pruned-pebble-path.yml
Normal file
99
op/geth/lisk-mainnet-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
lisk-mainnet:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10971:10971"
|
||||
- "10971:10971/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- lisk-mainnet-op-geth-pruned-pebble-path:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=lisk-mainnet"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.lisk-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/lisk-mainnet"
|
||||
- "traefik.http.services.lisk-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.lisk-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.lisk-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.lisk-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/lisk-mainnet`)"
|
||||
- "traefik.http.routers.lisk-mainnet-op-geth-pruned-pebble-path.middlewares=lisk-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
lisk-mainnet-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15971:15971"
|
||||
- "15971:15971/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=lisk-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://lisk-mainnet:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15971"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15971"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
lisk-mainnet-op-geth-pruned-pebble-path:
|
||||
99
op/geth/lisk-sepolia-op-geth-archive-leveldb-hash.yml
Normal file
99
op/geth/lisk-sepolia-op-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
lisk-sepolia-archive:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: v1.12.1
|
||||
GETH_VERSION: v1.101503.1
|
||||
OP_PATCH: sepolia/lisk/op-node.patch
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10457:10457"
|
||||
- "10457:10457/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- lisk-sepolia-op-geth-archive-leveldb-hash:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=lisk-sepolia"
|
||||
- "GETH_GCMODE=archive"
|
||||
- "GETH_SYNCMODE=full"
|
||||
- "GETH_STATE_SCHEME=hash"
|
||||
- "GETH_DB_ENGINE=leveldb"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.lisk-sepolia-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/lisk-sepolia-archive"
|
||||
- "traefik.http.services.lisk-sepolia-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.lisk-sepolia-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.lisk-sepolia-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.lisk-sepolia-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/lisk-sepolia-archive`)"
|
||||
- "traefik.http.routers.lisk-sepolia-op-geth-archive-leveldb-hash.middlewares=lisk-sepolia-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
lisk-sepolia-archive-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: v1.12.1
|
||||
GETH_VERSION: v1.101503.1
|
||||
OP_PATCH: sepolia/lisk/op-node.patch
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15457:15457"
|
||||
- "15457:15457/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=lisk-sepolia"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://lisk-sepolia-archive:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15457"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15457"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_SEPOLIA_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
|
||||
- "OP_NODE_OVERRIDE_PECTRABLOBSCHEDULE=1742486400"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
lisk-sepolia-op-geth-archive-leveldb-hash:
|
||||
99
op/geth/lisk-sepolia-op-geth-pruned-pebble-path.yml
Normal file
99
op/geth/lisk-sepolia-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
lisk-sepolia:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: v1.12.1
|
||||
GETH_VERSION: v1.101503.1
|
||||
OP_PATCH: sepolia/lisk/op-node.patch
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10490:10490"
|
||||
- "10490:10490/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- lisk-sepolia-op-geth-pruned-pebble-path:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=lisk-sepolia"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.lisk-sepolia-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/lisk-sepolia"
|
||||
- "traefik.http.services.lisk-sepolia-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.lisk-sepolia-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.lisk-sepolia-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.lisk-sepolia-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/lisk-sepolia`)"
|
||||
- "traefik.http.routers.lisk-sepolia-op-geth-pruned-pebble-path.middlewares=lisk-sepolia-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
lisk-sepolia-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: v1.12.1
|
||||
GETH_VERSION: v1.101503.1
|
||||
OP_PATCH: sepolia/lisk/op-node.patch
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15490:15490"
|
||||
- "15490:15490/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=lisk-sepolia"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://lisk-sepolia:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15490"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15490"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_SEPOLIA_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
|
||||
- "OP_NODE_OVERRIDE_PECTRABLOBSCHEDULE=1742486400"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
lisk-sepolia-op-geth-pruned-pebble-path:
|
||||
99
op/geth/metal-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
99
op/geth/metal-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
metal-mainnet-archive:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10324:10324"
|
||||
- "10324:10324/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- metal-mainnet-op-geth-archive-leveldb-hash:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=metal-mainnet"
|
||||
- "GETH_GCMODE=archive"
|
||||
- "GETH_SYNCMODE=full"
|
||||
- "GETH_STATE_SCHEME=hash"
|
||||
- "GETH_DB_ENGINE=leveldb"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.metal-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/metal-mainnet-archive"
|
||||
- "traefik.http.services.metal-mainnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.metal-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.metal-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.metal-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/metal-mainnet-archive`)"
|
||||
- "traefik.http.routers.metal-mainnet-op-geth-archive-leveldb-hash.middlewares=metal-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
metal-mainnet-archive-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15324:15324"
|
||||
- "15324:15324/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=metal-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://metal-mainnet-archive:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15324"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15324"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
metal-mainnet-op-geth-archive-leveldb-hash:
|
||||
99
op/geth/metal-mainnet-op-geth-pruned-pebble-path.yml
Normal file
99
op/geth/metal-mainnet-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
metal-mainnet:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10821:10821"
|
||||
- "10821:10821/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- metal-mainnet-op-geth-pruned-pebble-path:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=metal-mainnet"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.metal-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/metal-mainnet"
|
||||
- "traefik.http.services.metal-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.metal-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.metal-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.metal-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/metal-mainnet`)"
|
||||
- "traefik.http.routers.metal-mainnet-op-geth-pruned-pebble-path.middlewares=metal-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
metal-mainnet-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15821:15821"
|
||||
- "15821:15821/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=metal-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://metal-mainnet:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15821"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15821"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
metal-mainnet-op-geth-pruned-pebble-path:
|
||||
99
op/geth/metal-sepolia-op-geth-archive-leveldb-hash.yml
Normal file
99
op/geth/metal-sepolia-op-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
metal-sepolia-archive:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10770:10770"
|
||||
- "10770:10770/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- metal-sepolia-op-geth-archive-leveldb-hash:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=metal-sepolia"
|
||||
- "GETH_GCMODE=archive"
|
||||
- "GETH_SYNCMODE=full"
|
||||
- "GETH_STATE_SCHEME=hash"
|
||||
- "GETH_DB_ENGINE=leveldb"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.metal-sepolia-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/metal-sepolia-archive"
|
||||
- "traefik.http.services.metal-sepolia-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.metal-sepolia-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.metal-sepolia-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.metal-sepolia-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/metal-sepolia-archive`)"
|
||||
- "traefik.http.routers.metal-sepolia-op-geth-archive-leveldb-hash.middlewares=metal-sepolia-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
metal-sepolia-archive-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15770:15770"
|
||||
- "15770:15770/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=metal-sepolia"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://metal-sepolia-archive:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15770"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15770"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_SEPOLIA_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
|
||||
- "OP_NODE_OVERRIDE_PECTRABLOBSCHEDULE=1742486400"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
metal-sepolia-op-geth-archive-leveldb-hash:
|
||||
99
op/geth/metal-sepolia-op-geth-pruned-pebble-path.yml
Normal file
99
op/geth/metal-sepolia-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
metal-sepolia:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10701:10701"
|
||||
- "10701:10701/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- metal-sepolia-op-geth-pruned-pebble-path:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=metal-sepolia"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.metal-sepolia-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/metal-sepolia"
|
||||
- "traefik.http.services.metal-sepolia-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.metal-sepolia-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.metal-sepolia-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.metal-sepolia-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/metal-sepolia`)"
|
||||
- "traefik.http.routers.metal-sepolia-op-geth-pruned-pebble-path.middlewares=metal-sepolia-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
metal-sepolia-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15701:15701"
|
||||
- "15701:15701/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=metal-sepolia"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://metal-sepolia:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15701"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15701"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_SEPOLIA_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
|
||||
- "OP_NODE_OVERRIDE_PECTRABLOBSCHEDULE=1742486400"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
metal-sepolia-op-geth-pruned-pebble-path:
|
||||
99
op/geth/mode-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
99
op/geth/mode-mainnet-op-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
mode-mainnet-archive:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10430:10430"
|
||||
- "10430:10430/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- mode-mainnet-op-geth-archive-leveldb-hash:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=mode-mainnet"
|
||||
- "GETH_GCMODE=archive"
|
||||
- "GETH_SYNCMODE=full"
|
||||
- "GETH_STATE_SCHEME=hash"
|
||||
- "GETH_DB_ENGINE=leveldb"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.mode-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/mode-mainnet-archive"
|
||||
- "traefik.http.services.mode-mainnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.mode-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure"
|
||||
- "traefik.http.routers.mode-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.mode-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/mode-mainnet-archive`)"
|
||||
- "traefik.http.routers.mode-mainnet-op-geth-archive-leveldb-hash.middlewares=mode-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
mode-mainnet-archive-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15430:15430"
|
||||
- "15430:15430/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=mode-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://mode-mainnet-archive:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15430"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15430"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
mode-mainnet-op-geth-archive-leveldb-hash:
|
||||
99
op/geth/mode-mainnet-op-geth-pruned-pebble-path.yml
Normal file
99
op/geth/mode-mainnet-op-geth-pruned-pebble-path.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
services:
|
||||
mode-mainnet:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
ports:
|
||||
- "10054:10054"
|
||||
- "10054:10054/udp"
|
||||
entrypoint: [ "./geth" ]
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 3m
|
||||
volumes:
|
||||
- mode-mainnet-op-geth-pruned-pebble-path:/data
|
||||
- .jwtsecret:/jwtsecret
|
||||
environment:
|
||||
- "GETH_DATADIR=/data"
|
||||
- "GETH_OP_NETWORK=mode-mainnet"
|
||||
- "GETH_GCMODE=full"
|
||||
- "GETH_SYNCMODE=snap"
|
||||
- "GETH_STATE_SCHEME=path"
|
||||
- "GETH_DB_ENGINE=pebble"
|
||||
- "GETH_NAT=extip:${IP}"
|
||||
- "GETH_PORT=19809"
|
||||
- "GETH_WS_PORT=8545"
|
||||
- "GETH_HTTP=true"
|
||||
- "GETH_HTTP_ADDR=0.0.0.0"
|
||||
- "GETH_HTTP_VHOSTS=*"
|
||||
- "GETH_WS=true"
|
||||
- "GETH_WS_ADDR=0.0.0.0"
|
||||
- "GETH_WS_ORIGINS=*"
|
||||
- "GETH_HTTP_API=eth,net,debug,admin,web3"
|
||||
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
|
||||
- "GETH_AUTHRPC_ADDR=0.0.0.0"
|
||||
- "GETH_AUTHRPC_VHOSTS=*"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.mode-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/mode-mainnet"
|
||||
- "traefik.http.services.mode-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.mode-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
|
||||
- "traefik.http.routers.mode-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.mode-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/mode-mainnet`)"
|
||||
- "traefik.http.routers.mode-mainnet-op-geth-pruned-pebble-path.middlewares=mode-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
|
||||
networks:
|
||||
- chains
|
||||
|
||||
|
||||
mode-mainnet-node:
|
||||
build:
|
||||
context: ./op
|
||||
args:
|
||||
OP_VERSION: ${OP_NODE_VERSION:-v1.12.2}
|
||||
GETH_VERSION: ${OP_GETH_VERSION:-v1.101503.1}
|
||||
|
||||
expose:
|
||||
- 8545
|
||||
- 7300
|
||||
- 6060
|
||||
ports:
|
||||
- "15054:15054"
|
||||
- "15054:15054/udp"
|
||||
entrypoint: [ "./op-node" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .jwtsecret:/jwtsecret
|
||||
stop_grace_period: 30s
|
||||
environment:
|
||||
- "OP_NODE_NETWORK=mode-mainnet"
|
||||
- "OP_NODE_SYNCMODE=execution-layer"
|
||||
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
|
||||
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
|
||||
- "OP_NODE_L2_ENGINE_RPC=http://mode-mainnet:8551"
|
||||
- "OP_NODE_LOG_LEVEL=info"
|
||||
- "OP_NODE_METRICS_ADDR=0.0.0.0"
|
||||
- "OP_NODE_METRICS_ENABLED=true"
|
||||
- "OP_NODE_METRICS_PORT=7300"
|
||||
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
|
||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=15054"
|
||||
- "OP_NODE_P2P_LISTEN_UDP_PORT=15054"
|
||||
- "OP_NODE_RPC_ADDR=0.0.0.0"
|
||||
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
|
||||
- "OP_NODE_RPC_PORT=8545"
|
||||
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
|
||||
- "OP_NODE_VERIFIER_L1_CONFS=4"
|
||||
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
|
||||
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
|
||||
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
|
||||
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
volumes:
|
||||
mode-mainnet-op-geth-pruned-pebble-path:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user