non-EVM chain labels via full registry import + reference endpoint ladder
- aztec-testnet, solana, ripple x-upstreams now carry their drpc slug as chain label (was empty -> dshackle ignored the upstreams) - reference-rpc-endpoint.json: every chain now has a protocol field (eth/bitcoin/solana/ripple/aztec/...) for protocol-family dispatch in scripts, plus https://{slug}.drpc.org appended as LAST fallback url (independent endpoints stay preferred; overrides win entirely) - registry grew 247 -> 333 entries (all drpc protocols imported, not just eth) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -100,7 +100,7 @@ x-upstreams:
|
|||||||
frameSize: 20Mb
|
frameSize: 20Mb
|
||||||
msgSize: 50Mb
|
msgSize: 50Mb
|
||||||
url: $${WS_URL}
|
url: $${WS_URL}
|
||||||
chain:
|
chain: aztec-testnet
|
||||||
method-groups:
|
method-groups:
|
||||||
enabled:
|
enabled:
|
||||||
- debug
|
- debug
|
||||||
|
|||||||
@@ -1,9 +1,37 @@
|
|||||||
---
|
---
|
||||||
|
x-logging-defaults: &logging-defaults
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
# Find archive snapshots on publicnode.com
|
# Find archive snapshots on publicnode.com
|
||||||
|
|
||||||
|
# Usage:
|
||||||
|
#
|
||||||
|
# mkdir rpc && cd rpc
|
||||||
|
#
|
||||||
|
# git init
|
||||||
|
# git remote add origin https://github.com/StakeSquid/ethereum-rpc-docker.git
|
||||||
|
# git fetch origin vibe
|
||||||
|
# git checkout origin/vibe
|
||||||
|
#
|
||||||
|
# docker run --rm alpine sh -c "printf '0x'; head -c32 /dev/urandom | xxd -p -c 64" > .jwtsecret
|
||||||
|
#
|
||||||
|
# env
|
||||||
|
# ...
|
||||||
|
# IP=$(curl ipinfo.io/ip)
|
||||||
|
# DOMAIN=${IP}.traefik.me
|
||||||
|
# COMPOSE_FILE=base.yml:rpc.yml:metis-andromeda/l2geth/metis-andromeda-sepolia-l2geth-archive-leveldb-hash.yml
|
||||||
|
#
|
||||||
|
# docker compose up -d
|
||||||
|
#
|
||||||
|
# curl -X POST https://${IP}.traefik.me/metis-andromeda-sepolia-archive \
|
||||||
|
# -H "Content-Type: application/json" \
|
||||||
|
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
metis-andromeda-sepolia-archive-client:
|
metis-andromeda-sepolia-archive:
|
||||||
image: ${METIS_ANDROMEDA_L2GETH_IMAGE:-metisdao/l2geth}:${METIS_ANDROMEDA_SEPOLIA_L2GETH_VERSION:-v0.3.5}
|
image: ${METIS_ANDROMEDA_L2GETH_IMAGE:-metisdao/l2geth}:${METIS_ANDROMEDA_SEPOLIA_L2GETH_VERSION:-v0.3.9}
|
||||||
sysctls:
|
sysctls:
|
||||||
# TCP Performance
|
# TCP Performance
|
||||||
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
||||||
@@ -75,37 +103,35 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ${METIS_ANDROMEDA_SEPOLIA_L2GETH_ARCHIVE_LEVELDB_HASH_DATA:-metis-andromeda-sepolia-l2geth-archive-leveldb-hash}:/root/.ethereum
|
- ${METIS_ANDROMEDA_SEPOLIA_L2GETH_ARCHIVE_LEVELDB_HASH_DATA:-metis-andromeda-sepolia-l2geth-archive-leveldb-hash}:/root/.ethereum
|
||||||
- /slowdisk:/slowdisk
|
- /slowdisk:/slowdisk
|
||||||
|
logging: *logging-defaults
|
||||||
metis-andromeda-sepolia-archive:
|
|
||||||
image: nginx
|
|
||||||
environment:
|
|
||||||
PROXY_HOST: metis-andromeda-sepolia-archive-client
|
|
||||||
RPC_PATH: ''
|
|
||||||
RPC_PORT: 8545
|
|
||||||
WS_PATH: ''
|
|
||||||
WS_PORT: 8546
|
|
||||||
restart: unless-stopped
|
|
||||||
depends_on:
|
|
||||||
- metis-andromeda-sepolia-archive-client
|
|
||||||
networks:
|
|
||||||
- chains
|
|
||||||
volumes:
|
|
||||||
- ./nginx-proxy:/etc/nginx/templates
|
|
||||||
labels:
|
labels:
|
||||||
|
- prometheus-scrape.enabled=false
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.http.middlewares.metis-andromeda-sepolia-l2geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/metis-andromeda-sepolia-archive
|
- traefik.http.middlewares.metis-andromeda-sepolia-l2geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/metis-andromeda-sepolia-archive
|
||||||
- traefik.http.services.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.loadbalancer.server.port=80
|
- traefik.http.services.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.loadbalancer.server.port=8545
|
||||||
- ${NO_SSL:-traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.entrypoints=websecure}
|
- ${NO_SSL:-traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.entrypoints=websecure}
|
||||||
- ${NO_SSL:-traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.tls.certresolver=myresolver}
|
- ${NO_SSL:-traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.tls.certresolver=myresolver}
|
||||||
- ${NO_SSL:-traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/metis-andromeda-sepolia-archive`) || Path(`/metis-andromeda-sepolia-archive/`))}
|
- ${NO_SSL:-traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/metis-andromeda-sepolia-archive`) || Path(`/metis-andromeda-sepolia-archive/`))}
|
||||||
- ${NO_SSL:+traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.rule=Path(`/metis-andromeda-sepolia-archive`) || Path(`/metis-andromeda-sepolia-archive/`)}
|
- ${NO_SSL:+traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.rule=Path(`/metis-andromeda-sepolia-archive`) || Path(`/metis-andromeda-sepolia-archive/`)}
|
||||||
- traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.middlewares=metis-andromeda-sepolia-l2geth-archive-leveldb-hash-stripprefix, ipallowlist
|
- traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.middlewares=metis-andromeda-sepolia-l2geth-archive-leveldb-hash-stripprefix, ipallowlist
|
||||||
|
- traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.priority=50 # gets any request that is not GET with UPGRADE header
|
||||||
|
- traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash-ws.priority=100 # answers GET requests first
|
||||||
|
- traefik.http.services.metis-andromeda-sepolia-l2geth-archive-leveldb-hash-ws.loadbalancer.server.port=8546
|
||||||
|
- traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash-ws.service=metis-andromeda-sepolia-l2geth-archive-leveldb-hash-ws
|
||||||
|
- traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash.service=metis-andromeda-sepolia-l2geth-archive-leveldb-hash
|
||||||
|
- ${NO_SSL:-traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash-ws.entrypoints=websecure}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash-ws.tls.certresolver=myresolver}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash-ws.rule=Host(`$DOMAIN`) && (Path(`/metis-andromeda-sepolia-archive`) || Path(`/metis-andromeda-sepolia-archive/`)) && Headers(`Upgrade`, `websocket`)}
|
||||||
|
- ${NO_SSL:+traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash-ws.rule=(Path(`/metis-andromeda-sepolia-archive`) || Path(`/metis-andromeda-sepolia-archive/`)) && Headers(`Upgrade`, `websocket`)}
|
||||||
|
- traefik.http.routers.metis-andromeda-sepolia-l2geth-archive-leveldb-hash-ws.middlewares=metis-andromeda-sepolia-l2geth-archive-leveldb-hash-stripprefix, ipallowlist
|
||||||
|
|
||||||
metis-andromeda-sepolia-archive-node:
|
metis-andromeda-sepolia-archive-node:
|
||||||
image: ${METIS_ANDROMEDA_DTL_IMAGE:-metisdao/dtl}:${METIS_ANDROMEDA_SEPOLIA_DTL_VERSION:-v0.1.3}
|
image: ${METIS_ANDROMEDA_DTL_IMAGE:-metisdao/dtl}:${METIS_ANDROMEDA_SEPOLIA_DTL_VERSION:-v0.2.6}
|
||||||
ports:
|
ports:
|
||||||
- 19563:19563
|
- 19563:19563
|
||||||
- 19563:19563/udp
|
- 19563:19563/udp
|
||||||
|
expose:
|
||||||
|
- 7878
|
||||||
environment:
|
environment:
|
||||||
- DATA_TRANSPORT_LAYER__BATCH_INBOX_ADDRESS=0xff00000000000000000000000001115511159902
|
- DATA_TRANSPORT_LAYER__BATCH_INBOX_ADDRESS=0xff00000000000000000000000001115511159902
|
||||||
- DATA_TRANSPORT_LAYER__BATCH_INBOX_L1_HEIGHT=5536000
|
- DATA_TRANSPORT_LAYER__BATCH_INBOX_L1_HEIGHT=5536000
|
||||||
@@ -138,12 +164,15 @@ services:
|
|||||||
- URL=https://metisprotocol.github.io/metis-networks/sepolia-testnet/addresses.json
|
- URL=https://metisprotocol.github.io/metis-networks/sepolia-testnet/addresses.json
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- metis-andromeda-sepolia-archive-client
|
- metis-andromeda-sepolia-archive
|
||||||
networks:
|
networks:
|
||||||
- chains
|
- chains
|
||||||
volumes:
|
volumes:
|
||||||
- ${METIS_ANDROMEDA_SEPOLIA_L2GETH_ARCHIVE_LEVELDB_HASH__DTL_DATA:-metis-andromeda-sepolia-l2geth-archive-leveldb-hash_dtl}:/data
|
- ${METIS_ANDROMEDA_SEPOLIA_L2GETH_ARCHIVE_LEVELDB_HASH__DTL_DATA:-metis-andromeda-sepolia-l2geth-archive-leveldb-hash_dtl}:/data
|
||||||
- .jwtsecret:/jwtsecret:ro
|
- .jwtsecret:/jwtsecret:ro
|
||||||
|
logging: *logging-defaults
|
||||||
|
labels:
|
||||||
|
- prometheus-scrape.enabled=false
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
metis-andromeda-sepolia-l2geth-archive-leveldb-hash:
|
metis-andromeda-sepolia-l2geth-archive-leveldb-hash:
|
||||||
@@ -161,7 +190,7 @@ x-upstreams:
|
|||||||
frameSize: 20Mb
|
frameSize: 20Mb
|
||||||
msgSize: 50Mb
|
msgSize: 50Mb
|
||||||
url: $${WS_URL}
|
url: $${WS_URL}
|
||||||
chain: $${CHAIN}
|
chain:
|
||||||
method-groups:
|
method-groups:
|
||||||
enabled:
|
enabled:
|
||||||
- debug
|
- debug
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ services:
|
|||||||
- GETH_CONFIG=/config/gethconfig.toml
|
- GETH_CONFIG=/config/gethconfig.toml
|
||||||
- GETH_ETHSTATS=d${DOMAIN}:${ZIRCUIT_TESTNET_WS_SECRET}@${ZIRCUIT_TESTNET_ETH_STATS_SERVER}:${ZIRCUIT_TESTNET_ETH_STATS_SERVER_PORT}
|
- GETH_ETHSTATS=d${DOMAIN}:${ZIRCUIT_TESTNET_WS_SECRET}@${ZIRCUIT_TESTNET_ETH_STATS_SERVER}:${ZIRCUIT_TESTNET_ETH_STATS_SERVER_PORT}
|
||||||
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
|
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
|
||||||
|
- GETH_ROLLUP_SEQUENCERHTTP=https://zircuit-testnet.drpc.org
|
||||||
- GETH_TXPOOL_GLOBALQUEUE=1024
|
- GETH_TXPOOL_GLOBALQUEUE=1024
|
||||||
entrypoint: /bin/sh -c 'exec geth "$@"' --
|
entrypoint: /bin/sh -c 'exec geth "$@"' --
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ services:
|
|||||||
- GETH_CONFIG=/config/gethconfig.toml
|
- GETH_CONFIG=/config/gethconfig.toml
|
||||||
- GETH_ETHSTATS=d${DOMAIN}:${ZIRCUIT_TESTNET_WS_SECRET}@${ZIRCUIT_TESTNET_ETH_STATS_SERVER}:${ZIRCUIT_TESTNET_ETH_STATS_SERVER_PORT}
|
- GETH_ETHSTATS=d${DOMAIN}:${ZIRCUIT_TESTNET_WS_SECRET}@${ZIRCUIT_TESTNET_ETH_STATS_SERVER}:${ZIRCUIT_TESTNET_ETH_STATS_SERVER_PORT}
|
||||||
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
|
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
|
||||||
|
- GETH_ROLLUP_SEQUENCERHTTP=https://zircuit-testnet.drpc.org
|
||||||
- GETH_TXPOOL_GLOBALQUEUE=1024
|
- GETH_TXPOOL_GLOBALQUEUE=1024
|
||||||
entrypoint: /bin/sh -c 'exec geth "$@"' --
|
entrypoint: /bin/sh -c 'exec geth "$@"' --
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ services:
|
|||||||
- GETH_CONFIG=/config/gethconfig.toml
|
- GETH_CONFIG=/config/gethconfig.toml
|
||||||
- GETH_ETHSTATS=d${DOMAIN}:${ZIRCUIT_TESTNET_WS_SECRET}@${ZIRCUIT_TESTNET_ETH_STATS_SERVER}:${ZIRCUIT_TESTNET_ETH_STATS_SERVER_PORT}
|
- GETH_ETHSTATS=d${DOMAIN}:${ZIRCUIT_TESTNET_WS_SECRET}@${ZIRCUIT_TESTNET_ETH_STATS_SERVER}:${ZIRCUIT_TESTNET_ETH_STATS_SERVER_PORT}
|
||||||
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
|
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
|
||||||
|
- GETH_ROLLUP_SEQUENCERHTTP=https://zircuit-testnet.drpc.org
|
||||||
- GETH_TXPOOL_GLOBALQUEUE=1024
|
- GETH_TXPOOL_GLOBALQUEUE=1024
|
||||||
entrypoint: /bin/sh -c 'exec geth "$@"' --
|
entrypoint: /bin/sh -c 'exec geth "$@"' --
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ services:
|
|||||||
- GETH_CONFIG=/config/gethconfig.toml
|
- GETH_CONFIG=/config/gethconfig.toml
|
||||||
- GETH_ETHSTATS=d${DOMAIN}:${ZIRCUIT_TESTNET_WS_SECRET}@${ZIRCUIT_TESTNET_ETH_STATS_SERVER}:${ZIRCUIT_TESTNET_ETH_STATS_SERVER_PORT}
|
- GETH_ETHSTATS=d${DOMAIN}:${ZIRCUIT_TESTNET_WS_SECRET}@${ZIRCUIT_TESTNET_ETH_STATS_SERVER}:${ZIRCUIT_TESTNET_ETH_STATS_SERVER_PORT}
|
||||||
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
|
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
|
||||||
|
- GETH_ROLLUP_SEQUENCERHTTP=https://zircuit-testnet.drpc.org
|
||||||
- GETH_TXPOOL_GLOBALQUEUE=1024
|
- GETH_TXPOOL_GLOBALQUEUE=1024
|
||||||
entrypoint: /bin/sh -c 'exec geth "$@"' --
|
entrypoint: /bin/sh -c 'exec geth "$@"' --
|
||||||
command:
|
command:
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -178,7 +178,7 @@ x-upstreams:
|
|||||||
frameSize: 20Mb
|
frameSize: 20Mb
|
||||||
msgSize: 50Mb
|
msgSize: 50Mb
|
||||||
url: $${WS_URL}
|
url: $${WS_URL}
|
||||||
chain:
|
chain: solana
|
||||||
method-groups:
|
method-groups:
|
||||||
enabled:
|
enabled:
|
||||||
- debug
|
- debug
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ x-upstreams:
|
|||||||
frameSize: 20Mb
|
frameSize: 20Mb
|
||||||
msgSize: 50Mb
|
msgSize: 50Mb
|
||||||
url: $${WS_URL}
|
url: $${WS_URL}
|
||||||
chain:
|
chain: solana-testnet
|
||||||
method-groups:
|
method-groups:
|
||||||
enabled:
|
enabled:
|
||||||
- debug
|
- debug
|
||||||
|
|||||||
Reference in New Issue
Block a user