diff --git a/reference-rpc-endpoint.json b/reference-rpc-endpoint.json index 6c81b96f..3c25823a 100644 --- a/reference-rpc-endpoint.json +++ b/reference-rpc-endpoint.json @@ -24,6 +24,11 @@ ], "default": ["metis"] }, + "taiko": { + "id": 167000, + "urls": ["https://rpc.mainnet.taiko.xyz"], + "default": ["taiko"] + }, "haqq": { "id": 11235, "urls": [ diff --git a/taiko.yml b/taiko.yml new file mode 100644 index 00000000..8e648e61 --- /dev/null +++ b/taiko.yml @@ -0,0 +1,74 @@ +services: + taiko: + image: us-docker.pkg.dev/evmchain/images/taiko-geth:v1.2.0 + restart: unless-stopped + stop_grace_period: 3m + volumes: + - taiko:/data/taiko-geth + expose: + - 6060 + - 8545 + ports: + - "52158:52158" + - "52158:52158/udp" + command: | + --taiko + --networkid 167000 + --gcmode full + --datadir /data/taiko-geth + --metrics + --metrics.addr "0.0.0.0" + --bootnodes "enode://7a8955b27eda2ddf361b59983fce9c558b18ad60d996ac106629f7f913247ef13bc842c7cf6ec6f87096a3ea8048b04873c40d3d873c0276d38e222bddd72e88@43.153.44.186:30303,enode://704a50da7e727aa10c45714beb44ece04ca1280ad63bb46bb238a01bf55c19c9702b469fb12c63824fa90f5051f7091b1c5069df1ec9a0ba1e943978c09d270f@49.51.202.127:30303,enode://f52e4e212a15cc4f68df27282e616d51d7823596c83c8c8e3b3416d7ab531cefc7b8a493d01964e1918315e6b0c7a4806634aeabb9013642a9159a53f4ebc094@43.153.16.47:30303,enode://57f4b29cd8b59dc8db74be51eedc6425df2a6265fad680c843be113232bbe632933541678783c2a5759d65eac2e2241c45a34e1c36254bccfe7f72e52707e561@104.197.107.1:30303,enode://87a68eef46cc1fe862becef1185ac969dfbcc050d9304f6be21599bfdcb45a0eb9235d3742776bc4528ac3ab631eba6816e9b47f6ee7a78cc5fcaeb10cd32574@35.232.246.122:30303" + --authrpc.addr "0.0.0.0" + --authrpc.vhosts "*" + --http + --http.api admin,debug,eth,net,web3,txpool,taiko + --http.addr "0.0.0.0" + --http.vhosts "*" + --ws + --ws.api debug,eth,net,web3,txpool,taiko + --ws.addr "0.0.0.0" + --ws.port 8545 + --ws.origins "*" + --gpo.defaultprice "10000000" + --port 52158 + --discovery.port 52158 + --maxpeers 50 + --maxpendpeers 0 + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.taiko-holesky-stripprefix.stripprefix.prefixes=/taiko-holesky" + - "traefik.http.services.taiko-holesky.loadbalancer.server.port=8545" + - "traefik.http.routers.taiko-holesky.entrypoints=websecure" + - "traefik.http.routers.taiko-holesky.tls.certresolver=myresolver" + - "traefik.http.routers.taiko-holesky.rule=Host(`$DOMAIN`) && PathPrefix(`/taiko-holesky`)" + - "traefik.http.routers.taiko-holesky.middlewares=taiko-holesky-stripprefix, ipwhitelist" + networks: + - chains + + taiko_client_driver: + image: us-docker.pkg.dev/evmchain/images/taiko-client:taiko-client-v0.25.0 + restart: unless-stopped + depends_on: + - taiko + environment: + - "TAIKO_L1_ADDRESS=0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a" + - "TAIKO_TOKEN_L1_ADDRESS=0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800" + - "ASSIGNMENT_HOOK_L1_ADDRESS=0x537a2f0D3a5879b41BCb5A2afE2EA5c4961796F6" + - "TAIKO_L2_ADDRESS=0x1670000000000000000000000000000000010001" + - "L1_ENDPOINT_HTTP=${TAIKO_HOLESKY_EXECUTION_RPC}" + - "L1_ENDPOINT_WS=${TAIKO_HOLESKY_EXECUTION_WS}" + - "L1_BEACON_HTTP=${TAIKO_HOLESKY_BEACON_REST}" + - "L2_CHECKPOINT_SYNC_RPC=https://rpc.mainnet.taiko.xyz" + volumes: + - taiko:/data/taiko-geth + - ./taiko/script:/script + entrypoint: + - /bin/sh + - -c + - "/script/start-driver.sh" + networks: + - chains + +volumes: + taiko: diff --git a/taiko/script/start-driver.sh b/taiko/script/start-driver.sh new file mode 100644 index 00000000..ad0987a5 --- /dev/null +++ b/taiko/script/start-driver.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +set -eou pipefail + +exec taiko-client driver \ + --l1.ws "${L1_ENDPOINT_WS}" \ + --l2.ws ws://taiko:8545 \ + --l1.beacon "${L1_BEACON_HTTP}" \ + --l2.auth http://taiko:8551 \ + --taikoL1 "${TAIKO_L1_ADDRESS}" \ + --taikoL2 "${TAIKO_L2_ADDRESS}" \ + --jwtSecret /data/taiko-geth/geth/jwtsecret \ + --p2p.sync \ + --p2p.checkPointSyncUrl "${L2_CHECKPOINT_SYNC_RPC:-https://rpc.mainnet.taiko.xyz}" + +