chainsaw massacre
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,48 +0,0 @@
|
||||
{
|
||||
"genesis": {
|
||||
"l1": {
|
||||
"hash": "0x64728368a04f067bc2abe78c1de17f3711b054c4f3e979955fd8482af85e86db",
|
||||
"number": 2411247
|
||||
},
|
||||
"l2": {
|
||||
"hash": "0xe96cb39b59ebe02553e47424e7f57dbfbffca905c3ff350765985289754a00a3",
|
||||
"number": 26384000
|
||||
},
|
||||
"l2_time": 1727337408,
|
||||
"system_config": {
|
||||
"batcherAddr": "0x6f9cc6bfe1a0b446a36453d150905bbd6a4784e0",
|
||||
"overhead": "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"scalar": "0x00000000000000000000000000000000000000000000000000000000000f4240",
|
||||
"gasLimit": 30000000
|
||||
}
|
||||
},
|
||||
"block_time": 1,
|
||||
"max_sequencer_drift": 1800,
|
||||
"seq_window_size": 3600,
|
||||
"channel_timeout": 300,
|
||||
"l1_chain_id": 17000,
|
||||
"l2_chain_id": 44787,
|
||||
"regolith_time": 0,
|
||||
"cel2_time": 0,
|
||||
"canyon_time": 0,
|
||||
"delta_time": 0,
|
||||
"ecotone_time": 0,
|
||||
"fjord_time": 0,
|
||||
"granite_time": 0,
|
||||
"batch_inbox_address": "0xfff0000000000000000000000000000000044787",
|
||||
"deposit_contract_address": "0x82527353927d8d069b3b452904c942da149ba381",
|
||||
"l1_system_config_address": "0x499b0c1f4bdc76d61b1d13b03384eac65faf50c7",
|
||||
"protocol_versions_address": "0x0000000000000000000000000000000000000000",
|
||||
"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
|
||||
}
|
||||
}
|
||||
|
||||
100
celo/geth/celo-alfajores-geth-archive-leveldb-hash.yml
Normal file
100
celo/geth/celo-alfajores-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,100 @@
|
||||
# use at your own risk
|
||||
|
||||
services:
|
||||
celo-alfajores-archive:
|
||||
image: ${CELO_GETH_IMAGE:-us.gcr.io/celo-org/geth}:${CELO_ALFAJORES_GETH_VERSION:-1.8.9}
|
||||
user: root
|
||||
ulimits:
|
||||
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||
sysctls:
|
||||
# TCP Performance
|
||||
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
||||
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
|
||||
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
|
||||
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
|
||||
net.core.somaxconn: 32768 # Higher connection queue
|
||||
# Memory/Connection Management
|
||||
net.core.netdev_max_backlog: 50000 # Increase network buffer
|
||||
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
|
||||
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
|
||||
expose:
|
||||
- 8545
|
||||
- 8551
|
||||
|
||||
ports:
|
||||
- 10386:10386
|
||||
- 10386:10386/udp
|
||||
volumes:
|
||||
- ${CELO_ALFAJORES_GETH_ARCHIVE_LEVELDB_HASH_DATA:-celo-alfajores-geth-archive-leveldb-hash}:/root/.celo
|
||||
- /slowdisk:/slowdisk
|
||||
|
||||
command:
|
||||
- --datadir=/root/.celo
|
||||
- --port=10386
|
||||
- --bind=0.0.0.0
|
||||
- --nat=extip:${IP}
|
||||
- --http
|
||||
- --http.port=8545
|
||||
- --http.vhosts=*
|
||||
- --ws
|
||||
- --ws.port=8545
|
||||
- --ws.origins=*
|
||||
- --ws.addr=0.0.0.0
|
||||
- --http.addr=0.0.0.0
|
||||
- --maxpeers=50
|
||||
- --http.api=eth,net,web3,debug,admin,txpool
|
||||
- --ws.api=eth,net,web3,debug,admin,txpool
|
||||
|
||||
- --rpc.gascap=600000000
|
||||
- --rpc.returndatalimit=10000000
|
||||
- --rpc.txfeecap=0
|
||||
|
||||
- --db.engine=leveldb
|
||||
- --state.scheme=hash
|
||||
- --syncmode=full
|
||||
- --gcmode=archive
|
||||
|
||||
networks:
|
||||
- chains
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 5m
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.middlewares.celo-alfajores-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-alfajores-archive
|
||||
- traefik.http.services.celo-alfajores-geth-archive-leveldb-hash.loadbalancer.server.port=8545
|
||||
- ${NO_SSL:-traefik.http.routers.celo-alfajores-geth-archive-leveldb-hash.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.celo-alfajores-geth-archive-leveldb-hash.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.celo-alfajores-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/celo-alfajores-archive`)}
|
||||
- ${NO_SSL:+traefik.http.routers.celo-alfajores-geth-archive-leveldb-hash.rule=PathPrefix(`/celo-alfajores-archive`)}
|
||||
- traefik.http.routers.celo-alfajores-geth-archive-leveldb-hash.middlewares=celo-alfajores-geth-archive-leveldb-hash-stripprefix, ipwhitelist
|
||||
|
||||
volumes:
|
||||
celo-alfajores-geth-archive-leveldb-hash:
|
||||
celo-alfajores-geth-archive-leveldb-hash_prysm:
|
||||
|
||||
x-upstreams:
|
||||
- chain: celo-alfajores
|
||||
method-groups:
|
||||
enabled:
|
||||
- debug
|
||||
- filter
|
||||
|
||||
methods:
|
||||
disabled:
|
||||
enabled:
|
||||
# standard geth only
|
||||
- name: debug_getRawBlock
|
||||
- name: debug_getRawTransaction
|
||||
- name: debug_getRawReceipts
|
||||
- name: debug_getRawHeader
|
||||
- name: debug_getBadBlocks
|
||||
# non standard geth only slightly dangerous
|
||||
- name: debug_intermediateRoots
|
||||
- name: debug_dumpBlock
|
||||
# standard geth and erigon
|
||||
- name: debug_accountRange
|
||||
- name: debug_getModifiedAccountsByNumber
|
||||
- name: debug_getModifiedAccountsByHash
|
||||
# non standard geth and erigon
|
||||
- name: eth_getRawTransactionByHash
|
||||
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||
100
celo/geth/celo-mainnet-geth-archive-leveldb-hash.yml
Normal file
100
celo/geth/celo-mainnet-geth-archive-leveldb-hash.yml
Normal file
@@ -0,0 +1,100 @@
|
||||
# use at your own risk
|
||||
|
||||
services:
|
||||
celo-mainnet-archive:
|
||||
image: ${CELO_GETH_IMAGE:-us.gcr.io/celo-org/geth}:${CELO_MAINNET_GETH_VERSION:-1.8.9}
|
||||
user: root
|
||||
ulimits:
|
||||
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||
sysctls:
|
||||
# TCP Performance
|
||||
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
||||
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
|
||||
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
|
||||
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
|
||||
net.core.somaxconn: 32768 # Higher connection queue
|
||||
# Memory/Connection Management
|
||||
net.core.netdev_max_backlog: 50000 # Increase network buffer
|
||||
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
|
||||
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
|
||||
expose:
|
||||
- 8545
|
||||
- 8551
|
||||
|
||||
ports:
|
||||
- 10164:10164
|
||||
- 10164:10164/udp
|
||||
volumes:
|
||||
- ${CELO_MAINNET_GETH_ARCHIVE_LEVELDB_HASH_DATA:-celo-mainnet-geth-archive-leveldb-hash}:/root/.celo
|
||||
- /slowdisk:/slowdisk
|
||||
|
||||
command:
|
||||
- --datadir=/root/.celo
|
||||
- --port=10164
|
||||
- --bind=0.0.0.0
|
||||
- --nat=extip:${IP}
|
||||
- --http
|
||||
- --http.port=8545
|
||||
- --http.vhosts=*
|
||||
- --ws
|
||||
- --ws.port=8545
|
||||
- --ws.origins=*
|
||||
- --ws.addr=0.0.0.0
|
||||
- --http.addr=0.0.0.0
|
||||
- --maxpeers=50
|
||||
- --http.api=eth,net,web3,debug,admin,txpool
|
||||
- --ws.api=eth,net,web3,debug,admin,txpool
|
||||
|
||||
- --rpc.gascap=600000000
|
||||
- --rpc.returndatalimit=10000000
|
||||
- --rpc.txfeecap=0
|
||||
|
||||
- --db.engine=leveldb
|
||||
- --state.scheme=hash
|
||||
- --syncmode=full
|
||||
- --gcmode=archive
|
||||
|
||||
networks:
|
||||
- chains
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 5m
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.middlewares.celo-mainnet-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-mainnet-archive
|
||||
- traefik.http.services.celo-mainnet-geth-archive-leveldb-hash.loadbalancer.server.port=8545
|
||||
- ${NO_SSL:-traefik.http.routers.celo-mainnet-geth-archive-leveldb-hash.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.celo-mainnet-geth-archive-leveldb-hash.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.celo-mainnet-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/celo-mainnet-archive`)}
|
||||
- ${NO_SSL:+traefik.http.routers.celo-mainnet-geth-archive-leveldb-hash.rule=PathPrefix(`/celo-mainnet-archive`)}
|
||||
- traefik.http.routers.celo-mainnet-geth-archive-leveldb-hash.middlewares=celo-mainnet-geth-archive-leveldb-hash-stripprefix, ipwhitelist
|
||||
|
||||
volumes:
|
||||
celo-mainnet-geth-archive-leveldb-hash:
|
||||
celo-mainnet-geth-archive-leveldb-hash_prysm:
|
||||
|
||||
x-upstreams:
|
||||
- chain: celo
|
||||
method-groups:
|
||||
enabled:
|
||||
- debug
|
||||
- filter
|
||||
|
||||
methods:
|
||||
disabled:
|
||||
enabled:
|
||||
# standard geth only
|
||||
- name: debug_getRawBlock
|
||||
- name: debug_getRawTransaction
|
||||
- name: debug_getRawReceipts
|
||||
- name: debug_getRawHeader
|
||||
- name: debug_getBadBlocks
|
||||
# non standard geth only slightly dangerous
|
||||
- name: debug_intermediateRoots
|
||||
- name: debug_dumpBlock
|
||||
# standard geth and erigon
|
||||
- name: debug_accountRange
|
||||
- name: debug_getModifiedAccountsByNumber
|
||||
- name: debug_getModifiedAccountsByHash
|
||||
# non standard geth and erigon
|
||||
- name: eth_getRawTransactionByHash
|
||||
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||
File diff suppressed because one or more lines are too long
@@ -1,49 +0,0 @@
|
||||
{
|
||||
"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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,117 +0,0 @@
|
||||
|
||||
|
||||
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_DATA:-celo-alfajores-op-geth-archive-leveldb-hash}:/datadir"
|
||||
- ".jwtsecret:/shared/jwt.txt:ro"
|
||||
- "./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
|
||||
- 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:-http://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:ro
|
||||
- ./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
|
||||
networks:
|
||||
- chains
|
||||
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-alfajores-op-geth-archive-leveldb-hash_eigenda}:/data
|
||||
#- 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:
|
||||
|
||||
|
||||
@@ -1,117 +0,0 @@
|
||||
|
||||
|
||||
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_DATA:-celo-alfajores-op-geth-pruned-pebble-path}:/datadir"
|
||||
- ".jwtsecret:/shared/jwt.txt:ro"
|
||||
- "./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
|
||||
- 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:-http://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:ro
|
||||
- ./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
|
||||
networks:
|
||||
- chains
|
||||
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-alfajores-op-geth-pruned-pebble-path_eigenda}:/data
|
||||
#- 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:
|
||||
|
||||
|
||||
@@ -1,117 +0,0 @@
|
||||
|
||||
|
||||
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:ro"
|
||||
- "./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
|
||||
- GETH_STATE_SCHEME=hash
|
||||
- GETH_DB_ENGINE=leveldb
|
||||
- GETH_NAT=extip:${IP}
|
||||
- NODE_TYPE=archive
|
||||
- BEDROCK_SEQUENCER_HTTP=https://cel2-sequencer.celo.org
|
||||
- PORT__OP_GETH_P2P=10111
|
||||
- IS_CUSTOM_CHAIN=true
|
||||
- OP_GETH__HISTORICAL_RPC=${CELO_MAINNET_ARCHIVE_GETH:-http://celo-mainnet-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:ro
|
||||
- ./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
|
||||
networks:
|
||||
- chains
|
||||
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-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:
|
||||
|
||||
|
||||
@@ -1,117 +0,0 @@
|
||||
|
||||
|
||||
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_DATA:-celo-mainnet-op-geth-pruned-pebble-path}:/datadir"
|
||||
- ".jwtsecret:/shared/jwt.txt:ro"
|
||||
- "./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
|
||||
- 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:-http://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:ro
|
||||
- ./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
|
||||
networks:
|
||||
- chains
|
||||
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-mainnet-op-geth-pruned-pebble-path_eigenda}:/data
|
||||
#- 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:
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/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 $@
|
||||
|
||||
Reference in New Issue
Block a user