This commit is contained in:
root
2025-03-18 07:21:12 +02:00
26 changed files with 268 additions and 114 deletions

View File

@@ -27,13 +27,14 @@ OracleThreshold = 1000
[Node]
IPCPath = "geth.ipc"
HTTPHost = "localhost"
HTTPHost = "0.0.0.0"
InsecureUnlockAllowed = false
HTTPPort = 8545
HTTPVirtualHosts = ["localhost"]
HTTPModules = ["eth", "net", "web3", "txpool", "parlia"]
WSPort = 8546
WSModules = ["net", "web3", "eth"]
HTTPVirtualHosts = ["*"]
HTTPModules = ["eth", "net", "web3", "txpool", "parlia", "debug", "admin"]
WSHost = "0.0.0.0"
WSPort = 8545
WSModules = ["net", "web3", "eth", "debug"]
[Node.P2P]
MaxPeers = 200

View File

@@ -38,6 +38,11 @@
"da_commitment_type": "GenericCommitment",
"da_challenge_window": 1,
"da_resolve_window": 1
},
"chain_op_config": {
"eip1559Elasticity": 5,
"eip1559Denominator": 400,
"eip1559DenominatorCanyon": 400
}
}

View File

@@ -0,0 +1,18 @@
services:
drpc-beacon-proxy-sepolia:
build: ./drpc-beacon-proxy/
expose:
- "80:80"
environment:
DKEY: "${DRPC_API_KEY}"
TARGET_URL: https://lb.drpc.org/rest/eth-beacon-chain-sepolia
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.drpc-beacon-proxy-sepolia-stripprefix.stripprefix.prefixes=/drpc-beacon-proxy-sepolia"
- "traefik.http.services.drpc-beacon-proxy-sepolia.loadbalancer.server.port=80"
- "traefik.http.routers.drpc-beacon-proxy-sepolia.entrypoints=websecure"
- "traefik.http.routers.drpc-beacon-proxy-sepolia.tls.certresolver=myresolver"
- "traefik.http.routers.drpc-beacon-proxy-sepolia.rule=Host(`$DOMAIN`) && PathPrefix(`/drpc-beacon-proxy-sepolia`)"
- "traefik.http.routers.drpc-beacon-proxy-sepolia.middlewares=drpc-beacon-proxy-sepolia-stripprefix, ipwhitelist"
networks:
- chains

View File

@@ -2,7 +2,7 @@ version: '3.1'
services:
dshackle-free:
image: drpcorg/dshackle:0.64.3
image: drpcorg/dshackle:${DRPC_VERSION:-0.64.3}
restart: unless-stopped
volumes:
- ./free_configs:/etc/dshackle

View File

@@ -2,7 +2,7 @@ version: '3.1'
services:
dshackle:
image: drpcorg/dshackle:0.64.3
image: drpcorg/dshackle:${DRPC_VERSION:-0.64.3}
restart: unless-stopped
volumes:
- ./main_configs:/etc/dshackle

27
groq.sh Normal file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
# Determine the script's base directory
BASEDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Load environment variables from .env file
if [ -f "$BASEDIR/.env" ]; then
source "$BASEDIR/.env"
fi
# Ensure GROQ_API_KEY is set
if [ -z "$GROQ_API_KEY" ]; then
echo "Error: GROQ_API_KEY is not set. Please define it in $BASEDIR/.env"
exit 1
fi
# Validate input argument
if [ -z "$1" ] || [ ! -f "$BASEDIR/rpc/$1.yml" ]; then
echo "Error: Either no argument provided or $BASEDIR/rpc/$1.yml does not exist."
exit 1
fi
# Build the container
docker build -t rpc_sync_checker "$BASEDIR/groq"
# Run logs.sh and feed logs into the sync checker container
"$BASEDIR/logs.sh" "$1" | docker run --rm -i -e GROQ_API_KEY="$GROQ_API_KEY" rpc_sync_checker

8
groq/Dockerfile Normal file
View File

@@ -0,0 +1,8 @@
FROM python:3.11
WORKDIR /app
COPY rpc_sync_checker.py /app/
RUN pip install groq
CMD ["python", "/app/rpc_sync_checker.py"]

21
groq/rpc_sync_checker.py Normal file
View File

@@ -0,0 +1,21 @@
import os
import sys
from groq import Groq
def check_sync_progress(logs):
client = Groq(api_key=os.environ.get("GROQ_API_KEY"))
response = client.chat.completions.create(
messages=[
{"role": "system", "content": "You are an assistant trained to analyze blockchain RPC logs."},
{"role": "user", "content": f"Based on the following logs, is the RPC node progressing in its sync? Answer only '0' for yes and '1' for no.\n\n{logs}"}
],
model="llama-3.3-70b-versatile",
)
return response.choices[0].message.content.strip()
if __name__ == "__main__":
logs = sys.stdin.read() # Read input from STDIN
result = check_sync_progress(logs)
print(result)

View File

@@ -1,6 +1,6 @@
services:
nodeexporter:
image: prom/node-exporter:v1.2.2
image: prom/node-exporter:v1.3.1
container_name: nodeexporter
volumes:
- /proc:/host/proc:ro

View File

@@ -1,52 +1,52 @@
services:
init:
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth@sha256:13fa55221309e4e453fd8c383d51aa6d065695f14a64ab25c85aa7d9301173e0
volumes:
- "op-celo-alfajores-fullnode:/datadir"
- "./celo/alfajores:/config"
command: init --datadir /datadir /config/genesis.json
op-celo-alfajores-fullnode:
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth@sha256:13fa55221309e4e453fd8c383d51aa6d065695f14a64ab25c85aa7d9301173e0
depends_on:
- init
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth:celo-v2.0.0
volumes:
- "op-celo-alfajores-fullnode:/datadir"
- ".jwtsecret:/jwtsecret"
- "./celo/alfajores/:/chainconfig"
ports:
- "10955:10955"
- "10955:10955/udp"
command: |
--datadir=/datadir
--networkid=44787
--gcmode=full
--snapshot=true
--maxpeers=60
--port=10955
--authrpc.addr=0.0.0.0
--authrpc.port=8551
--authrpc.jwtsecret=/jwtsecret
--authrpc.vhosts='*'
--http
--http.addr=0.0.0.0
--http.port=8545
--http.api=eth,net,web3,debug,txpool,engine,admin
--http.vhosts='*'
--http.corsdomain='*'
--ws
--rollup.historicalrpc=https://alfajores-forno.cel1.alfajores.celo-testnet.org
--ws.addr=0.0.0.0
--ws.port=8545
--ws.api=eth,net,web3,debug,txpool,engine,admin
--verbosity=3
--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
expose:
- 8545
- 8546
- 8551
networks:
- chains
restart: always
stop_grace_period: 5m
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
command: >
--datadir=/datadir
--networkid=44787
--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.alfajores.celo-testnet.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"
@@ -58,10 +58,9 @@ services:
op-celo-alfajores-fullnode-node:
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-node:celo9
image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-node:celo-v2.0.0
depends_on:
- op-celo-alfajores-fullnode
- op-celo-alfajores-key-generator
expose:
- 8545 # RPC
- 39395 # P2P TCP
@@ -73,30 +72,34 @@ services:
ports:
- "39395:39395"
- "39395:39395/udp"
command: |
environment:
- HEALTHCHECK__REFERENCE_RPC_PROVIDER=https://alfajores-forno.celo-testnet.org
- OP_NODE_P2P_LISTEN_TCP_PORT=39395
- OP_NODE_P2P_LISTEN_UDP_PORT=39395
- 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.alfajores.celo-testnet.org
- OP_NODE_L2_ENGINE_AUTH=/jwtsecret
command: >
op-node
--l1.trustrpc=true
--l1=${OP_CELO_ALFAJORES_HOLESKY_RPC:-https://ethereum-holesky-rpc.publicnode.com}
--l1.beacon=${OP_CELO_ALFAJORES_HOLESKY_BEACON_REST:-https://ethereum-holesky-beacon-api.publicnode.com}
--l1="${OP_CELO_ALFAJORES_HOLESKY_RPC:-https://ethereum-holesky-rpc.publicnode.com}"
--l2=http://op-celo-alfajores-fullnode:8551
--l2.jwt-secret=/jwtsecret
--rollup.load-protocol-versions=true
--rollup.config=/config/rollup.json
--verifier.l1-confs=4
--rpc.addr=0.0.0.0
--rpc.port=9545
--p2p.listen.tcp=39395
--p2p.listen.udp=39395
--p2p.priv.path=/config/p2p_node_key_txt
--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
--altda.enabled=true
--altda.da-server=https://eigenda-proxy.alfajores.celo-testnet.org
--altda.da-service=true
--altda.verify-on-read=false
--l1.trustrpc
--l1.rpckind=basic
--l1.beacon="${OP_CELO_ALFAJORES_HOLESKY_BEACON_REST:-https://ethereum-holesky-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:/config"
- ./celo/alfajores/:/chainconfigs/
stop_grace_period: 30s
op-celo-alfajores-key-generator:
@@ -107,7 +110,6 @@ services:
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:
op-celo-alfajores-fullnode:

View File

@@ -6,9 +6,9 @@ services:
context: ./op
dockerfile: Dockerfile
args:
OP_VERSION: v1.10.2
OP_PATCH: sepolia/lisk/op-node.patch
GETH_VERSION: v1.101411.4
OP_VERSION: v1.12.0
# OP_PATCH: sepolia/lisk/op-node.patch
GETH_VERSION: v1.101503.0
expose:
- 8545 # RPC / Websocket
- 54521 # P2P TCP (currently unused)
@@ -40,6 +40,7 @@ services:
- "GETH_OVERRIDE_FJORD=1716998400"
- "GETH_OVERRIDE_GRANITE=1723478400"
- "GETH_OVERRIDE_HOLOCENE=1732633200"
- "GETH_OVERRIDE_PECTRA=1741159776"
- "GETH_BOOTNODES=enr:-Iu4QI5BdaTmfMhNKXd-vSniNRSCXk-a3m3nQbe9TCV3puGtCr6FvX6-Vr0Uvx4tYVilGCIYdQNf6fK8O2MKxVqjYJ8BgmlkgnY0gmlwhCKN6PiJc2VjcDI1NmsxoQLBQIaRwlvNxrRKcGtxKmh4JS_orkawS44D4KIORICoi4N0Y3CCIy\
uDdWRwgiMr"
labels:
@@ -59,9 +60,9 @@ uDdWRwgiMr"
context: ./op
dockerfile: Dockerfile
args:
OP_VERSION: v1.10.2
OP_PATCH: sepolia/lisk/op-node.patch
GETH_VERSION: v1.101411.4
OP_VERSION: v1.12.0
# OP_PATCH: sepolia/lisk/op-node.patch
GETH_VERSION: v1.101503.0
depends_on:
- op-lisk-sepolia
expose:
@@ -113,6 +114,7 @@ uDdWRwgiMr"
- "OP_NODE_OVERRIDE_FJORD=1716998400"
- "OP_NODE_OVERRIDE_GRANITE=1723478400"
- "OP_NODE_OVERRIDE_HOLOCENE=1732633200"
- "OP_NODE_OVERRICE_PECTRA=1741159776"
networks:
- chains

View File

@@ -37,10 +37,32 @@ services:
- "traefik.http.routers.manta-pacific-mainnet.middlewares=manta-pacific-mainnet-stripprefix, ipwhitelist"
# manta-pacific-da:
# stop_signal: SIGINT
# restart: unless-stopped
# user: root
# image: "ghcr.io/celestiaorg/celestia-node:v0.12.1"
# command: celestia light start --gateway --core.ip consensus.lunaroasis.net --gateway.addr light --gateway.port 23537
# environment:
# - NODE_TYPE=light
# volumes:
# - manta-pacific-celestia-light:/home/celestia/.celestia-light/
# expose:
# - 26658 # core rpc
# - 26657 # rpc
# ports:
# - "23537:23537" # gateway
# healthcheck:
# test: ["CMD", "curl", "-f", "http://localhost:23537/header/1"]
# interval: 10s
# timeout: 5s
# retries: 5
# start_period: 30s
manta-pacific-node:
depends_on:
- manta-pacific
image: "public.ecr.aws/i6b2w2n6/op-node:5.2.0"
image: "public.ecr.aws/i6b2w2n6/op-node:celestia-3.0.0-dencun"
stop_signal: SIGINT
stop_grace_period: 30s
networks:
@@ -49,6 +71,8 @@ services:
OP_NODE_S3_BUCKET: "caldera-celestia-cache-prod"
OP_NODE_NAMESPACE_ID: 866269ddf77dbc40ed9d
OP_NODE_S3_REGION: 'us-west-2'
# OP_NODE_DA_RPC: "http://manta-pacific-da:26658"
# OP_NODE_AUTH_TOKEN: ${OP_NODE_AUTH_TOKEN}
CELESTIA_LEGACY_MODE: "true"
OP_NODE_OVERRIDE_CANYON: "1726783200"
OP_NODE_OVERRIDE_DELTA: "1726783200"

View File

@@ -2,7 +2,6 @@ version: '3.1'
services:
op-mode-mainnet: # this is Optimism's geth client
#image: stakesquid/op-mode-mainnet:v0.1
build:
context: ./op
expose:
@@ -24,7 +23,6 @@ services:
- "GETH_ROLLUP_SEQUENCERHTTP=https://rpc-mode-mainnet-0.t.conduit.xyz"
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
#- "GETH_NODISCOVER=true"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "P2P_PORT=34542"
@@ -35,6 +33,8 @@ services:
- "GETH_OVERRIDE_DELTA=1708560000"
- "GETH_OVERRIDE_ECOTONE=1710374401"
- "GETH_OVERRIDE_FJORD=1720627201"
- "GETH_OVERRIDE_GRANITE=1726070401"
- "GETH_OVERRIDE_HOLOCENE=1736445601"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.mode-stripprefix.stripprefix.prefixes=/mode-mainnet"
@@ -68,7 +68,6 @@ services:
- .jwtsecret:/jwtsecret
stop_grace_period: 30s
environment:
#- "OP_NODE_NETWORK=mode-mainnet-0"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${MODE_MAINNET_L1_ENDPOINT}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
@@ -100,6 +99,8 @@ services:
- "OP_NODE_OVERRIDE_DELTA=1708560000"
- "OP_NODE_OVERRIDE_ECOTONE=1710374401"
- "OP_NODE_OVERRIDE_FJORD=1720627201"
- "OP_NODE_OVERRIDE_GRANITE=1726070401"
- "OP_NODE_OVERRIDE_HOLOCENE=1736445601"
networks:
- chains

7
op-wheel.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
# USAGE:
# ./op-wheel.sh engine set-forkchoice --unsafe=0x111AC7F --safe=0x111AC7F --finalized=0x111AC7F --engine=http://op-lisk-sepolia:8551/ --engine.open=http://op-lisk-sepolia:8545 --engine.jwt-secret-path=/jwtsecret
docker run -it --rm --network rpc_chains -v /root/rpc/.jwtsecret:/jwtsecret golang:latest bash -c 'git clone https://github.com/ethereum-optimism/optimism.git && cd optimism && go run ./op-wheel/cmd "$@"' -- "$@"

View File

@@ -11,6 +11,7 @@
- name: txpool_content
- name: zirc_getQuarantineHistory
- name: zirc_getQuarantined
- name: zirc_isQuarantined
connection:
generic:
rpc:

View File

@@ -1,6 +1,6 @@
services:
op-zircuit-client:
image: zircuit1/l2-geth:94186328850b5def97c195a2737c1d28265ef74b
image: zircuit1/l2-geth:e81568966f2a42a57b1347fb1dffdd5257dde73a
volumes:
- "op-zircuit:/db"
- "./zircuit/mainnet/genesis.json:/genesis.json"
@@ -15,7 +15,7 @@ services:
- "--rollup.disabletxpoolgossip=true"
- "--http.api=eth,net,web3,debug"
environment:
FORK_TRIGGER: "false"
FORK_TRIGGER: "true"
ETH_STATS_ENABLED: 1
ETH_STATS_NODE: "d${DOMAIN}"
ETH_STATS_SERVER: ethstats-ap.mainnet.zircuit.com
@@ -54,7 +54,7 @@ services:
op-zircuit-node:
depends_on:
- op-zircuit-client
image: zircuit1/op-node:94186328850b5def97c195a2737c1d28265ef74b
image: zircuit1/op-node:e81568966f2a42a57b1347fb1dffdd5257dde73a
ports:
- "43778:43778"
- "43778:43778/udp"

22
op-zircuit-testnet.cfg Normal file
View File

@@ -0,0 +1,22 @@
- id: ${ID}
chain: ${CHAIN}
labels:
provider: ${PROVIDER}
method-groups:
enabled:
- debug
- filter
methods:
enabled:
- name: txpool_content
- name: zirc_getQuarantineHistory
- name: zirc_getQuarantined
- name: zirc_isQuarantined
connection:
generic:
rpc:
url: "${RPC_URL}"
ws:
frameSize: 20Mb
msgSize: 50Mb
url: "${WS_URL}"

View File

@@ -1,6 +1,6 @@
services:
op-zircuit-testnet-client:
image: zircuit1/l2-geth:${ZIRCUIT_TESTNET_VERSION:-8ea4db5d6e952f63c2912d2794bbfd8eda55f471}
image: zircuit1/l2-geth:${ZIRCUIT_TESTNET_VERSION:-e81568966f2a42a57b1347fb1dffdd5257dde73a}
volumes:
- "op-zircuit-testnet:/db"
- "./zircuit/testnet/genesis.json:/genesis.json"
@@ -53,7 +53,7 @@ services:
op-zircuit-testnet-node:
depends_on:
- op-zircuit-testnet-client
image: zircuit1/op-node:${ZIRCUIT_TESTNET_VERSION:-8ea4db5d6e952f63c2912d2794bbfd8eda55f471}
image: zircuit1/op-node:${ZIRCUIT_TESTNET_VERSION:-e81568966f2a42a57b1347fb1dffdd5257dde73a}
ports:
- "20209:20209"
- "20209:20209/udp"

View File

@@ -1,3 +1,4 @@
#!/bin/bash
BASEPATH="$(dirname "$0")"
@@ -7,39 +8,41 @@ IFS=':' read -ra parts <<< $COMPOSE_FILE
blacklist=("drpc.yml" "drpc-free.yml" "base.yml" "rpc.yml" "monitoring.yml" "ftp.yml" "backup-http.yml")
# Flag to track if any invocation failed
any_failure=false
for part in "${parts[@]}"; do
include=true
for word in "${blacklist[@]}"; do
if echo "$part" | grep -qE "$word"; then
#echo "The path $path contains a blacklisted word: $word"
include=false
fi
if echo "$part" | grep -qE "$word"; then
include=false
fi
done
# Check if any parameters were passed
if [ $# -gt 0 ]; then
# Put parameters into an array (list)
params=("$@")
# Put parameters into an array (list)
params=("$@")
# Check if a string is part of the list
if [[ " ${params[@]} " =~ " ${part%.yml} " ]]; then
include=$include # don't change anything
else
include=false
fi
# Check if a string is part of the list
if [[ " ${params[@]} " =~ " $1 " ]]; then
include=$include # don't change anything
else
include=false
fi
fi
if $include; then
result=$($BASEPATH/sync-status.sh "${part%.yml}")
#if [ "$1" = "${part%.yml}" ]; then
# echo "${result}"
# exit 0
#else
echo "${part%.yml}: $result"
#fi
result=$($BASEPATH/sync-status.sh "${part%.yml}")
if [ $? -ne 0 ]; then
any_failure=true
fi
echo "${part%.yml}: $result"
fi
done
# If any invocation failed, return a failure exit code
if $any_failure; then
exit 1
fi

View File

@@ -4,6 +4,8 @@ services:
build:
context: ./sonic
dockerfile: Dockerfile
args:
VERSION: ${SONIC_VERSION:-v2.0.3}
stop_grace_period: 3m
volumes:
- "sonic:/var/sonic"

View File

@@ -7,11 +7,13 @@
FROM golang:1.22 as builder
ARG VERSION
RUN apt-get update && apt-get install -y git musl-dev make
RUN cd /go && git clone https://github.com/Fantom-foundation/Sonic.git && cd Sonic && git fetch --tags && git checkout -b v2.0.1 tags/v2.0.1
RUN cd /go && git clone https://github.com/0xsoniclabs/sonic.git && cd sonic && git fetch --tags && git checkout -b ${VERSION} tags/${VERSION}
WORKDIR /go/Sonic
WORKDIR /go/sonic
ARG GOPROXY
RUN go mod download
@@ -19,8 +21,8 @@ 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 --from=builder /go/sonic/build/sonicd /usr/local/bin/
COPY --from=builder /go/sonic/build/sonictool /usr/local/bin/
COPY ./entrypoint.sh /entrypoint.sh

View File

@@ -33,7 +33,7 @@ rpc:
- net
- web3
maxDelayBlock: 120
suspendBuffer: 60s
suspendBuffer: 31622400s
logs:
blockRange: -1
logRequests: True

View File

@@ -20,6 +20,8 @@
"regolithTime": 0,
"canyonTime": 0,
"ecotoneTime": 0,
"monoFeeBlock": 10895293,
"cancunTime": 1741726801,
"terminalTotalDifficulty": 0,
"terminalTotalDifficultyPassed": true,
"optimism": {
@@ -15325,4 +15327,3 @@
"excessBlobGas": null,
"blobGasUsed": null
}

View File

@@ -26,9 +26,11 @@
"canyon_time": 0,
"delta_time": 0,
"ecotone_time": 0,
"hyrax_time": 1741726801,
"l2cancun_time": 1741726801,
"prevrandao_disabling_time": 1741726801,
"batch_inbox_address": "0xff00000000000000000000000000000000048900",
"deposit_contract_address": "0x17bfafa932d2e23bd9b909fd5b4d2e2a27043fb1",
"l1_system_config_address": "0x30f82a1ca89226e8b8815d6ebb728e3b18a428ff",
"protocol_versions_address": "0x0000000000000000000000000000000000000000"
}

4
zircuit/testnet/genesis.json Executable file → Normal file
View File

@@ -29,7 +29,9 @@
},
"canyonTime": 1711297396,
"shanghaiTime": 1711297396,
"ecotoneTime": 1720008000
"ecotoneTime": 1720008000,
"monoFeeBlock": 20829888,
"cancunTime": 1741557600
},
"nonce": "0x0",
"timestamp": "0x655261e0",

View File

@@ -29,5 +29,8 @@
"canyon_time": 1711297396,
"delta_time": 1720008000,
"ecotone_time": 1720008000,
"protocol_versions_address": "0x0000000000000000000000000000000000000000"
"protocol_versions_address": "0x0000000000000000000000000000000000000000",
"hyrax_time": 1741557600,
"l2cancun_time": 1741557600,
"prevrandao_disabling_time": 1741557600
}