From c6d793bcb7dd05c2e4d6e596bca6e10caaeb5c20 Mon Sep 17 00:00:00 2001 From: Sebastian <379651+czarly@users.noreply.github.com> Date: Sun, 17 Mar 2024 16:01:58 +0100 Subject: [PATCH] new mantle --- mantle/mainnet/rollup.json | 32 ++++++++++ op-mantle-fullnode.yml | 118 +++++++++++++++++++++++++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 mantle/mainnet/rollup.json create mode 100644 op-mantle-fullnode.yml diff --git a/mantle/mainnet/rollup.json b/mantle/mainnet/rollup.json new file mode 100644 index 00000000..d40113be --- /dev/null +++ b/mantle/mainnet/rollup.json @@ -0,0 +1,32 @@ +{ + "genesis": { + "l1": { + "hash": "0x614050145039f11a778f1bd3c85ce2c1f3989492dbc544911fab9a7247e81ca4", + "number": 19437305 + }, + "l2": { + "hash": "0xf70a2270b05820a2b335e70ab9ce91e42e15f50d82db73d9c63085711b312fc8", + "number": 61171946 + }, + "l2_time": 1710468791, + "system_config": { + "batcherAddr": "0x2f40d796917ffb642bd2e2bdd2c762a5e40fd749", + "overhead": "0x00000000000000000000000000000000000000000000000000000000000000bc", + "scalar": "0x0000000000000000000000000000000000000000000000000000000000002710", + "gasLimit": 200000000000, + "baseFee": 20000000 + } + }, + "block_time": 2, + "max_sequencer_drift": 600, + "seq_window_size": 3600, + "channel_timeout": 300, + "l1_chain_id": 1, + "l2_chain_id": 5000, + "regolith_time": 0, + "batch_inbox_address": "0xff00000000000000000000000000000000000000", + "deposit_contract_address": "0xc54cb22944f2be476e02decfcd7e3e7d3e15a8fb", + "l1_system_config_address": "0x427ea0710fa5252057f0d88274f7aeb308386caf", + "mantle_da_switch": true, + "datalayr_service_manager_addr": "0x5BD63a7ECc13b955C4F57e3F12A64c10263C14c1" + } diff --git a/op-mantle-fullnode.yml b/op-mantle-fullnode.yml new file mode 100644 index 00000000..6c199461 --- /dev/null +++ b/op-mantle-fullnode.yml @@ -0,0 +1,118 @@ +version: '3.1' + +services: + mantle-fullnode: + image: mantlenetworkio/op-geth:v1.0.0-alpha.1 + expose: + - 8545 # RPC / Websocket + - 25637 # P2P TCP (currently unused) + - 25637/udp # P2P UDP (currently unused) + - 6060 # metrics + - 8551 + ports: + - "25637:25637" + - "25637:25637/udp" + entrypoint: geth + command: + - --datadir=/data + - --verbosity=3 + - --port=25637 + - --http + - --http.corsdomain=* + - --http.vhosts=* + - --http.addr=0.0.0.0 + - --http.port=8545 + - --http.api=web3,eth,debug,txpool,net + - --ws + - --ws.addr=0.0.0.0 + - --ws.port=8546 + - --ws.origins=* + - --ws.api=web3,eth,debug,txpool,net + - --syncmode=full + - --maxpeers=0 + - --networkid=5003 + - --rpc.allow-unprotected-txs + - --authrpc.addr=0.0.0.0 + - --authrpc.port=8551 + - --authrpc.vhosts=* + - --authrpc.jwtsecret=/jwtsecret + - --pprof + - --pprof.addr=0.0.0.0 + - --pprof.port=6060 + - --gcmode=archive + - --metrics + - --metrics.addr=0.0.0.0 + - --metrics.port=9001 + - --snapshot=false + restart: always + stop_grace_period: 30s + volumes: + - mantle-fullnode:/data + - ".jwtsecret:/jwtsecret" + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.mantle-stripprefix.stripprefix.prefixes=/mantle" + - "traefik.http.services.mantle.loadbalancer.server.port=8545" + - "traefik.http.routers.mantle.entrypoints=websecure" + - "traefik.http.routers.mantle.tls.certresolver=myresolver" + - "traefik.http.routers.mantle.rule=Host(`$DOMAIN`) && PathPrefix(`/mantle`)" + - "traefik.http.routers.mantle.middlewares=mantle-stripprefix, ipwhitelist" + networks: + - chains + + + mantle-fullnode-node: + image: mantlenetworkio/op-geth:v1.0.0-alpha.1 + depends_on: + - mantle-fullnode + expose: + - 8545 # RPC + - 10788 # P2P TCP + - 10788/udp # P2P UDP + - 7300 # metrics + - 6060 # pprof + ports: + - "10788:10788" + - "10788:10788/udp" + volumes: + - "mantle/mainnet/rollup.json:/rollup.json" + - .jwtsecret:/jwtsecret + command: [ "sh", "./op-node-entrypoint" ] + restart: always + stop_grace_period: 30s + environment: + OP_NODE_L1_ETH_RPC: ${MANTLE_ETHEREUM_ENDPOINT} + OP_NODE_L2_ENGINE_RPC: 'http://mantel-fullnode:8551' + OP_NODE_L2_ENGINE_AUTH: /jwtsecret + OP_NODE_ROLLUP_CONFIG: '/config/rollup.json' + OP_NODE_P2P_PRIV_PATH: /p2p_node_key_txt + OP_NODE_VERIFIER_L1_CONFS: '3' + OP_NODE_RPC_ADDR: '0.0.0.0' + OP_NODE_RPC_PORT: 8545 + OP_NODE_P2P_LISTEN_IP: '0.0.0.0' + OP_NODE_P2P_LISTEN_TCP_PORT: 10788 + OP_NODE_P2P_LISTEN_UDP_PORT: 10788 + OP_NODE_P2P_PEER_SCORING: 'light' + OP_NODE_P2P_PEER_BANNING: 'true' + OP_NODE_METRICS_ENABLED: 'true' + OP_NODE_METRICS_ADDR: '0.0.0.0' + OP_NODE_METRICS_PORT: 7300 + OP_NODE_PPROF_ENABLED: 'true' + OP_NODE_PPROF_PORT: 6060 + OP_NODE_PPROF_ADDR: '0.0.0.0' + OP_NODE_P2P_DISCOVERY_PATH: '/op-node/opnode_discovery_db' + OP_NODE_P2P_PEERSTORE_PATH: '/op-node/opnode_peerstore_db' + OP_NODE_INDEXER_SOCKET: 'da-indexer-api.mantle.xyz:443' + OP_NODE_INDEXER_ENABLE: 'true' + OP_NODE_L2_BACKUP_UNSAFE_SYNC_RPC: https://rpc.mantle.xyz + OP_NODE_P2P_STATIC: '/dns4/peer0.mantle.xyz/tcp/9003/p2p/16Uiu2HAmKVKzUAns2gLhZAz1PYcbnhY3WpxNxUZYeTN1x29tNBAW,/dns4/peer1.mantle.xyz/tcp/9003/p2p/16Uiu2HAm1AiZtVp8f5C8LvpSTAXC6GtwqAVKnB3VLawWYSEBmcFN,/dns4/peer2.mantle.xyz/tcp/9003/p2p/16Uiu2HAm2UHVKiPXpovs8VbbUQVPr7feBAqBJdFsH1z5XDiLEvHT' + OP_NODE_SEQUENCER_ENABLED: 'false' + OP_NODE_P2P_AGENT: 'mantle' + OP_NODE_L2_ENGINE_SYNC_ENABLED: 'true' + OP_NODE_L2_SKIP_SYNC_START_CHECK: 'true' + OP_NODE_P2P_SYNC_REQ_RESP: 'true' + networks: + - chains + +volumes: + mantle-fullnode: