diff --git a/optimism-reth-fullnode.yml b/optimism-reth-fullnode.yml new file mode 100644 index 00000000..94103a68 --- /dev/null +++ b/optimism-reth-fullnode.yml @@ -0,0 +1,88 @@ +version: '3.1' + +services: + optimism-fullnode: # this is Optimism's geth client + image: ghcr.io/paradigmxyz/op-reth:v1.1.0 + expose: + - 9551 + - 8545 # RPC / Websocket + - 2214 # P2P TCP (currently unused) + - 2214/udp # P2P UDP (currently unused) + - 6060 # metrics + - 855 + ports: + - "2214:2214" + - "2214:2214/udp" + #command: [ "sh", "./geth-entrypoint" ] + restart: always + user: root + stop_grace_period: 3m + command: node --full --chain optimism --port 2214 --discovery.port 2214 --rollup.sequencer-http https://mainnet-sequencer.optimism.org --http --ws --authrpc.addr 0.0.0.0 --authrpc.port 9551 --authrpc.jwtsecret /jwtsecret --http.addr 0.0.0.0 --http.port 8545 --ws.addr 0.0.0.0 --ws.port 8545 --ws.origins '*' --http.api "debug,eth,net,trace,txpool,web3,rpc,reth,admin" --ws.api "debug,eth,net,trace,txpool,web3,rpc,reth,admin" --http.corsdomain '*' --rpc.max-logs-per-response 1100000 --rpc.gascap 600000000 + volumes: + - optimism-reth-fullnode:/root/.local/share/reth/optimism + - /slowdisk:/slowdisk + - .jwtsecret:/jwtsecret + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.optimism-fullnode-stripprefix.stripprefix.prefixes=/optimism-fullnode" + - "traefik.http.services.optimism-fullnode.loadbalancer.server.port=8545" + - "traefik.http.routers.optimism-fullnode.entrypoints=websecure" + - "traefik.http.routers.optimism-fullnode.tls.certresolver=myresolver" + - "traefik.http.routers.optimism-fullnode.rule=Host(`$DOMAIN`) && PathPrefix(`/optimism-fullnode`)" + - "traefik.http.routers.optimism-fullnode.middlewares=optimism-fullnode-stripprefix, ipwhitelist" + networks: + - chains + + + optimism-fullnode-node: + build: + context: ./op + args: + OP_GETH_VERSION: v1.101408.0 + OP_NODE_VERSION: v1.9.1 + depends_on: + - optimism-fullnode + volumes: + - .jwtsecret:/jwtsecret + expose: + - 8545 # RPC + - 27347 # P2P TCP + - 27347/udp # P2P UDP + - 7300 # metrics + - 6060 # pprof + ports: + - "27347:27347" + - "27347:27347/udp" + #command: [ "sh", "./op-node-entrypoint" ] + entrypoint: ./op-node + restart: always + stop_grace_period: 30s + environment: + - "OP_NODE_NETWORK=op-mainnet" + - "OP_NODE_SYNCMODE=execution-layer" + - "OP_NODE_L1_ETH_RPC=${OPTIMISM_ETHEREUM_ENDPOINT}" + - "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}" + - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" + - "OP_NODE_L2_ENGINE_RPC=http://optimism-fullnode:9551" + - "OP_NODE_LOG_LEVEL=info" + - "OP_NODE_METRICS_ADDR=0.0.0.0" + - "OP_NODE_METRICS_ENABLED=true" + - "OP_NODE_METRICS_PORT=7300" + - "OP_NODE_P2P_AGENT=optimism" + - "OP_NODE_P2P_BOOTNODES=enr:-J24QNz9lbrKbN4iSmmjtnr7SjUMk4zB7f1krHZcTZx-JRKZd0kA2gjufUROD6T3sOWDVDnFJRvqBBo62zuF-hYCohOGAYiOoEyEgmlkgnY0gmlwhAPniryHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQKNVFlCxh_B-716tTs-h1vMzZkSs1FTu_OYTNjgufplG4N0Y3CCJAaDdWRwgiQG,enr:-J24QH-f1wt99sfpHy4c0QJM-NfmsIfmlLAMMcgZCUEgKG_BBYFc6FwYgaMJMQN5dsRBJApIok0jFn-9CS842lGpLmqGAYiOoDRAgmlkgnY0gmlwhLhIgb2Hb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJ9FTIv8B9myn1MWaC_2lJ-sMoeCDkusCsk4BYHjjCq04N0Y3CCJAaDdWRwgiQG,enr:-J24QDXyyxvQYsd0yfsN0cRr1lZ1N11zGTplMNlW4xNEc7LkPXh0NAJ9iSOVdRO95GPYAIc6xmyoCCG6_0JxdL3a0zaGAYiOoAjFgmlkgnY0gmlwhAPckbGHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJwoS7tzwxqXSyFL7g0JM-KWVbgvjfB8JA__T7yY_cYboN0Y3CCJAaDdWRwgiQG,enr:-J24QHmGyBwUZXIcsGYMaUqGGSl4CFdx9Tozu-vQCn5bHIQbR7On7dZbU61vYvfrJr30t0iahSqhc64J46MnUO2JvQaGAYiOoCKKgmlkgnY0gmlwhAPnCzSHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQINc4fSijfbNIiGhcgvwjsjxVFJHUstK9L1T8OTKUjgloN0Y3CCJAaDdWRwgiQG,enr:-J24QG3ypT4xSu0gjb5PABCmVxZqBjVw9ca7pvsI8jl4KATYAnxBmfkaIuEqy9sKvDHKuNCsy57WwK9wTt2aQgcaDDyGAYiOoGAXgmlkgnY0gmlwhDbGmZaHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQIeAK_--tcLEiu7HvoUlbV52MspE0uCocsx1f_rYvRenIN0Y3CCJAaDdWRwgiQG" + - "OP_NODE_P2P_LISTEN_IP=0.0.0.0" + - "OP_NODE_P2P_LISTEN_TCP_PORT=27347" + - "OP_NODE_P2P_LISTEN_UDP_PORT=27347" + #- "OP_NODE_ROLLUP_CONFIG=mainnet/rollup.json" + - "OP_NODE_RPC_ADDR=0.0.0.0" + - "OP_NODE_RPC_PORT=8545" + - "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log" + - "OP_NODE_VERIFIER_L1_CONFS=4" + - "OP_NODE_L1_RPC_KIND=${OPTIMISM_ETHEREUM_ENDPOINT_KIND:-basic}" + - "OP_NODE_L1_TRUST_RPC=${OPTIMISM_ETHEREUM_ENDPOINT_TRUST:-false}" + - "OP_NODE_L1_BEACON=${OPTIMISM_ETHEREUM_ENDPOINT_BEACON}" + networks: + - chains + +volumes: + optimism-reth-fullnode: diff --git a/reference-rpc-endpoint.json b/reference-rpc-endpoint.json index 39283319..47056a2f 100644 --- a/reference-rpc-endpoint.json +++ b/reference-rpc-endpoint.json @@ -244,7 +244,7 @@ "https://1rpc.io/op" ], "default": [ - "optimism-fullnode" + "optimism-fullnode", "optimism-reth-fullnode" ] }, "sepolia": {