Compare commits
240 Commits
vibe
...
e9024c5c17
| Author | SHA1 | Date | |
|---|---|---|---|
| e9024c5c17 | |||
| 2e08acbe07 | |||
| ef88539ae6 | |||
| 241c52848b | |||
| eeb894d783 | |||
|
|
df8aeaefd1 | ||
|
|
86d0f53569 | ||
|
|
2a194909da | ||
|
|
4b03b4cdbc | ||
|
|
07e198c87d | ||
|
|
aa5ffb63b6 | ||
|
|
1aef140a9a | ||
|
|
eccae5039f | ||
|
|
0792d26756 | ||
|
|
6a4a30b55a | ||
|
|
d49e3814d5 | ||
|
|
91ef991773 | ||
|
|
d369f62c44 | ||
|
|
1390b47bb8 | ||
|
|
19739b5c34 | ||
|
|
49a3b5c8b7 | ||
|
|
bb3b54934d | ||
|
|
d5f755629f | ||
|
|
6e97a5e6f7 | ||
|
|
3b7b662564 | ||
|
|
3792c9a130 | ||
|
|
8d87ebb982 | ||
|
|
5b99762bd6 | ||
|
|
4bd8db226e | ||
|
|
b7c3683981 | ||
|
|
db7e8edb98 | ||
|
|
3f018e20d8 | ||
|
|
3247bfe5b1 | ||
|
|
e30ec1d62f | ||
|
|
19c01590d9 | ||
|
|
0f632a91f7 | ||
|
|
cffead2093 | ||
|
|
37cd50fbfb | ||
|
|
d2c140bc28 | ||
|
|
4fa3ab857b | ||
|
|
a2f4f86dbf | ||
|
|
3d8b2e26b9 | ||
|
|
1ad017b27c | ||
|
|
27e15523cd | ||
|
|
69c306da55 | ||
|
|
2ee964883f | ||
|
|
a233937bb9 | ||
|
|
f973ab6002 | ||
|
|
7505df8747 | ||
|
|
967b4bab25 | ||
|
|
486bf0b81a | ||
|
|
e6eb416f11 | ||
|
|
2c77800c94 | ||
|
|
d37af5387c | ||
|
|
0d593e6eb2 | ||
|
|
ed094dbe11 | ||
|
|
1bb1e3c8c3 | ||
|
|
b53a6a41b5 | ||
|
|
5fb687d6a3 | ||
|
|
9a2aedaf51 | ||
|
|
2efbc1d1b1 | ||
|
|
f6392cfe1c | ||
|
|
96e2c184eb | ||
|
|
d86bceec3b | ||
| 6daffd04df | |||
| e2b76be395 | |||
| 20aeedbc9c | |||
| 459e90e187 | |||
| 0c8b4089fc | |||
| e8a4d65c52 | |||
| a7ee7448d8 | |||
| 2e08603b67 | |||
| 76c441e2bb | |||
| 31de6192df | |||
| 705e79626c | |||
| 9d734b2825 | |||
| 55614918e4 | |||
| 0f0859844b | |||
|
|
0dc8aa8358 | ||
| 5e53cc33a0 | |||
| 8e3656a3f8 | |||
| dc8c73c264 | |||
| 3b97b1bc55 | |||
| 67c08fe6c9 | |||
| 7dc379dd05 | |||
| bbb6205cb4 | |||
| 53697cb40d | |||
| abb3c4b189 | |||
| bc95c7e1a6 | |||
| 4a62c8b243 | |||
| 97a3ce1db4 | |||
| f921cf4028 | |||
| 065c31dbb5 | |||
| f75470e2c1 | |||
| e8cc23ae26 | |||
| 5af2b5ace8 | |||
| e51d99c433 | |||
| c03cc74943 | |||
| 737ffdac32 | |||
| d0291932bc | |||
| 926a993129 | |||
| e232e6d625 | |||
|
|
1a3a607eda | ||
|
|
89cf3ab255 | ||
| fa05752e57 | |||
| 3606ba0f2b | |||
| cbf548df5b | |||
| 6a14b7abd4 | |||
| 3c591608f1 | |||
| b569c87930 | |||
| 42f845fa40 | |||
| 2c34c9e376 | |||
| 4e8fadb56a | |||
| 4f6c2b5fcd | |||
| aa5386cc0b | |||
| f51e0d4910 | |||
| 7fb3f08498 | |||
| ed051c2b46 | |||
| d5bfffecda | |||
| 21813cbdd0 | |||
| dcbbcf5cde | |||
| ec9d966f2f | |||
| a5210206a1 | |||
| 847c68a676 | |||
| ea1a05b49f | |||
| 4756813b30 | |||
| a455b28e04 | |||
| 58b4cf8aa1 | |||
| f1c0fab51c | |||
| 3546d79e75 | |||
|
|
c42f0e0f25 | ||
|
|
3db32fd356 | ||
|
|
4afa6d9854 | ||
|
|
44adaf52dd | ||
| 3bffde93d3 | |||
| 15eabc9e62 | |||
| 4aa653b29a | |||
| b05c8d41bc | |||
| dc65000d4b | |||
| 9fc1e2d95b | |||
| 0bbd716acf | |||
| 60b8cd5048 | |||
| 1cf7bd5651 | |||
| 9310b078e0 | |||
| ce20a16c79 | |||
| 9fd3047e18 | |||
|
|
5e106aea33 | ||
|
|
f2ac6cab05 | ||
| f3b40c9ef8 | |||
| dc977d47be | |||
| 5e040bcd4a | |||
| 71d48d0493 | |||
| 9abe6409ac | |||
| 2f84138733 | |||
| 40c457c370 | |||
| a955c5cd92 | |||
| 5dbea9f017 | |||
| 74e21ccf73 | |||
| e06da27b3e | |||
| c8017d9ea9 | |||
| e90198a831 | |||
| 4e307bcde5 | |||
| 44e7127a37 | |||
| 518c2ede2e | |||
|
|
12e197fffa | ||
|
|
1416f91636 | ||
| 69d178d79b | |||
| 63fd119d55 | |||
| 641c1d8fa1 | |||
| 4b24f7969f | |||
| 2f65975bcd | |||
| 400ea86d29 | |||
| 206109c2a3 | |||
| b74d521064 | |||
| 02976155d5 | |||
| a583d9cf8c | |||
|
|
22b4ecd042 | ||
|
|
4ae053438c | ||
|
|
0031e43550 | ||
| 7ef8301ccf | |||
| c8f96a3a39 | |||
| 413ca7ccd4 | |||
| f92f80abd0 | |||
| 67731beed0 | |||
| 9ce4b5cd0a | |||
| 433bb6f341 | |||
| 0aa4ad0aa2 | |||
| 1c033cf699 | |||
| 9c9523a031 | |||
|
|
158dc903df | ||
|
|
b7ec2ff084 | ||
| 6d97078f70 | |||
|
|
a30f2cbfe9 | ||
| 72c96bc8f9 | |||
| 1ba4ad97c5 | |||
| feffc2ab0a | |||
| f6f9d92171 | |||
|
|
e70f42196d | ||
| aa3ac10893 | |||
| 8094518094 | |||
| 124d19dbb6 | |||
| 6cb5b12ab0 | |||
| a09b33b7a0 | |||
| c35fdd0f15 | |||
| d814146f13 | |||
|
|
39648446a5 | ||
|
|
42d9d64dfa | ||
|
|
2ac216bdfe | ||
|
|
bf2f75d1cd | ||
|
|
376b1a750f | ||
|
|
eafbb2e2c3 | ||
|
|
10f429e743 | ||
|
|
a6e7348b40 | ||
|
|
3c20aac136 | ||
|
|
3c68c92ecc | ||
| 56d7772909 | |||
| 3517b98ef5 | |||
| 6bd7b35ae0 | |||
| 5687d74a62 | |||
| beacca7986 | |||
| 737a8e24a7 | |||
| 336adb68e6 | |||
| 1022f44959 | |||
| f174b0cc61 | |||
| 65919f6c01 | |||
| 73d376f589 | |||
| c6d33fde72 | |||
| 08e537ee71 | |||
| 6915a759d1 | |||
| a7661930be | |||
| 749ff64f8f | |||
| b7fe145fa5 | |||
| bd6083231f | |||
| 0a880c3f3f | |||
| 1987f07cf8 | |||
| a0f098de79 | |||
| 6fb1d76b13 | |||
| e136b0fc52 | |||
| 607dbe7020 | |||
| c2582b0b76 |
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
abstract-mainnet-archive:
|
abstract-mainnet-archive:
|
||||||
image: ${ABSTRACT_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ABSTRACT_MAINNET_EXTERNAL_NODE_VERSION:-v29.7.0}
|
image: ${ABSTRACT_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ABSTRACT_MAINNET_EXTERNAL_NODE_VERSION:-v29.17.0}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
abstract-mainnet:
|
abstract-mainnet:
|
||||||
image: ${ABSTRACT_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ABSTRACT_MAINNET_EXTERNAL_NODE_VERSION:-v29.7.0}
|
image: ${ABSTRACT_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ABSTRACT_MAINNET_EXTERNAL_NODE_VERSION:-v29.17.0}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
abstract-testnet-archive:
|
abstract-testnet-archive:
|
||||||
image: ${ABSTRACT_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ABSTRACT_TESTNET_EXTERNAL_NODE_VERSION:-v29.7.0}
|
image: ${ABSTRACT_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ABSTRACT_TESTNET_EXTERNAL_NODE_VERSION:-v29.17.0}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
abstract-testnet:
|
abstract-testnet:
|
||||||
image: ${ABSTRACT_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ABSTRACT_TESTNET_EXTERNAL_NODE_VERSION:-v29.7.0}
|
image: ${ABSTRACT_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ABSTRACT_TESTNET_EXTERNAL_NODE_VERSION:-v29.17.0}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
alephzero-mainnet-archive:
|
alephzero-mainnet-archive:
|
||||||
image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_MAINNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.alephzero.raas.gelato.cloud
|
- --node.data-availability.rest-aggregator.urls=https://das.alephzero.raas.gelato.cloud
|
||||||
- --node.data-availability.sequencer-inbox-address=0x1411949971076304187394088912578077660717096867958
|
|
||||||
- --node.feed.input.url=wss://feed.alephzero.raas.gelato.cloud
|
- --node.feed.input.url=wss://feed.alephzero.raas.gelato.cloud
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
alephzero-mainnet:
|
alephzero-mainnet:
|
||||||
image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_MAINNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.alephzero.raas.gelato.cloud
|
- --node.data-availability.rest-aggregator.urls=https://das.alephzero.raas.gelato.cloud
|
||||||
- --node.data-availability.sequencer-inbox-address=0x1411949971076304187394088912578077660717096867958
|
|
||||||
- --node.feed.input.url=wss://feed.alephzero.raas.gelato.cloud
|
- --node.feed.input.url=wss://feed.alephzero.raas.gelato.cloud
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
alephzero-sepolia-archive:
|
alephzero-sepolia-archive:
|
||||||
image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_SEPOLIA_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_SEPOLIA_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.alephzero-testnet.gelato.digital
|
- --node.data-availability.rest-aggregator.urls=https://das.alephzero-testnet.gelato.digital
|
||||||
- --node.data-availability.sequencer-inbox-address=0x130937498521962644184395825246273622310592356541
|
|
||||||
- --node.feed.input.url=wss://feed.alephzero-testnet.gelato.digital
|
- --node.feed.input.url=wss://feed.alephzero-testnet.gelato.digital
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
alephzero-sepolia:
|
alephzero-sepolia:
|
||||||
image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_SEPOLIA_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_SEPOLIA_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.alephzero-testnet.gelato.digital
|
- --node.data-availability.rest-aggregator.urls=https://das.alephzero-testnet.gelato.digital
|
||||||
- --node.data-availability.sequencer-inbox-address=0x130937498521962644184395825246273622310592356541
|
|
||||||
- --node.feed.input.url=wss://feed.alephzero-testnet.gelato.digital
|
- --node.feed.input.url=wss://feed.alephzero-testnet.gelato.digital
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
arbitrum-nova-archive:
|
arbitrum-nova-archive:
|
||||||
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
|
|||||||
142
arb/nitro/arbitrum-nova-nitro-archive-pebble-path.yml
Normal file
142
arb/nitro/arbitrum-nova-nitro-archive-pebble-path.yml
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
---
|
||||||
|
x-logging-defaults: &logging-defaults
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
|
# 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:arb/nitro/arbitrum-nova-nitro-archive-pebble-path.yml
|
||||||
|
#
|
||||||
|
# docker compose up -d
|
||||||
|
#
|
||||||
|
# curl -X POST https://${IP}.traefik.me/arbitrum-nova-archive \
|
||||||
|
# -H "Content-Type: application/json" \
|
||||||
|
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
||||||
|
|
||||||
|
services:
|
||||||
|
arbitrum-nova-archive:
|
||||||
|
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
|
sysctls:
|
||||||
|
# TCP Performance
|
||||||
|
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
||||||
|
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
|
||||||
|
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
|
||||||
|
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
|
||||||
|
net.core.somaxconn: 32768 # Higher connection queue
|
||||||
|
# Memory/Connection Management
|
||||||
|
# net.core.netdev_max_backlog: 50000 # Increase network buffer
|
||||||
|
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
|
||||||
|
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
|
||||||
|
ulimits:
|
||||||
|
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||||
|
user: root
|
||||||
|
expose:
|
||||||
|
- 8545
|
||||||
|
command:
|
||||||
|
- --chain.id=42170
|
||||||
|
- --execution.caching.archive=true
|
||||||
|
- --execution.caching.database-cache=${ARBITRUM_NOVA_NITRO_ARCHIVE_PEBBLE_PATH_DATABASE_CACHE:-2048}
|
||||||
|
- --execution.caching.snapshot-cache=${ARBITRUM_NOVA_NITRO_ARCHIVE_PEBBLE_PATH_SNAPSHOT_CACHE:-400}
|
||||||
|
- --execution.caching.state-scheme=path
|
||||||
|
- --execution.caching.trie-clean-cache=${ARBITRUM_NOVA_NITRO_ARCHIVE_PEBBLE_PATH_TRIE_CLEAN_CACHE:-600}
|
||||||
|
- --execution.caching.trie-dirty-cache=${ARBITRUM_NOVA_NITRO_ARCHIVE_PEBBLE_PATH_TRIE_DIRTY_CACHE:-1024}
|
||||||
|
- --execution.rpc.gas-cap=5500000000
|
||||||
|
- --execution.sequencer.enable=false
|
||||||
|
- --http.addr=0.0.0.0
|
||||||
|
- --http.api=eth,net,web3,arb,txpool,debug
|
||||||
|
- --http.corsdomain=*
|
||||||
|
- --http.port=8545
|
||||||
|
- --http.vhosts=*
|
||||||
|
- --metrics
|
||||||
|
- --metrics-server.addr=0.0.0.0
|
||||||
|
- --metrics-server.port=6070
|
||||||
|
- --node.batch-poster.enable=false
|
||||||
|
- --node.sequencer=false
|
||||||
|
- --node.staker.enable=false
|
||||||
|
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
|
||||||
|
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||||
|
- --persistent.chain=/root/.arbitrum/arbitrum-nova-archive
|
||||||
|
- --persistent.db-engine=pebble
|
||||||
|
- --ws.addr=0.0.0.0
|
||||||
|
- --ws.origins=*
|
||||||
|
- --ws.port=8545
|
||||||
|
restart: unless-stopped
|
||||||
|
stop_grace_period: 5m
|
||||||
|
networks:
|
||||||
|
- chains
|
||||||
|
volumes:
|
||||||
|
- ${ARBITRUM_NOVA_NITRO_ARCHIVE_PEBBLE_PATH_DATA:-arbitrum-nova-nitro-archive-pebble-path}:/root/.arbitrum
|
||||||
|
- ./tmp/arbitrum-nova-archive:/tmp
|
||||||
|
- /slowdisk:/slowdisk
|
||||||
|
logging: *logging-defaults
|
||||||
|
labels:
|
||||||
|
- prometheus-scrape.enabled=true
|
||||||
|
- prometheus-scrape.port=6070
|
||||||
|
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.middlewares.arbitrum-nova-nitro-archive-pebble-path-stripprefix.stripprefix.prefixes=/arbitrum-nova-archive
|
||||||
|
- traefik.http.services.arbitrum-nova-nitro-archive-pebble-path.loadbalancer.server.port=8545
|
||||||
|
- ${NO_SSL:-traefik.http.routers.arbitrum-nova-nitro-archive-pebble-path.entrypoints=websecure}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.arbitrum-nova-nitro-archive-pebble-path.tls.certresolver=myresolver}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.arbitrum-nova-nitro-archive-pebble-path.rule=Host(`$DOMAIN`) && (Path(`/arbitrum-nova-archive`) || Path(`/arbitrum-nova-archive/`))}
|
||||||
|
- ${NO_SSL:+traefik.http.routers.arbitrum-nova-nitro-archive-pebble-path.rule=Path(`/arbitrum-nova-archive`) || Path(`/arbitrum-nova-archive/`)}
|
||||||
|
- traefik.http.routers.arbitrum-nova-nitro-archive-pebble-path.middlewares=arbitrum-nova-nitro-archive-pebble-path-stripprefix, ipallowlist
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
arbitrum-nova-nitro-archive-pebble-path:
|
||||||
|
|
||||||
|
x-upstreams:
|
||||||
|
- id: $${ID}
|
||||||
|
labels:
|
||||||
|
provider: $${PROVIDER}
|
||||||
|
connection:
|
||||||
|
generic:
|
||||||
|
rpc:
|
||||||
|
url: $${RPC_URL}
|
||||||
|
ws:
|
||||||
|
frameSize: 20Mb
|
||||||
|
msgSize: 50Mb
|
||||||
|
url: $${WS_URL}
|
||||||
|
chain: arbitrum-nova
|
||||||
|
method-groups:
|
||||||
|
enabled:
|
||||||
|
- debug
|
||||||
|
- filter
|
||||||
|
methods:
|
||||||
|
disabled:
|
||||||
|
# not compatible with path state scheme
|
||||||
|
- name: debug_traceBlockByHash
|
||||||
|
enabled:
|
||||||
|
- name: txpool_content # TODO: should be disabled for rollup nodes
|
||||||
|
# standard geth only
|
||||||
|
- name: debug_getRawBlock
|
||||||
|
- name: debug_getRawTransaction
|
||||||
|
- name: debug_getRawReceipts
|
||||||
|
- name: debug_getRawHeader
|
||||||
|
- name: debug_getBadBlocks
|
||||||
|
# non standard geth only slightly dangerous
|
||||||
|
- name: debug_intermediateRoots
|
||||||
|
- name: debug_dumpBlock
|
||||||
|
# standard geth and erigon
|
||||||
|
- name: debug_accountRange
|
||||||
|
- name: debug_getModifiedAccountsByNumber
|
||||||
|
- name: debug_getModifiedAccountsByHash
|
||||||
|
# non standard geth and erigon
|
||||||
|
- name: eth_getRawTransactionByHash
|
||||||
|
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||||
|
...
|
||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
arbitrum-nova:
|
arbitrum-nova:
|
||||||
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
arbitrum-one-archive:
|
arbitrum-one-archive:
|
||||||
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
arbitrum-one-archive:
|
arbitrum-one-archive:
|
||||||
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
|
|||||||
142
arb/nitro/arbitrum-one-nitro-archive-pebble-path.yml
Normal file
142
arb/nitro/arbitrum-one-nitro-archive-pebble-path.yml
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
---
|
||||||
|
x-logging-defaults: &logging-defaults
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
|
# 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:arb/nitro/arbitrum-one-nitro-archive-pebble-path.yml
|
||||||
|
#
|
||||||
|
# docker compose up -d
|
||||||
|
#
|
||||||
|
# curl -X POST https://${IP}.traefik.me/arbitrum-one-archive \
|
||||||
|
# -H "Content-Type: application/json" \
|
||||||
|
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
||||||
|
|
||||||
|
services:
|
||||||
|
arbitrum-one-archive:
|
||||||
|
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
|
sysctls:
|
||||||
|
# TCP Performance
|
||||||
|
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
||||||
|
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
|
||||||
|
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
|
||||||
|
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
|
||||||
|
net.core.somaxconn: 32768 # Higher connection queue
|
||||||
|
# Memory/Connection Management
|
||||||
|
# net.core.netdev_max_backlog: 50000 # Increase network buffer
|
||||||
|
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
|
||||||
|
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
|
||||||
|
ulimits:
|
||||||
|
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||||
|
user: root
|
||||||
|
expose:
|
||||||
|
- 8545
|
||||||
|
command:
|
||||||
|
- --chain.id=42161
|
||||||
|
- --execution.caching.archive=true
|
||||||
|
- --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_PATH_DATABASE_CACHE:-2048}
|
||||||
|
- --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_PATH_SNAPSHOT_CACHE:-400}
|
||||||
|
- --execution.caching.state-scheme=path
|
||||||
|
- --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_PATH_TRIE_CLEAN_CACHE:-600}
|
||||||
|
- --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_PATH_TRIE_DIRTY_CACHE:-1024}
|
||||||
|
- --execution.rpc.gas-cap=5500000000
|
||||||
|
- --execution.sequencer.enable=false
|
||||||
|
- --http.addr=0.0.0.0
|
||||||
|
- --http.api=eth,net,web3,arb,txpool,debug
|
||||||
|
- --http.corsdomain=*
|
||||||
|
- --http.port=8545
|
||||||
|
- --http.vhosts=*
|
||||||
|
- --metrics
|
||||||
|
- --metrics-server.addr=0.0.0.0
|
||||||
|
- --metrics-server.port=6070
|
||||||
|
- --node.batch-poster.enable=false
|
||||||
|
- --node.sequencer=false
|
||||||
|
- --node.staker.enable=false
|
||||||
|
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
|
||||||
|
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||||
|
- --persistent.chain=/root/.arbitrum/arbitrum-one-archive
|
||||||
|
- --persistent.db-engine=pebble
|
||||||
|
- --ws.addr=0.0.0.0
|
||||||
|
- --ws.origins=*
|
||||||
|
- --ws.port=8545
|
||||||
|
restart: unless-stopped
|
||||||
|
stop_grace_period: 5m
|
||||||
|
networks:
|
||||||
|
- chains
|
||||||
|
volumes:
|
||||||
|
- ${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_PATH_DATA:-arbitrum-one-nitro-archive-pebble-path}:/root/.arbitrum
|
||||||
|
- ./tmp/arbitrum-one-archive:/tmp
|
||||||
|
- /slowdisk:/slowdisk
|
||||||
|
logging: *logging-defaults
|
||||||
|
labels:
|
||||||
|
- prometheus-scrape.enabled=true
|
||||||
|
- prometheus-scrape.port=6070
|
||||||
|
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.middlewares.arbitrum-one-nitro-archive-pebble-path-stripprefix.stripprefix.prefixes=/arbitrum-one-archive
|
||||||
|
- traefik.http.services.arbitrum-one-nitro-archive-pebble-path.loadbalancer.server.port=8545
|
||||||
|
- ${NO_SSL:-traefik.http.routers.arbitrum-one-nitro-archive-pebble-path.entrypoints=websecure}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.arbitrum-one-nitro-archive-pebble-path.tls.certresolver=myresolver}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.arbitrum-one-nitro-archive-pebble-path.rule=Host(`$DOMAIN`) && (Path(`/arbitrum-one-archive`) || Path(`/arbitrum-one-archive/`))}
|
||||||
|
- ${NO_SSL:+traefik.http.routers.arbitrum-one-nitro-archive-pebble-path.rule=Path(`/arbitrum-one-archive`) || Path(`/arbitrum-one-archive/`)}
|
||||||
|
- traefik.http.routers.arbitrum-one-nitro-archive-pebble-path.middlewares=arbitrum-one-nitro-archive-pebble-path-stripprefix, ipallowlist
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
arbitrum-one-nitro-archive-pebble-path:
|
||||||
|
|
||||||
|
x-upstreams:
|
||||||
|
- id: $${ID}
|
||||||
|
labels:
|
||||||
|
provider: $${PROVIDER}
|
||||||
|
connection:
|
||||||
|
generic:
|
||||||
|
rpc:
|
||||||
|
url: $${RPC_URL}
|
||||||
|
ws:
|
||||||
|
frameSize: 20Mb
|
||||||
|
msgSize: 50Mb
|
||||||
|
url: $${WS_URL}
|
||||||
|
chain: arbitrum
|
||||||
|
method-groups:
|
||||||
|
enabled:
|
||||||
|
- debug
|
||||||
|
- filter
|
||||||
|
methods:
|
||||||
|
disabled:
|
||||||
|
# not compatible with path state scheme
|
||||||
|
- name: debug_traceBlockByHash
|
||||||
|
enabled:
|
||||||
|
- name: txpool_content # TODO: should be disabled for rollup nodes
|
||||||
|
# standard geth only
|
||||||
|
- name: debug_getRawBlock
|
||||||
|
- name: debug_getRawTransaction
|
||||||
|
- name: debug_getRawReceipts
|
||||||
|
- name: debug_getRawHeader
|
||||||
|
- name: debug_getBadBlocks
|
||||||
|
# non standard geth only slightly dangerous
|
||||||
|
- name: debug_intermediateRoots
|
||||||
|
- name: debug_dumpBlock
|
||||||
|
# standard geth and erigon
|
||||||
|
- name: debug_accountRange
|
||||||
|
- name: debug_getModifiedAccountsByNumber
|
||||||
|
- name: debug_getModifiedAccountsByHash
|
||||||
|
# non standard geth and erigon
|
||||||
|
- name: eth_getRawTransactionByHash
|
||||||
|
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||||
|
...
|
||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
arbitrum-one:
|
arbitrum-one:
|
||||||
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
arbitrum-sepolia-archive:
|
arbitrum-sepolia-archive:
|
||||||
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
arbitrum-sepolia:
|
arbitrum-sepolia:
|
||||||
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
connext-sepolia-archive:
|
connext-sepolia-archive:
|
||||||
image: ${CONNEXT_NITRO_IMAGE:-offchainlabs/nitro-node}:${CONNEXT_SEPOLIA_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${CONNEXT_NITRO_IMAGE:-offchainlabs/nitro-node}:${CONNEXT_SEPOLIA_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.connext-sepolia.gelato.digital
|
- --node.data-availability.rest-aggregator.urls=https://das.connext-sepolia.gelato.digital
|
||||||
- --node.data-availability.sequencer-inbox-address=0x727095791318912381473707332248435763608420056676
|
|
||||||
- --node.feed.input.url=wss://feed.connext-sepolia.gelato.digital
|
- --node.feed.input.url=wss://feed.connext-sepolia.gelato.digital
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
connext-sepolia:
|
connext-sepolia:
|
||||||
image: ${CONNEXT_NITRO_IMAGE:-offchainlabs/nitro-node}:${CONNEXT_SEPOLIA_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${CONNEXT_NITRO_IMAGE:-offchainlabs/nitro-node}:${CONNEXT_SEPOLIA_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.connext-sepolia.gelato.digital
|
- --node.data-availability.rest-aggregator.urls=https://das.connext-sepolia.gelato.digital
|
||||||
- --node.data-availability.sequencer-inbox-address=0x727095791318912381473707332248435763608420056676
|
|
||||||
- --node.feed.input.url=wss://feed.connext-sepolia.gelato.digital
|
- --node.feed.input.url=wss://feed.connext-sepolia.gelato.digital
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
everclear-mainnet-archive:
|
everclear-mainnet-archive:
|
||||||
image: ${EVERCLEAR_NITRO_IMAGE:-offchainlabs/nitro-node}:${EVERCLEAR_MAINNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${EVERCLEAR_NITRO_IMAGE:-offchainlabs/nitro-node}:${EVERCLEAR_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.everclear.raas.gelato.cloud
|
- --node.data-availability.rest-aggregator.urls=https://das.everclear.raas.gelato.cloud
|
||||||
- --node.data-availability.sequencer-inbox-address=0x727095791318912381473707332248435763608420056676
|
|
||||||
- --node.feed.input.url=wss://feed.everclear.raas.gelato.cloud
|
- --node.feed.input.url=wss://feed.everclear.raas.gelato.cloud
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
everclear-mainnet:
|
everclear-mainnet:
|
||||||
image: ${EVERCLEAR_NITRO_IMAGE:-offchainlabs/nitro-node}:${EVERCLEAR_MAINNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${EVERCLEAR_NITRO_IMAGE:-offchainlabs/nitro-node}:${EVERCLEAR_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.everclear.raas.gelato.cloud
|
- --node.data-availability.rest-aggregator.urls=https://das.everclear.raas.gelato.cloud
|
||||||
- --node.data-availability.sequencer-inbox-address=0x727095791318912381473707332248435763608420056676
|
|
||||||
- --node.feed.input.url=wss://feed.everclear.raas.gelato.cloud
|
- --node.feed.input.url=wss://feed.everclear.raas.gelato.cloud
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
opencampuscodex-sepolia-archive:
|
opencampuscodex-sepolia-archive:
|
||||||
image: ${OPENCAMPUSCODEX_NITRO_IMAGE:-offchainlabs/nitro-node}:${OPENCAMPUSCODEX_SEPOLIA_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${OPENCAMPUSCODEX_NITRO_IMAGE:-offchainlabs/nitro-node}:${OPENCAMPUSCODEX_SEPOLIA_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ARBITRUM_SEPOLIA_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.open-campus-codex.gelato.digital
|
- --node.data-availability.rest-aggregator.urls=https://das.open-campus-codex.gelato.digital
|
||||||
- --node.data-availability.sequencer-inbox-address=0xe347C1223381b9Dcd6c0F61cf81c90175A7Bae77
|
|
||||||
- --node.feed.input.url=wss://feed.open-campus-codex.gelato.digital
|
- --node.feed.input.url=wss://feed.open-campus-codex.gelato.digital
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
opencampuscodex-sepolia:
|
opencampuscodex-sepolia:
|
||||||
image: ${OPENCAMPUSCODEX_NITRO_IMAGE:-offchainlabs/nitro-node}:${OPENCAMPUSCODEX_SEPOLIA_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${OPENCAMPUSCODEX_NITRO_IMAGE:-offchainlabs/nitro-node}:${OPENCAMPUSCODEX_SEPOLIA_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ARBITRUM_SEPOLIA_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.open-campus-codex.gelato.digital
|
- --node.data-availability.rest-aggregator.urls=https://das.open-campus-codex.gelato.digital
|
||||||
- --node.data-availability.sequencer-inbox-address=0xe347C1223381b9Dcd6c0F61cf81c90175A7Bae77
|
|
||||||
- --node.feed.input.url=wss://feed.open-campus-codex.gelato.digital
|
- --node.feed.input.url=wss://feed.open-campus-codex.gelato.digital
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
playblock-mainnet-archive:
|
playblock-mainnet-archive:
|
||||||
image: ${PLAYBLOCK_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLAYBLOCK_MAINNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${PLAYBLOCK_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLAYBLOCK_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ARBITRUM_NOVA_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.playblock.io
|
- --node.data-availability.rest-aggregator.urls=https://das.playblock.io
|
||||||
- --node.data-availability.sequencer-inbox-address=0x1297541082195356755105700451499873350464260779639
|
|
||||||
- --node.feed.input.url=wss://feed.playblock.io
|
- --node.feed.input.url=wss://feed.playblock.io
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
playblock-mainnet:
|
playblock-mainnet:
|
||||||
image: ${PLAYBLOCK_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLAYBLOCK_MAINNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${PLAYBLOCK_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLAYBLOCK_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ARBITRUM_NOVA_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.playblock.io
|
- --node.data-availability.rest-aggregator.urls=https://das.playblock.io
|
||||||
- --node.data-availability.sequencer-inbox-address=0x1297541082195356755105700451499873350464260779639
|
|
||||||
- --node.feed.input.url=wss://feed.playblock.io
|
- --node.feed.input.url=wss://feed.playblock.io
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
plume-mainnet-archive:
|
plume-mainnet-archive:
|
||||||
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das-plume-mainnet-1.t.conduit.xyz
|
- --node.data-availability.rest-aggregator.urls=https://das-plume-mainnet-1.t.conduit.xyz
|
||||||
- --node.data-availability.sequencer-inbox-address=0x85eC1b9138a8b9659A51e2b51bb0861901040b59
|
|
||||||
- --node.feed.input.url=wss://relay-plume-mainnet-1.t.conduit.xyz
|
- --node.feed.input.url=wss://relay-plume-mainnet-1.t.conduit.xyz
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
145
arb/nitro/plume-mainnet-nitro-archive-pebble-hash.yml
Normal file
145
arb/nitro/plume-mainnet-nitro-archive-pebble-hash.yml
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
---
|
||||||
|
x-logging-defaults: &logging-defaults
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
|
# 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:arb/nitro/plume-mainnet-nitro-archive-pebble-hash.yml
|
||||||
|
#
|
||||||
|
# docker compose up -d
|
||||||
|
#
|
||||||
|
# curl -X POST https://${IP}.traefik.me/plume-mainnet-archive \
|
||||||
|
# -H "Content-Type: application/json" \
|
||||||
|
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
||||||
|
|
||||||
|
services:
|
||||||
|
plume-mainnet-archive:
|
||||||
|
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
|
sysctls:
|
||||||
|
# TCP Performance
|
||||||
|
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
||||||
|
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
|
||||||
|
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
|
||||||
|
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
|
||||||
|
net.core.somaxconn: 32768 # Higher connection queue
|
||||||
|
# Memory/Connection Management
|
||||||
|
# net.core.netdev_max_backlog: 50000 # Increase network buffer
|
||||||
|
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
|
||||||
|
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
|
||||||
|
ulimits:
|
||||||
|
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||||
|
user: root
|
||||||
|
expose:
|
||||||
|
- 8545
|
||||||
|
command:
|
||||||
|
- --conf.file=/config/baseConfig.json
|
||||||
|
- --execution.caching.archive=true
|
||||||
|
- --execution.caching.database-cache=${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048}
|
||||||
|
- --execution.caching.snapshot-cache=${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
|
||||||
|
- --execution.caching.trie-clean-cache=${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
|
||||||
|
- --execution.caching.trie-dirty-cache=${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
|
||||||
|
- --execution.forwarding-target=https://rpc.plume.org
|
||||||
|
- --execution.rpc.gas-cap=5500000000
|
||||||
|
- --execution.rpc.log-history=0
|
||||||
|
- --execution.sequencer.enable=false
|
||||||
|
- --http.addr=0.0.0.0
|
||||||
|
- --http.api=eth,net,web3,arb,txpool,debug
|
||||||
|
- --http.corsdomain=*
|
||||||
|
- --http.port=8545
|
||||||
|
- --http.vhosts=*
|
||||||
|
- --metrics
|
||||||
|
- --metrics-server.addr=0.0.0.0
|
||||||
|
- --metrics-server.port=6070
|
||||||
|
- --node.batch-poster.enable=false
|
||||||
|
- --node.data-availability.enable=true
|
||||||
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
|
- --node.data-availability.rest-aggregator.urls=https://das-plume-mainnet-1.t.conduit.xyz
|
||||||
|
- --node.feed.input.url=wss://relay-plume-mainnet-1.t.conduit.xyz
|
||||||
|
- --node.sequencer=false
|
||||||
|
- --node.staker.enable=false
|
||||||
|
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
|
||||||
|
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||||
|
- --persistent.chain=/root/.arbitrum/plume-mainnet-archive
|
||||||
|
- --persistent.db-engine=pebble
|
||||||
|
- --ws.addr=0.0.0.0
|
||||||
|
- --ws.origins=*
|
||||||
|
- --ws.port=8545
|
||||||
|
restart: unless-stopped
|
||||||
|
stop_grace_period: 5m
|
||||||
|
networks:
|
||||||
|
- chains
|
||||||
|
volumes:
|
||||||
|
- ${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_DATA:-plume-mainnet-nitro-archive-pebble-hash}:/root/.arbitrum
|
||||||
|
- ./arb/plume/mainnet:/config
|
||||||
|
- /slowdisk:/slowdisk
|
||||||
|
logging: *logging-defaults
|
||||||
|
labels:
|
||||||
|
- prometheus-scrape.enabled=true
|
||||||
|
- prometheus-scrape.port=6070
|
||||||
|
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.middlewares.plume-mainnet-nitro-archive-pebble-hash-stripprefix.stripprefix.prefixes=/plume-mainnet-archive
|
||||||
|
- traefik.http.services.plume-mainnet-nitro-archive-pebble-hash.loadbalancer.server.port=8545
|
||||||
|
- ${NO_SSL:-traefik.http.routers.plume-mainnet-nitro-archive-pebble-hash.entrypoints=websecure}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.plume-mainnet-nitro-archive-pebble-hash.tls.certresolver=myresolver}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.plume-mainnet-nitro-archive-pebble-hash.rule=Host(`$DOMAIN`) && (Path(`/plume-mainnet-archive`) || Path(`/plume-mainnet-archive/`))}
|
||||||
|
- ${NO_SSL:+traefik.http.routers.plume-mainnet-nitro-archive-pebble-hash.rule=Path(`/plume-mainnet-archive`) || Path(`/plume-mainnet-archive/`)}
|
||||||
|
- traefik.http.routers.plume-mainnet-nitro-archive-pebble-hash.middlewares=plume-mainnet-nitro-archive-pebble-hash-stripprefix, ipallowlist
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
plume-mainnet-nitro-archive-pebble-hash:
|
||||||
|
|
||||||
|
x-upstreams:
|
||||||
|
- id: $${ID}
|
||||||
|
labels:
|
||||||
|
provider: $${PROVIDER}
|
||||||
|
connection:
|
||||||
|
generic:
|
||||||
|
rpc:
|
||||||
|
url: $${RPC_URL}
|
||||||
|
ws:
|
||||||
|
frameSize: 20Mb
|
||||||
|
msgSize: 50Mb
|
||||||
|
url: $${WS_URL}
|
||||||
|
chain: plume
|
||||||
|
method-groups:
|
||||||
|
enabled:
|
||||||
|
- debug
|
||||||
|
- filter
|
||||||
|
methods:
|
||||||
|
disabled:
|
||||||
|
enabled:
|
||||||
|
- name: txpool_content # TODO: should be disabled for rollup nodes
|
||||||
|
# standard geth only
|
||||||
|
- name: debug_getRawBlock
|
||||||
|
- name: debug_getRawTransaction
|
||||||
|
- name: debug_getRawReceipts
|
||||||
|
- name: debug_getRawHeader
|
||||||
|
- name: debug_getBadBlocks
|
||||||
|
# non standard geth only slightly dangerous
|
||||||
|
- name: debug_intermediateRoots
|
||||||
|
- name: debug_dumpBlock
|
||||||
|
# standard geth and erigon
|
||||||
|
- name: debug_accountRange
|
||||||
|
- name: debug_getModifiedAccountsByNumber
|
||||||
|
- name: debug_getModifiedAccountsByHash
|
||||||
|
# non standard geth and erigon
|
||||||
|
- name: eth_getRawTransactionByHash
|
||||||
|
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||||
|
...
|
||||||
144
arb/nitro/plume-mainnet-nitro-pruned-leveldb-hash.yml
Normal file
144
arb/nitro/plume-mainnet-nitro-pruned-leveldb-hash.yml
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
---
|
||||||
|
x-logging-defaults: &logging-defaults
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
|
# 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:arb/nitro/plume-mainnet-nitro-pruned-leveldb-hash.yml
|
||||||
|
#
|
||||||
|
# docker compose up -d
|
||||||
|
#
|
||||||
|
# curl -X POST https://${IP}.traefik.me/plume-mainnet \
|
||||||
|
# -H "Content-Type: application/json" \
|
||||||
|
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
||||||
|
|
||||||
|
services:
|
||||||
|
plume-mainnet:
|
||||||
|
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
|
sysctls:
|
||||||
|
# TCP Performance
|
||||||
|
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
||||||
|
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
|
||||||
|
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
|
||||||
|
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
|
||||||
|
net.core.somaxconn: 32768 # Higher connection queue
|
||||||
|
# Memory/Connection Management
|
||||||
|
# net.core.netdev_max_backlog: 50000 # Increase network buffer
|
||||||
|
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
|
||||||
|
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
|
||||||
|
ulimits:
|
||||||
|
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||||
|
user: root
|
||||||
|
expose:
|
||||||
|
- 8545
|
||||||
|
command:
|
||||||
|
- --conf.file=/config/baseConfig.json
|
||||||
|
- --execution.caching.archive=${PLUME_MAINNET_ARCHIVE_DB:-false}
|
||||||
|
- --execution.caching.database-cache=${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_DATABASE_CACHE:-2048}
|
||||||
|
- --execution.caching.snapshot-cache=${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
|
||||||
|
- --execution.caching.trie-clean-cache=${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
|
||||||
|
- --execution.caching.trie-dirty-cache=${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
|
||||||
|
- --execution.forwarding-target=https://rpc.plume.org
|
||||||
|
- --execution.rpc.gas-cap=5500000000
|
||||||
|
- --execution.rpc.log-history=0
|
||||||
|
- --execution.sequencer.enable=false
|
||||||
|
- --http.addr=0.0.0.0
|
||||||
|
- --http.api=eth,net,web3,arb,txpool,debug
|
||||||
|
- --http.corsdomain=*
|
||||||
|
- --http.port=8545
|
||||||
|
- --http.vhosts=*
|
||||||
|
- --metrics
|
||||||
|
- --metrics-server.addr=0.0.0.0
|
||||||
|
- --metrics-server.port=6070
|
||||||
|
- --node.batch-poster.enable=false
|
||||||
|
- --node.data-availability.enable=true
|
||||||
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
|
- --node.data-availability.rest-aggregator.urls=https://das-plume-mainnet-1.t.conduit.xyz
|
||||||
|
- --node.feed.input.url=wss://relay-plume-mainnet-1.t.conduit.xyz
|
||||||
|
- --node.sequencer=false
|
||||||
|
- --node.staker.enable=false
|
||||||
|
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
|
||||||
|
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||||
|
- --persistent.chain=/root/.arbitrum/plume-mainnet
|
||||||
|
- --ws.addr=0.0.0.0
|
||||||
|
- --ws.origins=*
|
||||||
|
- --ws.port=8545
|
||||||
|
restart: unless-stopped
|
||||||
|
stop_grace_period: 5m
|
||||||
|
networks:
|
||||||
|
- chains
|
||||||
|
volumes:
|
||||||
|
- ${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_DATA:-plume-mainnet-nitro-pruned-leveldb-hash}:/root/.arbitrum
|
||||||
|
- ./arb/plume/mainnet:/config
|
||||||
|
- /slowdisk:/slowdisk
|
||||||
|
logging: *logging-defaults
|
||||||
|
labels:
|
||||||
|
- prometheus-scrape.enabled=true
|
||||||
|
- prometheus-scrape.port=6070
|
||||||
|
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.middlewares.plume-mainnet-nitro-pruned-leveldb-hash-stripprefix.stripprefix.prefixes=/plume-mainnet
|
||||||
|
- traefik.http.services.plume-mainnet-nitro-pruned-leveldb-hash.loadbalancer.server.port=8545
|
||||||
|
- ${NO_SSL:-traefik.http.routers.plume-mainnet-nitro-pruned-leveldb-hash.entrypoints=websecure}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.plume-mainnet-nitro-pruned-leveldb-hash.tls.certresolver=myresolver}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.plume-mainnet-nitro-pruned-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/plume-mainnet`) || Path(`/plume-mainnet/`))}
|
||||||
|
- ${NO_SSL:+traefik.http.routers.plume-mainnet-nitro-pruned-leveldb-hash.rule=Path(`/plume-mainnet`) || Path(`/plume-mainnet/`)}
|
||||||
|
- traefik.http.routers.plume-mainnet-nitro-pruned-leveldb-hash.middlewares=plume-mainnet-nitro-pruned-leveldb-hash-stripprefix, ipallowlist
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
plume-mainnet-nitro-pruned-leveldb-hash:
|
||||||
|
|
||||||
|
x-upstreams:
|
||||||
|
- id: $${ID}
|
||||||
|
labels:
|
||||||
|
provider: $${PROVIDER}
|
||||||
|
connection:
|
||||||
|
generic:
|
||||||
|
rpc:
|
||||||
|
url: $${RPC_URL}
|
||||||
|
ws:
|
||||||
|
frameSize: 20Mb
|
||||||
|
msgSize: 50Mb
|
||||||
|
url: $${WS_URL}
|
||||||
|
chain: plume
|
||||||
|
method-groups:
|
||||||
|
enabled:
|
||||||
|
- debug
|
||||||
|
- filter
|
||||||
|
methods:
|
||||||
|
disabled:
|
||||||
|
enabled:
|
||||||
|
- name: txpool_content # TODO: should be disabled for rollup nodes
|
||||||
|
# standard geth only
|
||||||
|
- name: debug_getRawBlock
|
||||||
|
- name: debug_getRawTransaction
|
||||||
|
- name: debug_getRawReceipts
|
||||||
|
- name: debug_getRawHeader
|
||||||
|
- name: debug_getBadBlocks
|
||||||
|
# non standard geth only slightly dangerous
|
||||||
|
- name: debug_intermediateRoots
|
||||||
|
- name: debug_dumpBlock
|
||||||
|
# standard geth and erigon
|
||||||
|
- name: debug_accountRange
|
||||||
|
- name: debug_getModifiedAccountsByNumber
|
||||||
|
- name: debug_getModifiedAccountsByHash
|
||||||
|
# non standard geth and erigon
|
||||||
|
- name: eth_getRawTransactionByHash
|
||||||
|
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||||
|
...
|
||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
plume-mainnet:
|
plume-mainnet:
|
||||||
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das-plume-mainnet-1.t.conduit.xyz
|
- --node.data-availability.rest-aggregator.urls=https://das-plume-mainnet-1.t.conduit.xyz
|
||||||
- --node.data-availability.sequencer-inbox-address=0x85eC1b9138a8b9659A51e2b51bb0861901040b59
|
|
||||||
- --node.feed.input.url=wss://relay-plume-mainnet-1.t.conduit.xyz
|
- --node.feed.input.url=wss://relay-plume-mainnet-1.t.conduit.xyz
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
plume-testnet-archive:
|
plume-testnet-archive:
|
||||||
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das-plume-testnet-1.t.conduit.xyz
|
- --node.data-availability.rest-aggregator.urls=https://das-plume-testnet-1.t.conduit.xyz
|
||||||
- --node.data-availability.sequencer-inbox-address=0xbCa991f1831bE1F1E7e5576d5F84A645e70F3E4d
|
|
||||||
- --node.feed.input.url=wss://relay-plume-testnet-1.t.conduit.xyz
|
- --node.feed.input.url=wss://relay-plume-testnet-1.t.conduit.xyz
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
145
arb/nitro/plume-testnet-nitro-archive-pebble-hash.yml
Normal file
145
arb/nitro/plume-testnet-nitro-archive-pebble-hash.yml
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
---
|
||||||
|
x-logging-defaults: &logging-defaults
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
|
# 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:arb/nitro/plume-testnet-nitro-archive-pebble-hash.yml
|
||||||
|
#
|
||||||
|
# docker compose up -d
|
||||||
|
#
|
||||||
|
# curl -X POST https://${IP}.traefik.me/plume-testnet-archive \
|
||||||
|
# -H "Content-Type: application/json" \
|
||||||
|
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
||||||
|
|
||||||
|
services:
|
||||||
|
plume-testnet-archive:
|
||||||
|
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
|
sysctls:
|
||||||
|
# TCP Performance
|
||||||
|
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
||||||
|
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
|
||||||
|
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
|
||||||
|
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
|
||||||
|
net.core.somaxconn: 32768 # Higher connection queue
|
||||||
|
# Memory/Connection Management
|
||||||
|
# net.core.netdev_max_backlog: 50000 # Increase network buffer
|
||||||
|
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
|
||||||
|
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
|
||||||
|
ulimits:
|
||||||
|
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||||
|
user: root
|
||||||
|
expose:
|
||||||
|
- 8545
|
||||||
|
command:
|
||||||
|
- --conf.file=/config/baseConfig.json
|
||||||
|
- --execution.caching.archive=true
|
||||||
|
- --execution.caching.database-cache=${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048}
|
||||||
|
- --execution.caching.snapshot-cache=${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
|
||||||
|
- --execution.caching.trie-clean-cache=${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
|
||||||
|
- --execution.caching.trie-dirty-cache=${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
|
||||||
|
- --execution.forwarding-target=https://testnet-rpc.plume.org
|
||||||
|
- --execution.rpc.gas-cap=5500000000
|
||||||
|
- --execution.rpc.log-history=0
|
||||||
|
- --execution.sequencer.enable=false
|
||||||
|
- --http.addr=0.0.0.0
|
||||||
|
- --http.api=eth,net,web3,arb,txpool,debug
|
||||||
|
- --http.corsdomain=*
|
||||||
|
- --http.port=8545
|
||||||
|
- --http.vhosts=*
|
||||||
|
- --metrics
|
||||||
|
- --metrics-server.addr=0.0.0.0
|
||||||
|
- --metrics-server.port=6070
|
||||||
|
- --node.batch-poster.enable=false
|
||||||
|
- --node.data-availability.enable=true
|
||||||
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
|
- --node.data-availability.rest-aggregator.urls=https://das-plume-testnet-1.t.conduit.xyz
|
||||||
|
- --node.feed.input.url=wss://relay-plume-testnet-1.t.conduit.xyz
|
||||||
|
- --node.sequencer=false
|
||||||
|
- --node.staker.enable=false
|
||||||
|
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
|
||||||
|
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
||||||
|
- --persistent.chain=/root/.arbitrum/plume-testnet-archive
|
||||||
|
- --persistent.db-engine=pebble
|
||||||
|
- --ws.addr=0.0.0.0
|
||||||
|
- --ws.origins=*
|
||||||
|
- --ws.port=8545
|
||||||
|
restart: unless-stopped
|
||||||
|
stop_grace_period: 5m
|
||||||
|
networks:
|
||||||
|
- chains
|
||||||
|
volumes:
|
||||||
|
- ${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_DATA:-plume-testnet-nitro-archive-pebble-hash}:/root/.arbitrum
|
||||||
|
- ./arb/plume/testnet:/config
|
||||||
|
- /slowdisk:/slowdisk
|
||||||
|
logging: *logging-defaults
|
||||||
|
labels:
|
||||||
|
- prometheus-scrape.enabled=true
|
||||||
|
- prometheus-scrape.port=6070
|
||||||
|
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.middlewares.plume-testnet-nitro-archive-pebble-hash-stripprefix.stripprefix.prefixes=/plume-testnet-archive
|
||||||
|
- traefik.http.services.plume-testnet-nitro-archive-pebble-hash.loadbalancer.server.port=8545
|
||||||
|
- ${NO_SSL:-traefik.http.routers.plume-testnet-nitro-archive-pebble-hash.entrypoints=websecure}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.plume-testnet-nitro-archive-pebble-hash.tls.certresolver=myresolver}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.plume-testnet-nitro-archive-pebble-hash.rule=Host(`$DOMAIN`) && (Path(`/plume-testnet-archive`) || Path(`/plume-testnet-archive/`))}
|
||||||
|
- ${NO_SSL:+traefik.http.routers.plume-testnet-nitro-archive-pebble-hash.rule=Path(`/plume-testnet-archive`) || Path(`/plume-testnet-archive/`)}
|
||||||
|
- traefik.http.routers.plume-testnet-nitro-archive-pebble-hash.middlewares=plume-testnet-nitro-archive-pebble-hash-stripprefix, ipallowlist
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
plume-testnet-nitro-archive-pebble-hash:
|
||||||
|
|
||||||
|
x-upstreams:
|
||||||
|
- id: $${ID}
|
||||||
|
labels:
|
||||||
|
provider: $${PROVIDER}
|
||||||
|
connection:
|
||||||
|
generic:
|
||||||
|
rpc:
|
||||||
|
url: $${RPC_URL}
|
||||||
|
ws:
|
||||||
|
frameSize: 20Mb
|
||||||
|
msgSize: 50Mb
|
||||||
|
url: $${WS_URL}
|
||||||
|
chain: plume-testnet
|
||||||
|
method-groups:
|
||||||
|
enabled:
|
||||||
|
- debug
|
||||||
|
- filter
|
||||||
|
methods:
|
||||||
|
disabled:
|
||||||
|
enabled:
|
||||||
|
- name: txpool_content # TODO: should be disabled for rollup nodes
|
||||||
|
# standard geth only
|
||||||
|
- name: debug_getRawBlock
|
||||||
|
- name: debug_getRawTransaction
|
||||||
|
- name: debug_getRawReceipts
|
||||||
|
- name: debug_getRawHeader
|
||||||
|
- name: debug_getBadBlocks
|
||||||
|
# non standard geth only slightly dangerous
|
||||||
|
- name: debug_intermediateRoots
|
||||||
|
- name: debug_dumpBlock
|
||||||
|
# standard geth and erigon
|
||||||
|
- name: debug_accountRange
|
||||||
|
- name: debug_getModifiedAccountsByNumber
|
||||||
|
- name: debug_getModifiedAccountsByHash
|
||||||
|
# non standard geth and erigon
|
||||||
|
- name: eth_getRawTransactionByHash
|
||||||
|
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||||
|
...
|
||||||
144
arb/nitro/plume-testnet-nitro-pruned-leveldb-hash.yml
Normal file
144
arb/nitro/plume-testnet-nitro-pruned-leveldb-hash.yml
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
---
|
||||||
|
x-logging-defaults: &logging-defaults
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
|
# 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:arb/nitro/plume-testnet-nitro-pruned-leveldb-hash.yml
|
||||||
|
#
|
||||||
|
# docker compose up -d
|
||||||
|
#
|
||||||
|
# curl -X POST https://${IP}.traefik.me/plume-testnet \
|
||||||
|
# -H "Content-Type: application/json" \
|
||||||
|
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
||||||
|
|
||||||
|
services:
|
||||||
|
plume-testnet:
|
||||||
|
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
|
sysctls:
|
||||||
|
# TCP Performance
|
||||||
|
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
||||||
|
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
|
||||||
|
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
|
||||||
|
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
|
||||||
|
net.core.somaxconn: 32768 # Higher connection queue
|
||||||
|
# Memory/Connection Management
|
||||||
|
# net.core.netdev_max_backlog: 50000 # Increase network buffer
|
||||||
|
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
|
||||||
|
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
|
||||||
|
ulimits:
|
||||||
|
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||||
|
user: root
|
||||||
|
expose:
|
||||||
|
- 8545
|
||||||
|
command:
|
||||||
|
- --conf.file=/config/baseConfig.json
|
||||||
|
- --execution.caching.archive=${PLUME_TESTNET_ARCHIVE_DB:-false}
|
||||||
|
- --execution.caching.database-cache=${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_DATABASE_CACHE:-2048}
|
||||||
|
- --execution.caching.snapshot-cache=${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
|
||||||
|
- --execution.caching.trie-clean-cache=${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
|
||||||
|
- --execution.caching.trie-dirty-cache=${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
|
||||||
|
- --execution.forwarding-target=https://testnet-rpc.plume.org
|
||||||
|
- --execution.rpc.gas-cap=5500000000
|
||||||
|
- --execution.rpc.log-history=0
|
||||||
|
- --execution.sequencer.enable=false
|
||||||
|
- --http.addr=0.0.0.0
|
||||||
|
- --http.api=eth,net,web3,arb,txpool,debug
|
||||||
|
- --http.corsdomain=*
|
||||||
|
- --http.port=8545
|
||||||
|
- --http.vhosts=*
|
||||||
|
- --metrics
|
||||||
|
- --metrics-server.addr=0.0.0.0
|
||||||
|
- --metrics-server.port=6070
|
||||||
|
- --node.batch-poster.enable=false
|
||||||
|
- --node.data-availability.enable=true
|
||||||
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
|
- --node.data-availability.rest-aggregator.urls=https://das-plume-testnet-1.t.conduit.xyz
|
||||||
|
- --node.feed.input.url=wss://relay-plume-testnet-1.t.conduit.xyz
|
||||||
|
- --node.sequencer=false
|
||||||
|
- --node.staker.enable=false
|
||||||
|
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
|
||||||
|
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
||||||
|
- --persistent.chain=/root/.arbitrum/plume-testnet
|
||||||
|
- --ws.addr=0.0.0.0
|
||||||
|
- --ws.origins=*
|
||||||
|
- --ws.port=8545
|
||||||
|
restart: unless-stopped
|
||||||
|
stop_grace_period: 5m
|
||||||
|
networks:
|
||||||
|
- chains
|
||||||
|
volumes:
|
||||||
|
- ${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_DATA:-plume-testnet-nitro-pruned-leveldb-hash}:/root/.arbitrum
|
||||||
|
- ./arb/plume/testnet:/config
|
||||||
|
- /slowdisk:/slowdisk
|
||||||
|
logging: *logging-defaults
|
||||||
|
labels:
|
||||||
|
- prometheus-scrape.enabled=true
|
||||||
|
- prometheus-scrape.port=6070
|
||||||
|
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.middlewares.plume-testnet-nitro-pruned-leveldb-hash-stripprefix.stripprefix.prefixes=/plume-testnet
|
||||||
|
- traefik.http.services.plume-testnet-nitro-pruned-leveldb-hash.loadbalancer.server.port=8545
|
||||||
|
- ${NO_SSL:-traefik.http.routers.plume-testnet-nitro-pruned-leveldb-hash.entrypoints=websecure}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.plume-testnet-nitro-pruned-leveldb-hash.tls.certresolver=myresolver}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.plume-testnet-nitro-pruned-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/plume-testnet`) || Path(`/plume-testnet/`))}
|
||||||
|
- ${NO_SSL:+traefik.http.routers.plume-testnet-nitro-pruned-leveldb-hash.rule=Path(`/plume-testnet`) || Path(`/plume-testnet/`)}
|
||||||
|
- traefik.http.routers.plume-testnet-nitro-pruned-leveldb-hash.middlewares=plume-testnet-nitro-pruned-leveldb-hash-stripprefix, ipallowlist
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
plume-testnet-nitro-pruned-leveldb-hash:
|
||||||
|
|
||||||
|
x-upstreams:
|
||||||
|
- id: $${ID}
|
||||||
|
labels:
|
||||||
|
provider: $${PROVIDER}
|
||||||
|
connection:
|
||||||
|
generic:
|
||||||
|
rpc:
|
||||||
|
url: $${RPC_URL}
|
||||||
|
ws:
|
||||||
|
frameSize: 20Mb
|
||||||
|
msgSize: 50Mb
|
||||||
|
url: $${WS_URL}
|
||||||
|
chain: plume-testnet
|
||||||
|
method-groups:
|
||||||
|
enabled:
|
||||||
|
- debug
|
||||||
|
- filter
|
||||||
|
methods:
|
||||||
|
disabled:
|
||||||
|
enabled:
|
||||||
|
- name: txpool_content # TODO: should be disabled for rollup nodes
|
||||||
|
# standard geth only
|
||||||
|
- name: debug_getRawBlock
|
||||||
|
- name: debug_getRawTransaction
|
||||||
|
- name: debug_getRawReceipts
|
||||||
|
- name: debug_getRawHeader
|
||||||
|
- name: debug_getBadBlocks
|
||||||
|
# non standard geth only slightly dangerous
|
||||||
|
- name: debug_intermediateRoots
|
||||||
|
- name: debug_dumpBlock
|
||||||
|
# standard geth and erigon
|
||||||
|
- name: debug_accountRange
|
||||||
|
- name: debug_getModifiedAccountsByNumber
|
||||||
|
- name: debug_getModifiedAccountsByHash
|
||||||
|
# non standard geth and erigon
|
||||||
|
- name: eth_getRawTransactionByHash
|
||||||
|
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||||
|
...
|
||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
plume-testnet:
|
plume-testnet:
|
||||||
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das-plume-testnet-1.t.conduit.xyz
|
- --node.data-availability.rest-aggregator.urls=https://das-plume-testnet-1.t.conduit.xyz
|
||||||
- --node.data-availability.sequencer-inbox-address=0xbCa991f1831bE1F1E7e5576d5F84A645e70F3E4d
|
|
||||||
- --node.feed.input.url=wss://relay-plume-testnet-1.t.conduit.xyz
|
- --node.feed.input.url=wss://relay-plume-testnet-1.t.conduit.xyz
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
real-mainnet-archive:
|
real-mainnet-archive:
|
||||||
image: ${REAL_NITRO_IMAGE:-offchainlabs/nitro-node}:${REAL_MAINNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${REAL_NITRO_IMAGE:-offchainlabs/nitro-node}:${REAL_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.realforreal.gelato.digital
|
- --node.data-availability.rest-aggregator.urls=https://das.realforreal.gelato.digital
|
||||||
- --node.data-availability.sequencer-inbox-address=0x466813324240923703236721233648302990016039913376
|
|
||||||
- --node.feed.input.url=wss://feed.realforreal.gelato.digital
|
- --node.feed.input.url=wss://feed.realforreal.gelato.digital
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
real-mainnet-archive:
|
real-mainnet-archive:
|
||||||
image: ${REAL_NITRO_IMAGE:-offchainlabs/nitro-node}:${REAL_MAINNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${REAL_NITRO_IMAGE:-offchainlabs/nitro-node}:${REAL_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.realforreal.gelato.digital
|
- --node.data-availability.rest-aggregator.urls=https://das.realforreal.gelato.digital
|
||||||
- --node.data-availability.sequencer-inbox-address=0x466813324240923703236721233648302990016039913376
|
|
||||||
- --node.feed.input.url=wss://feed.realforreal.gelato.digital
|
- --node.feed.input.url=wss://feed.realforreal.gelato.digital
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
real-mainnet:
|
real-mainnet:
|
||||||
image: ${REAL_NITRO_IMAGE:-offchainlabs/nitro-node}:${REAL_MAINNET_NITRO_VERSION:-v3.9.5-66e42c4}
|
image: ${REAL_NITRO_IMAGE:-offchainlabs/nitro-node}:${REAL_MAINNET_NITRO_VERSION:-v3.10.1-d7f07be}
|
||||||
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
|
||||||
@@ -67,12 +67,9 @@ services:
|
|||||||
- --metrics-server.addr=0.0.0.0
|
- --metrics-server.addr=0.0.0.0
|
||||||
- --metrics-server.port=6070
|
- --metrics-server.port=6070
|
||||||
- --node.batch-poster.enable=false
|
- --node.batch-poster.enable=false
|
||||||
- --node.da-provider.enable=false
|
|
||||||
- --node.data-availability.enable=true
|
- --node.data-availability.enable=true
|
||||||
- --node.data-availability.parent-chain-node-url=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
|
||||||
- --node.data-availability.rest-aggregator.enable=true
|
- --node.data-availability.rest-aggregator.enable=true
|
||||||
- --node.data-availability.rest-aggregator.urls=https://das.realforreal.gelato.digital
|
- --node.data-availability.rest-aggregator.urls=https://das.realforreal.gelato.digital
|
||||||
- --node.data-availability.sequencer-inbox-address=0x466813324240923703236721233648302990016039913376
|
|
||||||
- --node.feed.input.url=wss://feed.realforreal.gelato.digital
|
- --node.feed.input.url=wss://feed.realforreal.gelato.digital
|
||||||
- --node.sequencer=false
|
- --node.sequencer=false
|
||||||
- --node.staker.enable=false
|
- --node.staker.enable=false
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
avalanche-fuji-archive:
|
avalanche-fuji-archive:
|
||||||
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_FUJI_GO_VERSION:-v1.14.1}
|
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_FUJI_GO_VERSION:-v1.14.2}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
avalanche-fuji:
|
avalanche-fuji:
|
||||||
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_FUJI_GO_VERSION:-v1.14.1}
|
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_FUJI_GO_VERSION:-v1.14.2}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
avalanche-fuji:
|
avalanche-fuji:
|
||||||
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_FUJI_GO_VERSION:-v1.14.1}
|
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_FUJI_GO_VERSION:-v1.14.2}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
avalanche-mainnet-archive:
|
avalanche-mainnet-archive:
|
||||||
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_MAINNET_GO_VERSION:-v1.14.1}
|
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_MAINNET_GO_VERSION:-v1.14.2}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
avalanche-mainnet:
|
avalanche-mainnet:
|
||||||
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_MAINNET_GO_VERSION:-v1.14.1}
|
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_MAINNET_GO_VERSION:-v1.14.2}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
avalanche-mainnet:
|
avalanche-mainnet:
|
||||||
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_MAINNET_GO_VERSION:-v1.14.1}
|
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_MAINNET_GO_VERSION:-v1.14.2}
|
||||||
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
|
||||||
|
|||||||
112
aztec/aztec/aztec-devnet-aztec-pruned.yml
Normal file
112
aztec/aztec/aztec-devnet-aztec-pruned.yml
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
---
|
||||||
|
x-logging-defaults: &logging-defaults
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
# Aztec full node. See https://docs.aztec.network/network/setup/running_a_node
|
||||||
|
# Admin port (8880) is not exposed; use docker exec for admin API.
|
||||||
|
|
||||||
|
# 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:aztec/aztec/aztec-devnet-aztec-pruned.yml
|
||||||
|
#
|
||||||
|
# docker compose up -d
|
||||||
|
#
|
||||||
|
# curl -X POST https://${IP}.traefik.me/aztec-devnet \
|
||||||
|
# -H "Content-Type: application/json" \
|
||||||
|
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
||||||
|
|
||||||
|
services:
|
||||||
|
aztec-devnet:
|
||||||
|
image: ${AZTEC_AZTEC_IMAGE:-aztecprotocol/aztec}:${AZTEC_DEVNET_AZTEC_VERSION:-3.0.0-devnet.6-patch.1}
|
||||||
|
sysctls:
|
||||||
|
# TCP Performance
|
||||||
|
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
||||||
|
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
|
||||||
|
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
|
||||||
|
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
|
||||||
|
net.core.somaxconn: 32768 # Higher connection queue
|
||||||
|
# Memory/Connection Management
|
||||||
|
# net.core.netdev_max_backlog: 50000 # Increase network buffer
|
||||||
|
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
|
||||||
|
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
|
||||||
|
ulimits:
|
||||||
|
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||||
|
user: root
|
||||||
|
ports:
|
||||||
|
- 12024:12024
|
||||||
|
- 12024:12024/udp
|
||||||
|
expose:
|
||||||
|
- 8080
|
||||||
|
environment:
|
||||||
|
AZTEC_ADMIN_PORT: '8880'
|
||||||
|
AZTEC_PORT: '8080'
|
||||||
|
DATA_DIRECTORY: /var/lib/data
|
||||||
|
ETHEREUM_HOSTS: ${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
||||||
|
L1_CONSENSUS_HOST_URLS: ${ETHEREUM_SEPOLIA_BEACON_REST}
|
||||||
|
LOG_LEVEL: ${AZTEC_LOG_LEVEL:-info}
|
||||||
|
P2P_IP: ${IP}
|
||||||
|
P2P_PORT: '12024'
|
||||||
|
entrypoint: [node, --no-warnings, /usr/src/yarn-project/aztec/dest/bin/index.js, start]
|
||||||
|
command:
|
||||||
|
- --archiver
|
||||||
|
- --network=devnet
|
||||||
|
- --node
|
||||||
|
restart: unless-stopped
|
||||||
|
stop_grace_period: 5m
|
||||||
|
networks:
|
||||||
|
- chains
|
||||||
|
volumes:
|
||||||
|
- ${AZTEC_DEVNET_AZTEC_PRUNED_DATA:-aztec-devnet-aztec-pruned}:/var/lib/data
|
||||||
|
- /slowdisk:/slowdisk
|
||||||
|
logging: *logging-defaults
|
||||||
|
labels:
|
||||||
|
- prometheus-scrape.enabled=false
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.middlewares.aztec-devnet-aztec-pruned-stripprefix.stripprefix.prefixes=/aztec-devnet
|
||||||
|
- traefik.http.services.aztec-devnet-aztec-pruned.loadbalancer.server.port=8080
|
||||||
|
- ${NO_SSL:-traefik.http.routers.aztec-devnet-aztec-pruned.entrypoints=websecure}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.aztec-devnet-aztec-pruned.tls.certresolver=myresolver}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.aztec-devnet-aztec-pruned.rule=Host(`$DOMAIN`) && (Path(`/aztec-devnet`) || Path(`/aztec-devnet/`))}
|
||||||
|
- ${NO_SSL:+traefik.http.routers.aztec-devnet-aztec-pruned.rule=Path(`/aztec-devnet`) || Path(`/aztec-devnet/`)}
|
||||||
|
- traefik.http.routers.aztec-devnet-aztec-pruned.middlewares=aztec-devnet-aztec-pruned-stripprefix, ipallowlist
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
aztec-devnet-aztec-pruned:
|
||||||
|
|
||||||
|
x-upstreams:
|
||||||
|
- id: $${ID}
|
||||||
|
labels:
|
||||||
|
provider: $${PROVIDER}
|
||||||
|
connection:
|
||||||
|
generic:
|
||||||
|
rpc:
|
||||||
|
url: $${RPC_URL}
|
||||||
|
ws:
|
||||||
|
frameSize: 20Mb
|
||||||
|
msgSize: 50Mb
|
||||||
|
url: $${WS_URL}
|
||||||
|
chain: aztec-devnet
|
||||||
|
method-groups:
|
||||||
|
enabled:
|
||||||
|
- debug
|
||||||
|
- filter
|
||||||
|
methods:
|
||||||
|
disabled:
|
||||||
|
enabled:
|
||||||
|
- name: txpool_content # TODO: should be disabled for rollup nodes
|
||||||
|
...
|
||||||
112
aztec/aztec/aztec-testnet-aztec-pruned.yml
Normal file
112
aztec/aztec/aztec-testnet-aztec-pruned.yml
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
---
|
||||||
|
x-logging-defaults: &logging-defaults
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
# Aztec full node. See https://docs.aztec.network/network/setup/running_a_node
|
||||||
|
# Admin port (8880) is not exposed; use docker exec for admin API.
|
||||||
|
|
||||||
|
# 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:aztec/aztec/aztec-testnet-aztec-pruned.yml
|
||||||
|
#
|
||||||
|
# docker compose up -d
|
||||||
|
#
|
||||||
|
# curl -X POST https://${IP}.traefik.me/aztec-testnet \
|
||||||
|
# -H "Content-Type: application/json" \
|
||||||
|
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
||||||
|
|
||||||
|
services:
|
||||||
|
aztec-testnet:
|
||||||
|
image: ${AZTEC_AZTEC_IMAGE:-aztecprotocol/aztec}:${AZTEC_TESTNET_AZTEC_VERSION:-3.0.2}
|
||||||
|
sysctls:
|
||||||
|
# TCP Performance
|
||||||
|
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
||||||
|
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
|
||||||
|
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
|
||||||
|
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
|
||||||
|
net.core.somaxconn: 32768 # Higher connection queue
|
||||||
|
# Memory/Connection Management
|
||||||
|
# net.core.netdev_max_backlog: 50000 # Increase network buffer
|
||||||
|
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
|
||||||
|
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
|
||||||
|
ulimits:
|
||||||
|
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||||
|
user: root
|
||||||
|
ports:
|
||||||
|
- 13009:13009
|
||||||
|
- 13009:13009/udp
|
||||||
|
expose:
|
||||||
|
- 8080
|
||||||
|
environment:
|
||||||
|
AZTEC_ADMIN_PORT: '8880'
|
||||||
|
AZTEC_PORT: '8080'
|
||||||
|
DATA_DIRECTORY: /var/lib/data
|
||||||
|
ETHEREUM_HOSTS: ${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
||||||
|
L1_CONSENSUS_HOST_URLS: ${ETHEREUM_SEPOLIA_BEACON_REST}
|
||||||
|
LOG_LEVEL: ${AZTEC_LOG_LEVEL:-info}
|
||||||
|
P2P_IP: ${IP}
|
||||||
|
P2P_PORT: '13009'
|
||||||
|
entrypoint: [node, --no-warnings, /usr/src/yarn-project/aztec/dest/bin/index.js, start]
|
||||||
|
command:
|
||||||
|
- --archiver
|
||||||
|
- --network=testnet
|
||||||
|
- --node
|
||||||
|
restart: unless-stopped
|
||||||
|
stop_grace_period: 5m
|
||||||
|
networks:
|
||||||
|
- chains
|
||||||
|
volumes:
|
||||||
|
- ${AZTEC_TESTNET_AZTEC_PRUNED_DATA:-aztec-testnet-aztec-pruned}:/var/lib/data
|
||||||
|
- /slowdisk:/slowdisk
|
||||||
|
logging: *logging-defaults
|
||||||
|
labels:
|
||||||
|
- prometheus-scrape.enabled=false
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.middlewares.aztec-testnet-aztec-pruned-stripprefix.stripprefix.prefixes=/aztec-testnet
|
||||||
|
- traefik.http.services.aztec-testnet-aztec-pruned.loadbalancer.server.port=8080
|
||||||
|
- ${NO_SSL:-traefik.http.routers.aztec-testnet-aztec-pruned.entrypoints=websecure}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.aztec-testnet-aztec-pruned.tls.certresolver=myresolver}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.aztec-testnet-aztec-pruned.rule=Host(`$DOMAIN`) && (Path(`/aztec-testnet`) || Path(`/aztec-testnet/`))}
|
||||||
|
- ${NO_SSL:+traefik.http.routers.aztec-testnet-aztec-pruned.rule=Path(`/aztec-testnet`) || Path(`/aztec-testnet/`)}
|
||||||
|
- traefik.http.routers.aztec-testnet-aztec-pruned.middlewares=aztec-testnet-aztec-pruned-stripprefix, ipallowlist
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
aztec-testnet-aztec-pruned:
|
||||||
|
|
||||||
|
x-upstreams:
|
||||||
|
- id: $${ID}
|
||||||
|
labels:
|
||||||
|
provider: $${PROVIDER}
|
||||||
|
connection:
|
||||||
|
generic:
|
||||||
|
rpc:
|
||||||
|
url: $${RPC_URL}
|
||||||
|
ws:
|
||||||
|
frameSize: 20Mb
|
||||||
|
msgSize: 50Mb
|
||||||
|
url: $${WS_URL}
|
||||||
|
chain: aztec-testnet
|
||||||
|
method-groups:
|
||||||
|
enabled:
|
||||||
|
- debug
|
||||||
|
- filter
|
||||||
|
methods:
|
||||||
|
disabled:
|
||||||
|
enabled:
|
||||||
|
- name: txpool_content # TODO: should be disabled for rollup nodes
|
||||||
|
...
|
||||||
@@ -1,10 +1,17 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
BASEPATH="$(dirname "$0")"
|
BASEPATH="$(dirname "$0")"
|
||||||
|
source "$BASEPATH/volume-utils.sh"
|
||||||
backup_dir="/backup"
|
backup_dir="/backup"
|
||||||
|
|
||||||
if [[ -n $2 ]]; then
|
remote_target="$2"
|
||||||
echo "upload backup via webdav to $2"
|
if [[ -n "$remote_target" ]] && is_local_backup_url "$remote_target"; then
|
||||||
|
echo "Target URL points to this server, using local /backup instead of $remote_target"
|
||||||
|
remote_target=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "$remote_target" ]]; then
|
||||||
|
echo "upload backup via webdav to $remote_target"
|
||||||
else
|
else
|
||||||
if [ ! -d "$backup_dir" ]; then
|
if [ ! -d "$backup_dir" ]; then
|
||||||
echo "Error: /backup directory does not exist"
|
echo "Error: /backup directory does not exist"
|
||||||
@@ -43,7 +50,7 @@ generate_volume_metadata() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Read the JSON input and extract the list of keys
|
# Read the JSON input and extract the list of keys
|
||||||
keys=$(cat /root/rpc/$1.yml | yaml2json - | jq '.volumes' | jq -r 'keys[]')
|
keys=$(get_persistent_volume_keys "/root/rpc/$1.yml")
|
||||||
|
|
||||||
# Iterate over the list of keys
|
# Iterate over the list of keys
|
||||||
for key in $keys; do
|
for key in $keys; do
|
||||||
@@ -74,16 +81,16 @@ for key in $keys; do
|
|||||||
|
|
||||||
#echo "$target_file"
|
#echo "$target_file"
|
||||||
|
|
||||||
if [[ -n $2 ]]; then
|
if [[ -n "$remote_target" ]]; then
|
||||||
# Upload volume archive
|
# Upload volume archive
|
||||||
tar -cf - --dereference "$source_folder" | pv -pterb -s $(du -sb "$source_folder" | awk '{print $1}') | zstd | curl -X PUT --upload-file - "$2/null/uploading-$target_file"
|
tar -cf - --dereference "$source_folder" | pv -pterb -s $(du -sb "$source_folder" | awk '{print $1}') | zstd | curl -X PUT --upload-file - "$remote_target/null/uploading-$target_file"
|
||||||
curl -X MOVE -H "Destination: /null/$target_file" "$2/null/uploading-$target_file"
|
curl -X MOVE -H "Destination: /null/$target_file" "$remote_target/null/uploading-$target_file"
|
||||||
|
|
||||||
# Generate and upload metadata file
|
# Generate and upload metadata file
|
||||||
echo "Generating metadata for volume: rpc_$key"
|
echo "Generating metadata for volume: rpc_$key"
|
||||||
temp_metadata="/tmp/$metadata_file_name"
|
temp_metadata="/tmp/$metadata_file_name"
|
||||||
generate_volume_metadata "$key" "$source_folder" "$temp_metadata"
|
generate_volume_metadata "$key" "$source_folder" "$temp_metadata"
|
||||||
curl -X PUT --upload-file "$temp_metadata" "$2/null/$metadata_file_name"
|
curl -X PUT --upload-file "$temp_metadata" "$remote_target/null/$metadata_file_name"
|
||||||
rm -f "$temp_metadata"
|
rm -f "$temp_metadata"
|
||||||
else
|
else
|
||||||
# Create volume archive
|
# Create volume archive
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
berachain-bartio-reth:
|
berachain-bartio-reth:
|
||||||
image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/berachain/bera-reth}:${BERACHAIN_BARTIO_RETH_VERSION:-v1.3.1}
|
image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/berachain/bera-reth}:${BERACHAIN_BARTIO_RETH_VERSION:-v1.4.0}
|
||||||
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
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
berachain-bartio-reth-pruned:
|
berachain-bartio-reth-pruned:
|
||||||
image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/berachain/bera-reth}:${BERACHAIN_BARTIO_RETH_VERSION:-v1.3.1}
|
image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/berachain/bera-reth}:${BERACHAIN_BARTIO_RETH_VERSION:-v1.4.0}
|
||||||
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
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
berachain-bepolia-reth:
|
berachain-bepolia-reth:
|
||||||
image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/berachain/bera-reth}:${BERACHAIN_BEPOLIA_RETH_VERSION:-v1.3.1}
|
image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/berachain/bera-reth}:${BERACHAIN_BEPOLIA_RETH_VERSION:-v1.4.0}
|
||||||
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
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
berachain-bepolia-reth-pruned:
|
berachain-bepolia-reth-pruned:
|
||||||
image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/berachain/bera-reth}:${BERACHAIN_BEPOLIA_RETH_VERSION:-v1.3.1}
|
image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/berachain/bera-reth}:${BERACHAIN_BEPOLIA_RETH_VERSION:-v1.4.0}
|
||||||
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
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
berachain-mainnet-reth:
|
berachain-mainnet-reth:
|
||||||
image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/berachain/bera-reth}:${BERACHAIN_MAINNET_RETH_VERSION:-v1.3.1}
|
image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/berachain/bera-reth}:${BERACHAIN_MAINNET_RETH_VERSION:-v1.4.0}
|
||||||
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
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
berachain-mainnet-reth-pruned:
|
berachain-mainnet-reth-pruned:
|
||||||
image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/berachain/bera-reth}:${BERACHAIN_MAINNET_RETH_VERSION:-v1.3.1}
|
image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/berachain/bera-reth}:${BERACHAIN_MAINNET_RETH_VERSION:-v1.4.0}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
bitcoin-cash-mainnet:
|
bitcoin-cash-mainnet:
|
||||||
image: ${BITCOIN_CASH_BITCOIND_IMAGE:-bitcoinabc/bitcoin-abc}:${BITCOIN_CASH_MAINNET_BITCOIND_VERSION:-0.32.6}
|
image: ${BITCOIN_CASH_BITCOIND_IMAGE:-bitcoinabc/bitcoin-abc}:${BITCOIN_CASH_MAINNET_BITCOIND_VERSION:-0.33.4}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
bitcoin-cash-testnet:
|
bitcoin-cash-testnet:
|
||||||
image: ${BITCOIN_CASH_BITCOIND_IMAGE:-bitcoinabc/bitcoin-abc}:${BITCOIN_CASH_TESTNET_BITCOIND_VERSION:-0.32.6}
|
image: ${BITCOIN_CASH_BITCOIND_IMAGE:-bitcoinabc/bitcoin-abc}:${BITCOIN_CASH_TESTNET_BITCOIND_VERSION:-0.33.4}
|
||||||
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
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
bsc-chapel:
|
bsc-chapel:
|
||||||
image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_CHAPEL_BSC_VERSION:-1.6.6}
|
image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_CHAPEL_BSC_VERSION:-1.7.3}
|
||||||
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
|
||||||
@@ -74,7 +74,7 @@ services:
|
|||||||
- --metrics.port=6060
|
- --metrics.port=6060
|
||||||
- --nat=extip:${IP}
|
- --nat=extip:${IP}
|
||||||
- --port=12759
|
- --port=12759
|
||||||
- --rpc.gascap=600000000
|
- --rpc.gascap=0
|
||||||
- --rpc.txfeecap=0
|
- --rpc.txfeecap=0
|
||||||
- --state.scheme=path
|
- --state.scheme=path
|
||||||
- --syncmode=snap
|
- --syncmode=snap
|
||||||
|
|||||||
156
bsc/bsc/bsc-mainnet-bsc-minimal-pebble-hash.yml
Normal file
156
bsc/bsc/bsc-mainnet-bsc-minimal-pebble-hash.yml
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
---
|
||||||
|
x-logging-defaults: &logging-defaults
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
# Snapshot for minial datadir here
|
||||||
|
# https://github.com/48Club/bsc-snapshots?tab=readme-ov-file
|
||||||
|
|
||||||
|
# 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:bsc/bsc/bsc-mainnet-bsc-minimal-pebble-hash.yml
|
||||||
|
#
|
||||||
|
# docker compose up -d
|
||||||
|
#
|
||||||
|
# curl -X POST https://${IP}.traefik.me/bsc-mainnet-minimal \
|
||||||
|
# -H "Content-Type: application/json" \
|
||||||
|
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
||||||
|
|
||||||
|
services:
|
||||||
|
bsc-mainnet-minimal:
|
||||||
|
image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_MAINNET_BSC_VERSION:-1.7.3}
|
||||||
|
sysctls:
|
||||||
|
# TCP Performance
|
||||||
|
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
|
||||||
|
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
|
||||||
|
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
|
||||||
|
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
|
||||||
|
net.core.somaxconn: 32768 # Higher connection queue
|
||||||
|
# Memory/Connection Management
|
||||||
|
# net.core.netdev_max_backlog: 50000 # Increase network buffer
|
||||||
|
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
|
||||||
|
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
|
||||||
|
ulimits:
|
||||||
|
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||||
|
user: root
|
||||||
|
ports:
|
||||||
|
- 12853:12853
|
||||||
|
- 12853:12853/udp
|
||||||
|
expose:
|
||||||
|
- 8545
|
||||||
|
- 6060
|
||||||
|
entrypoint: [geth]
|
||||||
|
command:
|
||||||
|
- --cache.database=${BSC_MAINNET_BSC_MINIMAL_PEBBLE_HASH_CACHE_DB:-40}
|
||||||
|
- --cache.gc=${BSC_MAINNET_BSC_MINIMAL_PEBBLE_HASH_CACHE_GC:-25}
|
||||||
|
- --cache.snapshot=${BSC_MAINNET_BSC_MINIMAL_PEBBLE_HASH_CACHE_SNAPSHOT:-20}
|
||||||
|
- --cache.trie=${BSC_MAINNET_BSC_MINIMAL_PEBBLE_HASH_CACHE_TRIE:-15}
|
||||||
|
- --cache=${BSC_MAINNET_BSC_MINIMAL_PEBBLE_HASH_CACHE:-1024}
|
||||||
|
- --config=/config/config.toml
|
||||||
|
- --datadir=/bsc/.ethereum
|
||||||
|
- --db.engine=pebble
|
||||||
|
- --gcmode=full
|
||||||
|
- --history.blocks=1024
|
||||||
|
- --history.logs.disable=true
|
||||||
|
- --history.state=1024
|
||||||
|
- --history.transactions=1024
|
||||||
|
- --http
|
||||||
|
- --http.addr=0.0.0.0
|
||||||
|
- --http.api=eth,net,web3,txpool,debug,admin,parlia
|
||||||
|
- --http.port=8545
|
||||||
|
- --http.vhosts=*
|
||||||
|
- --mainnet
|
||||||
|
- --maxpeers=50
|
||||||
|
- --metrics
|
||||||
|
- --metrics.addr=0.0.0.0
|
||||||
|
- --metrics.port=6060
|
||||||
|
- --nat=extip:${IP}
|
||||||
|
- --port=12853
|
||||||
|
- --rpc.gascap=0
|
||||||
|
- --rpc.txfeecap=0
|
||||||
|
- --state.scheme=hash
|
||||||
|
- --syncmode=full
|
||||||
|
- --tries-verify-mode=none
|
||||||
|
- --txpool.pricelimit=50000000
|
||||||
|
- --ws
|
||||||
|
- --ws.addr=0.0.0.0
|
||||||
|
- --ws.api=eth,net,web3,txpool,debug,admin,parlia
|
||||||
|
- --ws.origins=*
|
||||||
|
- --ws.port=8545
|
||||||
|
restart: unless-stopped
|
||||||
|
stop_grace_period: 5m
|
||||||
|
networks:
|
||||||
|
- chains
|
||||||
|
volumes:
|
||||||
|
- ${BSC_MAINNET_BSC_MINIMAL_PEBBLE_HASH_DATA:-bsc-mainnet-bsc-minimal-pebble-hash}:/bsc/.ethereum
|
||||||
|
- ./bsc/mainnet:/config
|
||||||
|
- /slowdisk:/slowdisk
|
||||||
|
logging: *logging-defaults
|
||||||
|
labels:
|
||||||
|
- prometheus-scrape.enabled=true
|
||||||
|
- prometheus-scrape.port=6060
|
||||||
|
- prometheus-scrape.path=/metrics
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.middlewares.bsc-mainnet-bsc-minimal-pebble-hash-stripprefix.stripprefix.prefixes=/bsc-mainnet-minimal
|
||||||
|
- traefik.http.services.bsc-mainnet-bsc-minimal-pebble-hash.loadbalancer.server.port=8545
|
||||||
|
- ${NO_SSL:-traefik.http.routers.bsc-mainnet-bsc-minimal-pebble-hash.entrypoints=websecure}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.bsc-mainnet-bsc-minimal-pebble-hash.tls.certresolver=myresolver}
|
||||||
|
- ${NO_SSL:-traefik.http.routers.bsc-mainnet-bsc-minimal-pebble-hash.rule=Host(`$DOMAIN`) && (Path(`/bsc-mainnet-minimal`) || Path(`/bsc-mainnet-minimal/`))}
|
||||||
|
- ${NO_SSL:+traefik.http.routers.bsc-mainnet-bsc-minimal-pebble-hash.rule=Path(`/bsc-mainnet-minimal`) || Path(`/bsc-mainnet-minimal/`)}
|
||||||
|
- traefik.http.routers.bsc-mainnet-bsc-minimal-pebble-hash.middlewares=bsc-mainnet-bsc-minimal-pebble-hash-stripprefix, ipallowlist
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
bsc-mainnet-bsc-minimal-pebble-hash:
|
||||||
|
|
||||||
|
x-upstreams:
|
||||||
|
- id: $${ID}
|
||||||
|
labels:
|
||||||
|
provider: $${PROVIDER}
|
||||||
|
connection:
|
||||||
|
generic:
|
||||||
|
rpc:
|
||||||
|
url: $${RPC_URL}
|
||||||
|
ws:
|
||||||
|
frameSize: 20Mb
|
||||||
|
msgSize: 50Mb
|
||||||
|
url: $${WS_URL}
|
||||||
|
chain: bsc
|
||||||
|
method-groups:
|
||||||
|
enabled:
|
||||||
|
- debug
|
||||||
|
- filter
|
||||||
|
methods:
|
||||||
|
disabled:
|
||||||
|
enabled:
|
||||||
|
- name: txpool_content # TODO: should be disabled for rollup nodes
|
||||||
|
# standard geth only
|
||||||
|
- name: debug_getRawBlock
|
||||||
|
- name: debug_getRawTransaction
|
||||||
|
- name: debug_getRawReceipts
|
||||||
|
- name: debug_getRawHeader
|
||||||
|
- name: debug_getBadBlocks
|
||||||
|
# non standard geth only slightly dangerous
|
||||||
|
- name: debug_intermediateRoots
|
||||||
|
- name: debug_dumpBlock
|
||||||
|
# standard geth and erigon
|
||||||
|
- name: debug_accountRange
|
||||||
|
- name: debug_getModifiedAccountsByNumber
|
||||||
|
- name: debug_getModifiedAccountsByHash
|
||||||
|
# non standard geth and erigon
|
||||||
|
- name: eth_getRawTransactionByHash
|
||||||
|
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||||
|
...
|
||||||
@@ -32,7 +32,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
bsc-mainnet-minimal:
|
bsc-mainnet-minimal:
|
||||||
image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_MAINNET_BSC_VERSION:-1.6.6}
|
image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_MAINNET_BSC_VERSION:-1.7.3}
|
||||||
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
|
||||||
@@ -80,7 +80,7 @@ services:
|
|||||||
- --metrics.port=6060
|
- --metrics.port=6060
|
||||||
- --nat=extip:${IP}
|
- --nat=extip:${IP}
|
||||||
- --port=14596
|
- --port=14596
|
||||||
- --rpc.gascap=600000000
|
- --rpc.gascap=0
|
||||||
- --rpc.txfeecap=0
|
- --rpc.txfeecap=0
|
||||||
- --state.scheme=path
|
- --state.scheme=path
|
||||||
- --syncmode=snap
|
- --syncmode=snap
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ services:
|
|||||||
- --metrics.port=6060
|
- --metrics.port=6060
|
||||||
- --nat=extip:${IP}
|
- --nat=extip:${IP}
|
||||||
- --port=12037
|
- --port=12037
|
||||||
- --rpc.gascap=600000000
|
- --rpc.gascap=0
|
||||||
- --rpc.txfeecap=0
|
- --rpc.txfeecap=0
|
||||||
- --state.scheme=path
|
- --state.scheme=path
|
||||||
- --syncmode=full
|
- --syncmode=full
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
bsc-mainnet:
|
bsc-mainnet:
|
||||||
image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_MAINNET_BSC_VERSION:-1.6.6}
|
image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_MAINNET_BSC_VERSION:-1.7.3}
|
||||||
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
|
||||||
@@ -74,7 +74,7 @@ services:
|
|||||||
- --metrics.port=6060
|
- --metrics.port=6060
|
||||||
- --nat=extip:${IP}
|
- --nat=extip:${IP}
|
||||||
- --port=12037
|
- --port=12037
|
||||||
- --rpc.gascap=600000000
|
- --rpc.gascap=0
|
||||||
- --rpc.txfeecap=0
|
- --rpc.txfeecap=0
|
||||||
- --state.scheme=path
|
- --state.scheme=path
|
||||||
- --syncmode=snap
|
- --syncmode=snap
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
||||||
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
||||||
RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.0.7-beta}
|
RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.0.6-beta}
|
||||||
RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
||||||
ARCH_TARGET: ${ARCH_TARGET:-native}
|
ARCH_TARGET: ${ARCH_TARGET:-native}
|
||||||
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
||||||
@@ -101,6 +101,7 @@ services:
|
|||||||
- --rpc.max-blocks-per-filter=0
|
- --rpc.max-blocks-per-filter=0
|
||||||
- --rpc.max-connections=50000
|
- --rpc.max-connections=50000
|
||||||
- --rpc.max-logs-per-response=0
|
- --rpc.max-logs-per-response=0
|
||||||
|
- --rpc.max-trace-filter-blocks=10000
|
||||||
- --statedb.triedb
|
- --statedb.triedb
|
||||||
- --ws
|
- --ws
|
||||||
- --ws.addr=0.0.0.0
|
- --ws.addr=0.0.0.0
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
||||||
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
||||||
RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.0.7-beta}
|
RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.0.6-beta}
|
||||||
RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
||||||
ARCH_TARGET: ${ARCH_TARGET:-native}
|
ARCH_TARGET: ${ARCH_TARGET:-native}
|
||||||
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
||||||
@@ -101,6 +101,7 @@ services:
|
|||||||
- --rpc.max-blocks-per-filter=0
|
- --rpc.max-blocks-per-filter=0
|
||||||
- --rpc.max-connections=50000
|
- --rpc.max-connections=50000
|
||||||
- --rpc.max-logs-per-response=0
|
- --rpc.max-logs-per-response=0
|
||||||
|
- --rpc.max-trace-filter-blocks=10000
|
||||||
- --ws
|
- --ws
|
||||||
- --ws.addr=0.0.0.0
|
- --ws.addr=0.0.0.0
|
||||||
- --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev
|
- --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
||||||
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
||||||
RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.0.7-beta}
|
RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.0.6-beta}
|
||||||
RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
||||||
ARCH_TARGET: ${ARCH_TARGET:-native}
|
ARCH_TARGET: ${ARCH_TARGET:-native}
|
||||||
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
||||||
@@ -102,6 +102,7 @@ services:
|
|||||||
- --rpc.max-blocks-per-filter=0
|
- --rpc.max-blocks-per-filter=0
|
||||||
- --rpc.max-connections=50000
|
- --rpc.max-connections=50000
|
||||||
- --rpc.max-logs-per-response=0
|
- --rpc.max-logs-per-response=0
|
||||||
|
- --rpc.max-trace-filter-blocks=10000
|
||||||
- --statedb.triedb
|
- --statedb.triedb
|
||||||
- --ws
|
- --ws
|
||||||
- --ws.addr=0.0.0.0
|
- --ws.addr=0.0.0.0
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
||||||
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
||||||
RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.0.7-beta}
|
RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.0.6-beta}
|
||||||
RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
||||||
ARCH_TARGET: ${ARCH_TARGET:-native}
|
ARCH_TARGET: ${ARCH_TARGET:-native}
|
||||||
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
||||||
@@ -102,6 +102,7 @@ services:
|
|||||||
- --rpc.max-blocks-per-filter=0
|
- --rpc.max-blocks-per-filter=0
|
||||||
- --rpc.max-connections=50000
|
- --rpc.max-connections=50000
|
||||||
- --rpc.max-logs-per-response=0
|
- --rpc.max-logs-per-response=0
|
||||||
|
- --rpc.max-trace-filter-blocks=10000
|
||||||
- --ws
|
- --ws
|
||||||
- --ws.addr=0.0.0.0
|
- --ws.addr=0.0.0.0
|
||||||
- --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev
|
- --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
||||||
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
||||||
RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.0.7-beta}
|
RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.0.6-beta}
|
||||||
RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
||||||
ARCH_TARGET: ${ARCH_TARGET:-native}
|
ARCH_TARGET: ${ARCH_TARGET:-native}
|
||||||
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
||||||
@@ -102,6 +102,7 @@ services:
|
|||||||
- --rpc.max-blocks-per-filter=0
|
- --rpc.max-blocks-per-filter=0
|
||||||
- --rpc.max-connections=50000
|
- --rpc.max-connections=50000
|
||||||
- --rpc.max-logs-per-response=0
|
- --rpc.max-logs-per-response=0
|
||||||
|
- --rpc.max-trace-filter-blocks=10000
|
||||||
- --statedb.triedb
|
- --statedb.triedb
|
||||||
- --ws
|
- --ws
|
||||||
- --ws.addr=0.0.0.0
|
- --ws.addr=0.0.0.0
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
||||||
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
||||||
RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.0.7-beta}
|
RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.0.6-beta}
|
||||||
RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
||||||
ARCH_TARGET: ${ARCH_TARGET:-native}
|
ARCH_TARGET: ${ARCH_TARGET:-native}
|
||||||
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
||||||
@@ -102,6 +102,7 @@ services:
|
|||||||
- --rpc.max-blocks-per-filter=0
|
- --rpc.max-blocks-per-filter=0
|
||||||
- --rpc.max-connections=50000
|
- --rpc.max-connections=50000
|
||||||
- --rpc.max-logs-per-response=0
|
- --rpc.max-logs-per-response=0
|
||||||
|
- --rpc.max-trace-filter-blocks=10000
|
||||||
- --ws
|
- --ws
|
||||||
- --ws.addr=0.0.0.0
|
- --ws.addr=0.0.0.0
|
||||||
- --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev
|
- --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
||||||
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
||||||
RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.0.7-beta}
|
RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.0.6-beta}
|
||||||
RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
||||||
ARCH_TARGET: ${ARCH_TARGET:-native}
|
ARCH_TARGET: ${ARCH_TARGET:-native}
|
||||||
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
||||||
@@ -102,6 +102,7 @@ services:
|
|||||||
- --rpc.max-blocks-per-filter=0
|
- --rpc.max-blocks-per-filter=0
|
||||||
- --rpc.max-connections=50000
|
- --rpc.max-connections=50000
|
||||||
- --rpc.max-logs-per-response=0
|
- --rpc.max-logs-per-response=0
|
||||||
|
- --rpc.max-trace-filter-blocks=10000
|
||||||
- --statedb.triedb
|
- --statedb.triedb
|
||||||
- --ws
|
- --ws
|
||||||
- --ws.addr=0.0.0.0
|
- --ws.addr=0.0.0.0
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
|
||||||
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
|
||||||
RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.0.7-beta}
|
RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.0.6-beta}
|
||||||
RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
|
||||||
ARCH_TARGET: ${ARCH_TARGET:-native}
|
ARCH_TARGET: ${ARCH_TARGET:-native}
|
||||||
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
|
||||||
@@ -102,6 +102,7 @@ services:
|
|||||||
- --rpc.max-blocks-per-filter=0
|
- --rpc.max-blocks-per-filter=0
|
||||||
- --rpc.max-connections=50000
|
- --rpc.max-connections=50000
|
||||||
- --rpc.max-logs-per-response=0
|
- --rpc.max-logs-per-response=0
|
||||||
|
- --rpc.max-trace-filter-blocks=10000
|
||||||
- --ws
|
- --ws
|
||||||
- --ws.addr=0.0.0.0
|
- --ws.addr=0.0.0.0
|
||||||
- --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev
|
- --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev
|
||||||
|
|||||||
@@ -10,11 +10,15 @@ fi
|
|||||||
RPC_URL=$1
|
RPC_URL=$1
|
||||||
shift
|
shift
|
||||||
|
|
||||||
# Check for --starknet flag
|
# Check for --starknet / --aztec flag
|
||||||
is_starknet=false
|
is_starknet=false
|
||||||
|
is_aztec=false
|
||||||
if [ "$1" == "--starknet" ]; then
|
if [ "$1" == "--starknet" ]; then
|
||||||
is_starknet=true
|
is_starknet=true
|
||||||
shift
|
shift
|
||||||
|
elif [ "$1" == "--aztec" ]; then
|
||||||
|
is_aztec=true
|
||||||
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
REF=""
|
REF=""
|
||||||
@@ -34,6 +38,8 @@ response_file=$(mktemp)
|
|||||||
# Use appropriate RPC method based on chain type
|
# Use appropriate RPC method based on chain type
|
||||||
if $is_starknet; then
|
if $is_starknet; then
|
||||||
rpc_method='{"jsonrpc":"2.0","method":"starknet_getBlockWithTxHashes","params":["latest"],"id":1}'
|
rpc_method='{"jsonrpc":"2.0","method":"starknet_getBlockWithTxHashes","params":["latest"],"id":1}'
|
||||||
|
elif $is_aztec; then
|
||||||
|
rpc_method='{"jsonrpc":"2.0","method":"node_getBlock","params":["latest"],"id":1}'
|
||||||
else
|
else
|
||||||
rpc_method='{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}'
|
rpc_method='{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}'
|
||||||
fi
|
fi
|
||||||
@@ -49,6 +55,15 @@ if [ $? -eq 0 ]; then
|
|||||||
latest_block_timestamp_decimal=$(echo "$response" | jq -r '.result.timestamp')
|
latest_block_timestamp_decimal=$(echo "$response" | jq -r '.result.timestamp')
|
||||||
latest_block_number=$(echo "$response" | jq -r '.result.block_number')
|
latest_block_number=$(echo "$response" | jq -r '.result.block_number')
|
||||||
latest_block_hash=$(echo "$response" | jq -r '.result.block_hash')
|
latest_block_hash=$(echo "$response" | jq -r '.result.block_hash')
|
||||||
|
elif $is_aztec; then
|
||||||
|
# Aztec: node_getBlock("latest") returns blockHash, header.globalVariables.blockNumber, header.globalVariables.timestamp
|
||||||
|
latest_block_number=$(echo "$response" | jq -r '.result.header.globalVariables.blockNumber')
|
||||||
|
latest_block_timestamp_decimal=$(echo "$response" | jq -r '.result.header.globalVariables.timestamp')
|
||||||
|
latest_block_hash=$(echo "$response" | jq -r '.result.blockHash')
|
||||||
|
if [ "$latest_block_number" = "null" ] || [ "$latest_block_timestamp_decimal" = "null" ] || [ -z "$latest_block_timestamp_decimal" ]; then
|
||||||
|
echo "error"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
# Ethereum returns hex timestamp and number
|
# Ethereum returns hex timestamp and number
|
||||||
latest_block_timestamp=$(echo "$response" | jq -r '.result.timestamp')
|
latest_block_timestamp=$(echo "$response" | jq -r '.result.timestamp')
|
||||||
@@ -70,6 +85,8 @@ if [ $? -eq 0 ]; then
|
|||||||
if $is_starknet; then
|
if $is_starknet; then
|
||||||
# Starknet uses block_id object with block_number
|
# Starknet uses block_id object with block_number
|
||||||
rpc_method2="{\"jsonrpc\":\"2.0\",\"method\":\"starknet_getBlockWithTxHashes\",\"params\":[{\"block_number\":$latest_block_number}],\"id\":1}"
|
rpc_method2="{\"jsonrpc\":\"2.0\",\"method\":\"starknet_getBlockWithTxHashes\",\"params\":[{\"block_number\":$latest_block_number}],\"id\":1}"
|
||||||
|
elif $is_aztec; then
|
||||||
|
rpc_method2="{\"jsonrpc\":\"2.0\",\"method\":\"node_getBlock\",\"params\":[$latest_block_number],\"id\":1}"
|
||||||
else
|
else
|
||||||
rpc_method2="{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"$latest_block_number\", false],\"id\":1}"
|
rpc_method2="{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"$latest_block_number\", false],\"id\":1}"
|
||||||
fi
|
fi
|
||||||
@@ -83,35 +100,50 @@ if [ $? -eq 0 ]; then
|
|||||||
response2=$(cat "$response_file2")
|
response2=$(cat "$response_file2")
|
||||||
if $is_starknet; then
|
if $is_starknet; then
|
||||||
latest_block_hash2=$(echo "$response2" | jq -r '.result.block_hash')
|
latest_block_hash2=$(echo "$response2" | jq -r '.result.block_hash')
|
||||||
|
elif $is_aztec; then
|
||||||
|
latest_block_hash2=$(echo "$response2" | jq -r '.result.blockHash')
|
||||||
else
|
else
|
||||||
latest_block_hash2=$(echo "$response2" | jq -r '.result.hash')
|
latest_block_hash2=$(echo "$response2" | jq -r '.result.hash')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm "$response_file2"
|
rm "$response_file2"
|
||||||
|
|
||||||
|
# Proceed if hashes match (or both empty for Aztec when API omits hash)
|
||||||
if [ "$latest_block_hash" == "$latest_block_hash2" ]; then
|
if [ "$latest_block_hash" == "$latest_block_hash2" ]; then
|
||||||
response_file3=$(mktemp)
|
response_file3=$(mktemp)
|
||||||
status_file3=$(mktemp)
|
status_file3=$(mktemp)
|
||||||
|
|
||||||
if $is_starknet; then
|
if $is_aztec; then
|
||||||
rpc_method_latest='{"jsonrpc":"2.0","method":"starknet_getBlockWithTxHashes","params":["latest"],"id":1}'
|
# Aztec: node_getBlock("latest") - same single-request pattern as eth/starknet
|
||||||
|
rpc_method_latest='{"jsonrpc":"2.0","method":"node_getBlock","params":["latest"],"id":1}'
|
||||||
|
{
|
||||||
|
$BASEPATH/multicurl.sh -L --ipv4 -m $timeout -s -X POST -w "%{http_code} %{time_total}" -o "$response_file3" -H "Content-Type: application/json" --data "$rpc_method_latest" $ref > "$status_file3"
|
||||||
|
} &
|
||||||
|
pid3=$!
|
||||||
|
response_file4=$(mktemp)
|
||||||
|
status_file4=$(mktemp)
|
||||||
|
{
|
||||||
|
curl -L --ipv4 -m $timeout -s -X POST -w "%{http_code} %{time_total}" -o "$response_file4" -H "Content-Type: application/json" --data "$rpc_method_latest" $RPC_URL > "$status_file4"
|
||||||
|
} &
|
||||||
|
pid4=$!
|
||||||
else
|
else
|
||||||
rpc_method_latest='{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}'
|
if $is_starknet; then
|
||||||
|
rpc_method_latest='{"jsonrpc":"2.0","method":"starknet_getBlockWithTxHashes","params":["latest"],"id":1}'
|
||||||
|
else
|
||||||
|
rpc_method_latest='{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}'
|
||||||
|
fi
|
||||||
|
{
|
||||||
|
$BASEPATH/multicurl.sh -L --ipv4 -m $timeout -s -X POST -w "%{http_code} %{time_total}" -o "$response_file3" -H "Content-Type: application/json" --data "$rpc_method_latest" $ref > "$status_file3"
|
||||||
|
} &
|
||||||
|
pid3=$!
|
||||||
|
response_file4=$(mktemp)
|
||||||
|
status_file4=$(mktemp)
|
||||||
|
{
|
||||||
|
curl -L --ipv4 -m $timeout -s -X POST -w "%{http_code} %{time_total}" -o "$response_file4" -H "Content-Type: application/json" --data "$rpc_method_latest" $RPC_URL > "$status_file4"
|
||||||
|
} &
|
||||||
|
pid4=$!
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{
|
|
||||||
$BASEPATH/multicurl.sh -L --ipv4 -m $timeout -s -X POST -w "%{http_code} %{time_total}" -o "$response_file3" -H "Content-Type: application/json" --data "$rpc_method_latest" $ref > "$status_file3"
|
|
||||||
} &
|
|
||||||
pid3=$!
|
|
||||||
|
|
||||||
response_file4=$(mktemp)
|
|
||||||
status_file4=$(mktemp)
|
|
||||||
|
|
||||||
{
|
|
||||||
curl -L --ipv4 -m $timeout -s -X POST -w "%{http_code} %{time_total}" -o "$response_file4" -H "Content-Type: application/json" --data "$rpc_method_latest" $RPC_URL > "$status_file4"
|
|
||||||
} &
|
|
||||||
pid4=$!
|
|
||||||
|
|
||||||
wait $pid3
|
wait $pid3
|
||||||
curl_code3=$?
|
curl_code3=$?
|
||||||
http_status_code3=$(cat "$status_file3" | cut -d ' ' -f 1)
|
http_status_code3=$(cat "$status_file3" | cut -d ' ' -f 1)
|
||||||
@@ -132,6 +164,8 @@ if [ $? -eq 0 ]; then
|
|||||||
|
|
||||||
if $is_starknet; then
|
if $is_starknet; then
|
||||||
latest_block_timestamp_decimal3=$(echo "$response3" | jq -r '.result.timestamp')
|
latest_block_timestamp_decimal3=$(echo "$response3" | jq -r '.result.timestamp')
|
||||||
|
elif $is_aztec; then
|
||||||
|
latest_block_timestamp_decimal3=$(echo "$response3" | jq -r '.result.header.globalVariables.timestamp')
|
||||||
else
|
else
|
||||||
latest_block_timestamp3=$(echo "$response3" | jq -r '.result.timestamp')
|
latest_block_timestamp3=$(echo "$response3" | jq -r '.result.timestamp')
|
||||||
latest_block_timestamp_decimal3=$((16#${latest_block_timestamp3#0x}))
|
latest_block_timestamp_decimal3=$((16#${latest_block_timestamp3#0x}))
|
||||||
@@ -146,6 +180,8 @@ if [ $? -eq 0 ]; then
|
|||||||
|
|
||||||
if $is_starknet; then
|
if $is_starknet; then
|
||||||
latest_block_timestamp_decimal4=$(echo "$response4" | jq -r '.result.timestamp')
|
latest_block_timestamp_decimal4=$(echo "$response4" | jq -r '.result.timestamp')
|
||||||
|
elif $is_aztec; then
|
||||||
|
latest_block_timestamp_decimal4=$(echo "$response4" | jq -r '.result.header.globalVariables.timestamp')
|
||||||
else
|
else
|
||||||
latest_block_timestamp4=$(echo "$response4" | jq -r '.result.timestamp')
|
latest_block_timestamp4=$(echo "$response4" | jq -r '.result.timestamp')
|
||||||
latest_block_timestamp_decimal4=$((16#${latest_block_timestamp4#0x}))
|
latest_block_timestamp_decimal4=$((16#${latest_block_timestamp4#0x}))
|
||||||
|
|||||||
@@ -1,17 +1,13 @@
|
|||||||
BASEPATH="$(dirname "$0")"
|
BASEPATH="$(dirname "$0")"
|
||||||
source $BASEPATH/.env
|
source $BASEPATH/.env
|
||||||
|
source $BASEPATH/volume-utils.sh
|
||||||
|
|
||||||
IFS=':' read -ra parts <<< $COMPOSE_FILE
|
IFS=':' read -ra parts <<< $COMPOSE_FILE
|
||||||
|
|
||||||
used_volumes=()
|
used_volumes=()
|
||||||
|
|
||||||
for part in "${parts[@]}"; do
|
for part in "${parts[@]}"; do
|
||||||
|
volumes=$(get_volume_keys "$BASEPATH/$part")
|
||||||
# Convert YAML to JSON using yaml2json
|
|
||||||
json=$(yaml2json "$BASEPATH/$part")
|
|
||||||
|
|
||||||
# Extract volumes using jq
|
|
||||||
volumes=$(echo "$json" | jq -r '.volumes | keys[]' 2> /dev/null)
|
|
||||||
|
|
||||||
# Convert volumes to an array
|
# Convert volumes to an array
|
||||||
prefix="rpc_"
|
prefix="rpc_"
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
dir="$(dirname "$0")"
|
dir="$(dirname "$0")"
|
||||||
|
source "$dir/volume-utils.sh"
|
||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
BASE_PORT=9000
|
BASE_PORT=9000
|
||||||
@@ -524,7 +525,7 @@ main() {
|
|||||||
sudo sysctl -w net.ipv4.tcp_no_metrics_save=1
|
sudo sysctl -w net.ipv4.tcp_no_metrics_save=1
|
||||||
|
|
||||||
echo "Reading volume configuration from $dir/$1.yml..."
|
echo "Reading volume configuration from $dir/$1.yml..."
|
||||||
keys=$(cat "$dir/$1.yml" | yaml2json - | jq '.volumes' | jq -r 'keys[]')
|
keys=$(get_persistent_volume_keys "$dir/$1.yml")
|
||||||
|
|
||||||
if [[ -z "$keys" ]]; then
|
if [[ -z "$keys" ]]; then
|
||||||
echo "Error: No volumes found in configuration"
|
echo "Error: No volumes found in configuration"
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
# Fixed version that handles missing netstat
|
# Fixed version that handles missing netstat
|
||||||
|
|
||||||
BASEPATH="$(dirname "$0")"
|
BASEPATH="$(dirname "$0")"
|
||||||
|
source "$BASEPATH/volume-utils.sh"
|
||||||
|
|
||||||
if [[ -n $2 ]]; then
|
if [[ -n $2 ]]; then
|
||||||
DEST_HOST="$2.stakesquid.eu"
|
DEST_HOST="$2.stakesquid.eu"
|
||||||
@@ -496,7 +497,7 @@ main() {
|
|||||||
sudo sysctl -w net.ipv4.tcp_no_metrics_save=1
|
sudo sysctl -w net.ipv4.tcp_no_metrics_save=1
|
||||||
|
|
||||||
echo "Reading volume configuration from $1.yml..."
|
echo "Reading volume configuration from $1.yml..."
|
||||||
keys=$(cat /root/rpc/$1.yml | yaml2json - | jq '.volumes' | jq -r 'keys[]')
|
keys=$(get_persistent_volume_keys "/root/rpc/$1.yml")
|
||||||
|
|
||||||
if [[ -z "$keys" ]]; then
|
if [[ -z "$keys" ]]; then
|
||||||
echo "Error: No volumes found in configuration"
|
echo "Error: No volumes found in configuration"
|
||||||
|
|||||||
@@ -201,8 +201,8 @@
|
|||||||
"client": "nitro",
|
"client": "nitro",
|
||||||
"compose_file": "arb/nitro/arbitrum-nova-nitro-archive-leveldb-hash",
|
"compose_file": "arb/nitro/arbitrum-nova-nitro-archive-leveldb-hash",
|
||||||
"features": [
|
"features": [
|
||||||
"hash",
|
"path",
|
||||||
"leveldb"
|
"pebble"
|
||||||
],
|
],
|
||||||
"network": "arbitrum",
|
"network": "arbitrum",
|
||||||
"node": null,
|
"node": null,
|
||||||
@@ -213,6 +213,23 @@
|
|||||||
"arbitrum-nova-nitro-archive-leveldb-hash"
|
"arbitrum-nova-nitro-archive-leveldb-hash"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "nova",
|
||||||
|
"client": "nitro",
|
||||||
|
"compose_file": "arb/nitro/arbitrum-nova-nitro-archive-pebble-path",
|
||||||
|
"features": [
|
||||||
|
"path",
|
||||||
|
"pebble"
|
||||||
|
],
|
||||||
|
"network": "arbitrum",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": "arb",
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"arbitrum-nova-nitro-archive-pebble-path"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "nova",
|
"chain": "nova",
|
||||||
"client": "nitro",
|
"client": "nitro",
|
||||||
@@ -283,6 +300,23 @@
|
|||||||
"arbitrum-one-nitro-archive-pebble-hash"
|
"arbitrum-one-nitro-archive-pebble-hash"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "one",
|
||||||
|
"client": "nitro",
|
||||||
|
"compose_file": "arb/nitro/arbitrum-one-nitro-archive-pebble-path",
|
||||||
|
"features": [
|
||||||
|
"hash",
|
||||||
|
"pebble"
|
||||||
|
],
|
||||||
|
"network": "arbitrum",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": "arb",
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"arbitrum-one-nitro-archive-pebble-path"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "one",
|
"chain": "one",
|
||||||
"client": "nitro",
|
"client": "nitro",
|
||||||
@@ -539,13 +573,47 @@
|
|||||||
"plume-mainnet-nitro-archive-leveldb-hash"
|
"plume-mainnet-nitro-archive-leveldb-hash"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "mainnet",
|
||||||
|
"client": "nitro",
|
||||||
|
"compose_file": "arb/nitro/plume-mainnet-nitro-archive-pebble-hash",
|
||||||
|
"features": [
|
||||||
|
"hash",
|
||||||
|
"leveldb"
|
||||||
|
],
|
||||||
|
"network": "plume",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": "arb",
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"plume-mainnet-nitro-archive-pebble-hash"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "mainnet",
|
||||||
|
"client": "nitro",
|
||||||
|
"compose_file": "arb/nitro/plume-mainnet-nitro-pruned-leveldb-hash",
|
||||||
|
"features": [
|
||||||
|
"hash",
|
||||||
|
"leveldb"
|
||||||
|
],
|
||||||
|
"network": "plume",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": "arb",
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"plume-mainnet-nitro-pruned-leveldb-hash"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "mainnet",
|
"chain": "mainnet",
|
||||||
"client": "nitro",
|
"client": "nitro",
|
||||||
"compose_file": "arb/nitro/plume-mainnet-nitro-pruned-pebble-path",
|
"compose_file": "arb/nitro/plume-mainnet-nitro-pruned-pebble-path",
|
||||||
"features": [
|
"features": [
|
||||||
"path",
|
"hash",
|
||||||
"pebble"
|
"leveldb"
|
||||||
],
|
],
|
||||||
"network": "plume",
|
"network": "plume",
|
||||||
"node": null,
|
"node": null,
|
||||||
@@ -573,13 +641,47 @@
|
|||||||
"plume-testnet-nitro-archive-leveldb-hash"
|
"plume-testnet-nitro-archive-leveldb-hash"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "testnet",
|
||||||
|
"client": "nitro",
|
||||||
|
"compose_file": "arb/nitro/plume-testnet-nitro-archive-pebble-hash",
|
||||||
|
"features": [
|
||||||
|
"hash",
|
||||||
|
"leveldb"
|
||||||
|
],
|
||||||
|
"network": "plume",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": "arb",
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"plume-testnet-nitro-archive-pebble-hash"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "testnet",
|
||||||
|
"client": "nitro",
|
||||||
|
"compose_file": "arb/nitro/plume-testnet-nitro-pruned-leveldb-hash",
|
||||||
|
"features": [
|
||||||
|
"hash",
|
||||||
|
"leveldb"
|
||||||
|
],
|
||||||
|
"network": "plume",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": "arb",
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"plume-testnet-nitro-pruned-leveldb-hash"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "testnet",
|
"chain": "testnet",
|
||||||
"client": "nitro",
|
"client": "nitro",
|
||||||
"compose_file": "arb/nitro/plume-testnet-nitro-pruned-pebble-path",
|
"compose_file": "arb/nitro/plume-testnet-nitro-pruned-pebble-path",
|
||||||
"features": [
|
"features": [
|
||||||
"path",
|
"hash",
|
||||||
"pebble"
|
"leveldb"
|
||||||
],
|
],
|
||||||
"network": "plume",
|
"network": "plume",
|
||||||
"node": null,
|
"node": null,
|
||||||
@@ -785,6 +887,34 @@
|
|||||||
"avalanche-mainnet-go-pruned-pebbledb"
|
"avalanche-mainnet-go-pruned-pebbledb"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "devnet",
|
||||||
|
"client": "aztec",
|
||||||
|
"compose_file": "aztec/aztec/aztec-devnet-aztec-pruned",
|
||||||
|
"features": [],
|
||||||
|
"network": "aztec",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"aztec-devnet-aztec-pruned"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "testnet",
|
||||||
|
"client": "aztec",
|
||||||
|
"compose_file": "aztec/aztec/aztec-testnet-aztec-pruned",
|
||||||
|
"features": [],
|
||||||
|
"network": "aztec",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"aztec-testnet-aztec-pruned"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "bepolia",
|
"chain": "bepolia",
|
||||||
"client": "geth",
|
"client": "geth",
|
||||||
@@ -1006,12 +1136,29 @@
|
|||||||
"bsc-chapel-bsc-pruned-pebble-path"
|
"bsc-chapel-bsc-pruned-pebble-path"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "mainnet",
|
||||||
|
"client": "bsc",
|
||||||
|
"compose_file": "bsc/bsc/bsc-mainnet-bsc-minimal-pebble-hash",
|
||||||
|
"features": [
|
||||||
|
"hash",
|
||||||
|
"pebble"
|
||||||
|
],
|
||||||
|
"network": "bsc",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "minimal",
|
||||||
|
"volumes": [
|
||||||
|
"bsc-mainnet-bsc-minimal-pebble-hash"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "mainnet",
|
"chain": "mainnet",
|
||||||
"client": "bsc",
|
"client": "bsc",
|
||||||
"compose_file": "bsc/bsc/bsc-mainnet-bsc-minimal-pebble-path",
|
"compose_file": "bsc/bsc/bsc-mainnet-bsc-minimal-pebble-path",
|
||||||
"features": [
|
"features": [
|
||||||
"path",
|
"hash",
|
||||||
"pebble"
|
"pebble"
|
||||||
],
|
],
|
||||||
"network": "bsc",
|
"network": "bsc",
|
||||||
@@ -2966,6 +3113,40 @@
|
|||||||
"hyperliquid-testnet-visor-pruned"
|
"hyperliquid-testnet-visor-pruned"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "zkevm-mainnet",
|
||||||
|
"client": "geth",
|
||||||
|
"compose_file": "immutable-zkevm/geth/immutable-zkevm-mainnet-geth-pruned-pebble-path",
|
||||||
|
"features": [
|
||||||
|
"path",
|
||||||
|
"pebble"
|
||||||
|
],
|
||||||
|
"network": "immutable",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"immutable-zkevm-mainnet-geth-pruned-pebble-path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "zkevm-testnet",
|
||||||
|
"client": "geth",
|
||||||
|
"compose_file": "immutable-zkevm/geth/immutable-zkevm-testnet-geth-pruned-pebble-path",
|
||||||
|
"features": [
|
||||||
|
"path",
|
||||||
|
"pebble"
|
||||||
|
],
|
||||||
|
"network": "immutable",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"immutable-zkevm-testnet-geth-pruned-pebble-path"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "mainnet",
|
"chain": "mainnet",
|
||||||
"client": "external-node",
|
"client": "external-node",
|
||||||
@@ -4452,6 +4633,57 @@
|
|||||||
"hashkeychain-mainnet-op-geth-pruned-pebble-path"
|
"hashkeychain-mainnet-op-geth-pruned-pebble-path"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "testnet",
|
||||||
|
"client": "geth",
|
||||||
|
"compose_file": "op/geth/hashkeychain-testnet-op-geth-archive-leveldb-hash",
|
||||||
|
"features": [
|
||||||
|
"hash",
|
||||||
|
"leveldb"
|
||||||
|
],
|
||||||
|
"network": "hashkeychain",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"hashkeychain-testnet-op-geth-archive-leveldb-hash"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "testnet",
|
||||||
|
"client": "geth",
|
||||||
|
"compose_file": "op/geth/hashkeychain-testnet-op-geth-pruned-pebble-hash",
|
||||||
|
"features": [
|
||||||
|
"hash",
|
||||||
|
"pebble"
|
||||||
|
],
|
||||||
|
"network": "hashkeychain",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"hashkeychain-testnet-op-geth-pruned-pebble-hash"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "testnet",
|
||||||
|
"client": "geth",
|
||||||
|
"compose_file": "op/geth/hashkeychain-testnet-op-geth-pruned-pebble-path",
|
||||||
|
"features": [
|
||||||
|
"hash",
|
||||||
|
"pebble"
|
||||||
|
],
|
||||||
|
"network": "hashkeychain",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"hashkeychain-testnet-op-geth-pruned-pebble-path"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "mainnet",
|
"chain": "mainnet",
|
||||||
"client": "geth",
|
"client": "geth",
|
||||||
@@ -4537,6 +4769,74 @@
|
|||||||
"ink-sepolia-op-geth-pruned-pebble-path"
|
"ink-sepolia-op-geth-pruned-pebble-path"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "mainnet",
|
||||||
|
"client": "geth",
|
||||||
|
"compose_file": "op/geth/katana-mainnet-op-geth-archive-leveldb-hash",
|
||||||
|
"features": [
|
||||||
|
"hash",
|
||||||
|
"leveldb"
|
||||||
|
],
|
||||||
|
"network": "katana",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"katana-mainnet-op-geth-archive-leveldb-hash"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "mainnet",
|
||||||
|
"client": "geth",
|
||||||
|
"compose_file": "op/geth/katana-mainnet-op-geth-pruned-pebble-path",
|
||||||
|
"features": [
|
||||||
|
"path",
|
||||||
|
"pebble"
|
||||||
|
],
|
||||||
|
"network": "katana",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"katana-mainnet-op-geth-pruned-pebble-path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "testnet",
|
||||||
|
"client": "geth",
|
||||||
|
"compose_file": "op/geth/katana-testnet-op-geth-archive-leveldb-hash",
|
||||||
|
"features": [
|
||||||
|
"hash",
|
||||||
|
"leveldb"
|
||||||
|
],
|
||||||
|
"network": "katana",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"katana-testnet-op-geth-archive-leveldb-hash"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "testnet",
|
||||||
|
"client": "geth",
|
||||||
|
"compose_file": "op/geth/katana-testnet-op-geth-pruned-pebble-path",
|
||||||
|
"features": [
|
||||||
|
"path",
|
||||||
|
"pebble"
|
||||||
|
],
|
||||||
|
"network": "katana",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"katana-testnet-op-geth-pruned-pebble-path"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "mainnet",
|
"chain": "mainnet",
|
||||||
"client": "geth",
|
"client": "geth",
|
||||||
@@ -5826,6 +6126,102 @@
|
|||||||
"base-sepolia-op-reth-pruned-trace"
|
"base-sepolia-op-reth-pruned-trace"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "sepolia",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/bob-sepolia-op-reth-archive-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "bob",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"bob-sepolia-op-reth-archive-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "sepolia",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/bob-sepolia-op-reth-minimal-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "bob",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "minimal",
|
||||||
|
"volumes": [
|
||||||
|
"bob-sepolia-op-reth-minimal-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "sepolia",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/bob-sepolia-op-reth-pruned-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "bob",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"bob-sepolia-op-reth-pruned-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "sepolia",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/ink-sepolia-op-reth-archive-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "ink",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"ink-sepolia-op-reth-archive-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "sepolia",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/ink-sepolia-op-reth-minimal-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "ink",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "minimal",
|
||||||
|
"volumes": [
|
||||||
|
"ink-sepolia-op-reth-minimal-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "sepolia",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/ink-sepolia-op-reth-pruned-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "ink",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"ink-sepolia-op-reth-pruned-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "mainnet",
|
"chain": "mainnet",
|
||||||
"client": "reth",
|
"client": "reth",
|
||||||
@@ -6018,6 +6414,135 @@
|
|||||||
"soneium-minato-sepolia-op-reth-pruned-trace"
|
"soneium-minato-sepolia-op-reth-pruned-trace"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "sepolia",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/worldchain-sepolia-op-reth-archive-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "worldchain",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"worldchain-sepolia-op-reth-archive-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "sepolia",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/worldchain-sepolia-op-reth-minimal-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "worldchain",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "minimal",
|
||||||
|
"volumes": [
|
||||||
|
"worldchain-sepolia-op-reth-minimal-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "sepolia",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/worldchain-sepolia-op-reth-pruned-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "worldchain",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"worldchain-sepolia-op-reth-pruned-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "mainnet",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/xlayer-mainnet-op-reth-archive-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "xlayer",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"xlayer-mainnet-op-reth-archive-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "mainnet",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/xlayer-mainnet-op-reth-pruned-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "xlayer",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"xlayer-mainnet-op-reth-pruned-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "testnet",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/xlayer-testnet-op-reth-archive-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "xlayer",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"xlayer-testnet-op-reth-archive-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "testnet",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "op/reth/xlayer-testnet-op-reth-pruned-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "xlayer",
|
||||||
|
"node": "node",
|
||||||
|
"relay": null,
|
||||||
|
"stack": "op",
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"xlayer-testnet-op-reth-pruned-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "amoy",
|
||||||
|
"client": "bor",
|
||||||
|
"compose_file": "polygon/bor/polygon-amoy-bor-archive-pebble-path",
|
||||||
|
"features": [
|
||||||
|
"path",
|
||||||
|
"pebble"
|
||||||
|
],
|
||||||
|
"network": "polygon",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"polygon-amoy-bor-archive-pebble-path"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "amoy",
|
"chain": "amoy",
|
||||||
"client": "bor",
|
"client": "bor",
|
||||||
@@ -6035,6 +6560,23 @@
|
|||||||
"polygon-amoy-bor-pruned-pebble-path"
|
"polygon-amoy-bor-pruned-pebble-path"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "mainnet",
|
||||||
|
"client": "bor",
|
||||||
|
"compose_file": "polygon/bor/polygon-mainnet-bor-archive-pebble-path",
|
||||||
|
"features": [
|
||||||
|
"path",
|
||||||
|
"pebble"
|
||||||
|
],
|
||||||
|
"network": "polygon",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"polygon-mainnet-bor-archive-pebble-path"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "mainnet",
|
"chain": "mainnet",
|
||||||
"client": "bor",
|
"client": "bor",
|
||||||
@@ -6166,6 +6708,70 @@
|
|||||||
"polygon-mainnet-erigon3-pruned-trace"
|
"polygon-mainnet-erigon3-pruned-trace"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "zkevm-cardona",
|
||||||
|
"client": "cdk-erigon",
|
||||||
|
"compose_file": "polygon-zkevm/cdk-erigon/polygon-zkevm-cardona-cdk-erigon-archive-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "polygon",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"polygon-zkevm-cardona-cdk-erigon-archive-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "zkevm-cardona",
|
||||||
|
"client": "cdk-erigon",
|
||||||
|
"compose_file": "polygon-zkevm/cdk-erigon/polygon-zkevm-cardona-cdk-erigon-pruned-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "polygon",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"polygon-zkevm-cardona-cdk-erigon-pruned-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "zkevm-mainnet",
|
||||||
|
"client": "cdk-erigon",
|
||||||
|
"compose_file": "polygon-zkevm/cdk-erigon/polygon-zkevm-mainnet-cdk-erigon-archive-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "polygon",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"polygon-zkevm-mainnet-cdk-erigon-archive-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "zkevm-mainnet",
|
||||||
|
"client": "cdk-erigon",
|
||||||
|
"compose_file": "polygon-zkevm/cdk-erigon/polygon-zkevm-mainnet-cdk-erigon-pruned-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "polygon",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"polygon-zkevm-mainnet-cdk-erigon-pruned-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "mainnet",
|
"chain": "mainnet",
|
||||||
"client": "rippled",
|
"client": "rippled",
|
||||||
@@ -6751,7 +7357,7 @@
|
|||||||
"pebble"
|
"pebble"
|
||||||
],
|
],
|
||||||
"network": "taiko",
|
"network": "taiko",
|
||||||
"node": "driver",
|
"node": null,
|
||||||
"relay": null,
|
"relay": null,
|
||||||
"stack": null,
|
"stack": null,
|
||||||
"type": "pruned",
|
"type": "pruned",
|
||||||
@@ -6802,7 +7408,7 @@
|
|||||||
"pebble"
|
"pebble"
|
||||||
],
|
],
|
||||||
"network": "taiko",
|
"network": "taiko",
|
||||||
"node": "driver",
|
"node": null,
|
||||||
"relay": null,
|
"relay": null,
|
||||||
"stack": null,
|
"stack": null,
|
||||||
"type": "pruned",
|
"type": "pruned",
|
||||||
@@ -6853,7 +7459,7 @@
|
|||||||
"pebble"
|
"pebble"
|
||||||
],
|
],
|
||||||
"network": "taiko",
|
"network": "taiko",
|
||||||
"node": "driver",
|
"node": null,
|
||||||
"relay": null,
|
"relay": null,
|
||||||
"stack": null,
|
"stack": null,
|
||||||
"type": "pruned",
|
"type": "pruned",
|
||||||
@@ -6963,6 +7569,140 @@
|
|||||||
"taiko-hoodi-nethermind-pruned-rocksdb-trace"
|
"taiko-hoodi-nethermind-pruned-rocksdb-trace"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"chain": "alethia",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "taiko/reth/taiko-alethia-reth-archive-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "taiko",
|
||||||
|
"node": "driver",
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"taiko-alethia-reth-archive-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "alethia",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "taiko/reth/taiko-alethia-reth-pruned-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "taiko",
|
||||||
|
"node": "driver",
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"taiko-alethia-reth-pruned-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "mainnet",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "tempo/reth/tempo-mainnet-reth-archive-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "tempo",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"tempo-mainnet-reth-archive-trace",
|
||||||
|
"tempo-mainnet-reth-secrets"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "mainnet",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "tempo/reth/tempo-mainnet-reth-pruned-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "tempo",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"tempo-mainnet-reth-pruned-secrets",
|
||||||
|
"tempo-mainnet-reth-pruned-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "moderato",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "tempo/reth/tempo-moderato-reth-archive-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "tempo",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"tempo-moderato-reth-archive-trace",
|
||||||
|
"tempo-moderato-reth-secrets"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "moderato",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "tempo/reth/tempo-moderato-reth-pruned-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "tempo",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"tempo-moderato-reth-pruned-secrets",
|
||||||
|
"tempo-moderato-reth-pruned-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "testnet",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "tempo/reth/tempo-testnet-reth-archive-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "tempo",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "archive",
|
||||||
|
"volumes": [
|
||||||
|
"tempo-testnet-reth-archive-trace",
|
||||||
|
"tempo-testnet-reth-secrets"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chain": "testnet",
|
||||||
|
"client": "reth",
|
||||||
|
"compose_file": "tempo/reth/tempo-testnet-reth-pruned-trace",
|
||||||
|
"features": [
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"network": "tempo",
|
||||||
|
"node": null,
|
||||||
|
"relay": null,
|
||||||
|
"stack": null,
|
||||||
|
"type": "pruned",
|
||||||
|
"volumes": [
|
||||||
|
"tempo-testnet-reth-pruned-secrets",
|
||||||
|
"tempo-testnet-reth-pruned-trace"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"chain": "venus",
|
"chain": "venus",
|
||||||
"client": "thunder",
|
"client": "thunder",
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ services:
|
|||||||
- --maxpeers=50
|
- --maxpeers=50
|
||||||
- --nat=extip:${IP}
|
- --nat=extip:${IP}
|
||||||
- --port=12384
|
- --port=12384
|
||||||
- --rpc.gascap=600000000
|
- --rpc.gascap=0
|
||||||
- --rpc.txfeecap=0
|
- --rpc.txfeecap=0
|
||||||
- --state.scheme=path
|
- --state.scheme=path
|
||||||
- --syncmode=snap
|
- --syncmode=snap
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ services:
|
|||||||
- --maxpeers=50
|
- --maxpeers=50
|
||||||
- --nat=extip:${IP}
|
- --nat=extip:${IP}
|
||||||
- --port=14234
|
- --port=14234
|
||||||
- --rpc.gascap=600000000
|
- --rpc.gascap=0
|
||||||
- --rpc.txfeecap=0
|
- --rpc.txfeecap=0
|
||||||
- --state.scheme=hash
|
- --state.scheme=hash
|
||||||
- --syncmode=full
|
- --syncmode=full
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ services:
|
|||||||
- --maxpeers=50
|
- --maxpeers=50
|
||||||
- --nat=extip:${IP}
|
- --nat=extip:${IP}
|
||||||
- --port=11169
|
- --port=11169
|
||||||
- --rpc.gascap=600000000
|
- --rpc.gascap=0
|
||||||
- --rpc.txfeecap=0
|
- --rpc.txfeecap=0
|
||||||
- --state.scheme=hash
|
- --state.scheme=hash
|
||||||
- --syncmode=full
|
- --syncmode=full
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ services:
|
|||||||
- --nat=extip:${IP}
|
- --nat=extip:${IP}
|
||||||
- --pigeon
|
- --pigeon
|
||||||
- --port=14478
|
- --port=14478
|
||||||
- --rpc.gascap=600000000
|
- --rpc.gascap=0
|
||||||
- --rpc.txfeecap=0
|
- --rpc.txfeecap=0
|
||||||
- --state.scheme=path
|
- --state.scheme=path
|
||||||
- --syncmode=snap
|
- --syncmode=snap
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
cronos-zkevm-mainnet-archive:
|
cronos-zkevm-mainnet-archive:
|
||||||
image: ${CRONOS_ZKEVM_EXTERNAL_NODE_IMAGE:-ghcr.io/cronos-labs/external-node}:${CRONOS_ZKEVM_MAINNET_EXTERNAL_NODE_VERSION:-v29.6.0}
|
image: ${CRONOS_ZKEVM_EXTERNAL_NODE_IMAGE:-ghcr.io/cronos-labs/external-node}:${CRONOS_ZKEVM_MAINNET_EXTERNAL_NODE_VERSION:-v29.14.0}
|
||||||
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
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
cronos-zkevm-mainnet:
|
cronos-zkevm-mainnet:
|
||||||
image: ${CRONOS_ZKEVM_EXTERNAL_NODE_IMAGE:-ghcr.io/cronos-labs/external-node}:${CRONOS_ZKEVM_MAINNET_EXTERNAL_NODE_VERSION:-v29.6.0}
|
image: ${CRONOS_ZKEVM_EXTERNAL_NODE_IMAGE:-ghcr.io/cronos-labs/external-node}:${CRONOS_ZKEVM_MAINNET_EXTERNAL_NODE_VERSION:-v29.14.0}
|
||||||
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
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
cronos-zkevm-testnet-archive:
|
cronos-zkevm-testnet-archive:
|
||||||
image: ${CRONOS_ZKEVM_EXTERNAL_NODE_IMAGE:-ghcr.io/cronos-labs/external-node}:${CRONOS_ZKEVM_TESTNET_EXTERNAL_NODE_VERSION:-v29.6.0}
|
image: ${CRONOS_ZKEVM_EXTERNAL_NODE_IMAGE:-ghcr.io/cronos-labs/external-node}:${CRONOS_ZKEVM_TESTNET_EXTERNAL_NODE_VERSION:-v29.14.0}
|
||||||
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
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
cronos-zkevm-testnet:
|
cronos-zkevm-testnet:
|
||||||
image: ${CRONOS_ZKEVM_EXTERNAL_NODE_IMAGE:-ghcr.io/cronos-labs/external-node}:${CRONOS_ZKEVM_TESTNET_EXTERNAL_NODE_VERSION:-v29.6.0}
|
image: ${CRONOS_ZKEVM_EXTERNAL_NODE_IMAGE:-ghcr.io/cronos-labs/external-node}:${CRONOS_ZKEVM_TESTNET_EXTERNAL_NODE_VERSION:-v29.14.0}
|
||||||
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
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ fi
|
|||||||
CONFIG_FILE="$1.yml"
|
CONFIG_FILE="$1.yml"
|
||||||
GLOBS_FILE="${2:-node-key-globs.txt}"
|
GLOBS_FILE="${2:-node-key-globs.txt}"
|
||||||
SCRIPT_DIR="$(dirname "$0")"
|
SCRIPT_DIR="$(dirname "$0")"
|
||||||
|
source "$SCRIPT_DIR/volume-utils.sh"
|
||||||
|
|
||||||
# Try to find config file in multiple locations
|
# Try to find config file in multiple locations
|
||||||
if [[ -f "$SCRIPT_DIR/$CONFIG_FILE" ]]; then
|
if [[ -f "$SCRIPT_DIR/$CONFIG_FILE" ]]; then
|
||||||
@@ -42,7 +43,7 @@ fi
|
|||||||
|
|
||||||
# Read volume keys from config file
|
# Read volume keys from config file
|
||||||
echo "Reading volume configuration from $CONFIG_PATH..."
|
echo "Reading volume configuration from $CONFIG_PATH..."
|
||||||
keys=$(cat "$CONFIG_PATH" | yaml2json - | jq '.volumes' | jq -r 'keys[]')
|
keys=$(get_persistent_volume_keys "$CONFIG_PATH")
|
||||||
|
|
||||||
if [[ -z "$keys" ]]; then
|
if [[ -z "$keys" ]]; then
|
||||||
echo "Error: No volumes found in configuration"
|
echo "Error: No volumes found in configuration"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
dshackle-free:
|
dshackle-free:
|
||||||
image: drpcorg/dshackle:0.73.0
|
image: drpcorg/dshackle:0.79.5
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- ./free_configs:/etc/dshackle
|
- ./free_configs:/etc/dshackle
|
||||||
|
|||||||
2
drpc.yml
2
drpc.yml
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
dshackle:
|
dshackle:
|
||||||
image: drpcorg/dshackle:0.73.0
|
image: drpcorg/dshackle:0.79.5
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- ./main_configs:/etc/dshackle
|
- ./main_configs:/etc/dshackle
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-classic-besu:
|
ethereum-classic-besu:
|
||||||
image: ${ETHEREUM_BESU_IMAGE:-hyperledger/besu}:${ETHEREUM_CLASSIC_BESU_VERSION:-25.12.0}
|
image: ${ETHEREUM_BESU_IMAGE:-hyperledger/besu}:${ETHEREUM_CLASSIC_BESU_VERSION:-26.5.0}
|
||||||
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
|
||||||
@@ -56,7 +56,6 @@ services:
|
|||||||
- --Xbonsai-full-flat-db-enabled=true
|
- --Xbonsai-full-flat-db-enabled=true
|
||||||
- --data-path=/opt/besu/database
|
- --data-path=/opt/besu/database
|
||||||
- --data-storage-format=BONSAI
|
- --data-storage-format=BONSAI
|
||||||
- --fast-sync-min-peers=1
|
|
||||||
- --host-allowlist=*
|
- --host-allowlist=*
|
||||||
- --metrics-enabled=true
|
- --metrics-enabled=true
|
||||||
- --metrics-host=0.0.0.0
|
- --metrics-host=0.0.0.0
|
||||||
@@ -73,6 +72,7 @@ services:
|
|||||||
- --rpc-ws-enabled=true
|
- --rpc-ws-enabled=true
|
||||||
- --rpc-ws-host=0.0.0.0
|
- --rpc-ws-host=0.0.0.0
|
||||||
- --rpc-ws-port=8546
|
- --rpc-ws-port=8546
|
||||||
|
- --sync-min-peers=1
|
||||||
- --sync-mode=SNAP
|
- --sync-mode=SNAP
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
stop_grace_period: 5m
|
stop_grace_period: 5m
|
||||||
@@ -81,6 +81,8 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ${ETHEREUM_CLASSIC_BESU_PRUNED_BONSAI_DATA:-ethereum-classic-besu-pruned-bonsai}:/opt/besu/database
|
- ${ETHEREUM_CLASSIC_BESU_PRUNED_BONSAI_DATA:-ethereum-classic-besu-pruned-bonsai}:/opt/besu/database
|
||||||
- /slowdisk:/slowdisk
|
- /slowdisk:/slowdisk
|
||||||
|
tmpfs:
|
||||||
|
- /tmp:size=512M,mode=1777,exec
|
||||||
logging: *logging-defaults
|
logging: *logging-defaults
|
||||||
labels:
|
labels:
|
||||||
- prometheus-scrape.enabled=true
|
- prometheus-scrape.enabled=true
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-mainnet-besu:
|
ethereum-mainnet-besu:
|
||||||
image: ${ETHEREUM_BESU_IMAGE:-hyperledger/besu}:${ETHEREUM_MAINNET_BESU_VERSION:-25.12.0}
|
image: ${ETHEREUM_BESU_IMAGE:-hyperledger/besu}:${ETHEREUM_MAINNET_BESU_VERSION:-26.5.0}
|
||||||
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
|
||||||
@@ -57,10 +57,10 @@ services:
|
|||||||
- --data-path=/opt/besu/database
|
- --data-path=/opt/besu/database
|
||||||
- --data-storage-format=BONSAI
|
- --data-storage-format=BONSAI
|
||||||
- --engine-host-allowlist=*
|
- --engine-host-allowlist=*
|
||||||
|
- --engine-jwt-disabled=false
|
||||||
- --engine-jwt-secret=/jwtsecret
|
- --engine-jwt-secret=/jwtsecret
|
||||||
- --engine-rpc-enabled=true
|
- --engine-rpc-enabled=true
|
||||||
- --engine-rpc-port=8551
|
- --engine-rpc-port=8551
|
||||||
- --fast-sync-min-peers=1
|
|
||||||
- --host-allowlist=*
|
- --host-allowlist=*
|
||||||
- --metrics-enabled=true
|
- --metrics-enabled=true
|
||||||
- --metrics-host=0.0.0.0
|
- --metrics-host=0.0.0.0
|
||||||
@@ -77,6 +77,7 @@ services:
|
|||||||
- --rpc-ws-enabled=true
|
- --rpc-ws-enabled=true
|
||||||
- --rpc-ws-host=0.0.0.0
|
- --rpc-ws-host=0.0.0.0
|
||||||
- --rpc-ws-port=8546
|
- --rpc-ws-port=8546
|
||||||
|
- --sync-min-peers=1
|
||||||
- --sync-mode=SNAP
|
- --sync-mode=SNAP
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
stop_grace_period: 5m
|
stop_grace_period: 5m
|
||||||
@@ -86,6 +87,8 @@ services:
|
|||||||
- ${ETHEREUM_MAINNET_BESU_PRUNED_BONSAI_DATA:-ethereum-mainnet-besu-pruned-bonsai}:/opt/besu/database
|
- ${ETHEREUM_MAINNET_BESU_PRUNED_BONSAI_DATA:-ethereum-mainnet-besu-pruned-bonsai}:/opt/besu/database
|
||||||
- .jwtsecret:/jwtsecret:ro
|
- .jwtsecret:/jwtsecret:ro
|
||||||
- /slowdisk:/slowdisk
|
- /slowdisk:/slowdisk
|
||||||
|
tmpfs:
|
||||||
|
- /tmp:size=512M,mode=1777,exec
|
||||||
logging: *logging-defaults
|
logging: *logging-defaults
|
||||||
labels:
|
labels:
|
||||||
- prometheus-scrape.enabled=true
|
- prometheus-scrape.enabled=true
|
||||||
@@ -111,7 +114,7 @@ services:
|
|||||||
- traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai-ws.middlewares=ethereum-mainnet-besu-pruned-bonsai-stripprefix, ipallowlist
|
- traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai-ws.middlewares=ethereum-mainnet-besu-pruned-bonsai-stripprefix, ipallowlist
|
||||||
|
|
||||||
ethereum-mainnet-besu-node:
|
ethereum-mainnet-besu-node:
|
||||||
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v25.12.0}
|
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.5.0}
|
||||||
user: root
|
user: root
|
||||||
ports:
|
ports:
|
||||||
- 18205:18205
|
- 18205:18205
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-hoodi-erigon3-archive:
|
ethereum-hoodi-erigon3-archive:
|
||||||
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_HOODI_ERIGON3_VERSION:-v3.3.3}
|
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_HOODI_ERIGON3_VERSION:-v3.4.2}
|
||||||
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
|
||||||
@@ -70,6 +70,7 @@ services:
|
|||||||
- --caplin.discovery.addr=0.0.0.0
|
- --caplin.discovery.addr=0.0.0.0
|
||||||
- --caplin.discovery.port=19715
|
- --caplin.discovery.port=19715
|
||||||
- --caplin.discovery.tcpport=19715
|
- --caplin.discovery.tcpport=19715
|
||||||
|
- --caplin.nat=extip:${IP}
|
||||||
- --chain=hoodi
|
- --chain=hoodi
|
||||||
- --datadir=/root/.local/share/erigon
|
- --datadir=/root/.local/share/erigon
|
||||||
- --http
|
- --http
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-hoodi-erigon3-minimal:
|
ethereum-hoodi-erigon3-minimal:
|
||||||
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_HOODI_ERIGON3_VERSION:-v3.3.3}
|
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_HOODI_ERIGON3_VERSION:-v3.4.2}
|
||||||
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
|
||||||
@@ -69,6 +69,7 @@ services:
|
|||||||
- --caplin.discovery.addr=0.0.0.0
|
- --caplin.discovery.addr=0.0.0.0
|
||||||
- --caplin.discovery.port=17832
|
- --caplin.discovery.port=17832
|
||||||
- --caplin.discovery.tcpport=17832
|
- --caplin.discovery.tcpport=17832
|
||||||
|
- --caplin.nat=extip:${IP}
|
||||||
- --chain=hoodi
|
- --chain=hoodi
|
||||||
- --datadir=/root/.local/share/erigon
|
- --datadir=/root/.local/share/erigon
|
||||||
- --http
|
- --http
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-hoodi-erigon3:
|
ethereum-hoodi-erigon3:
|
||||||
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_HOODI_ERIGON3_VERSION:-v3.3.3}
|
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_HOODI_ERIGON3_VERSION:-v3.4.2}
|
||||||
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
|
||||||
@@ -69,6 +69,7 @@ services:
|
|||||||
- --caplin.discovery.addr=0.0.0.0
|
- --caplin.discovery.addr=0.0.0.0
|
||||||
- --caplin.discovery.port=16857
|
- --caplin.discovery.port=16857
|
||||||
- --caplin.discovery.tcpport=16857
|
- --caplin.discovery.tcpport=16857
|
||||||
|
- --caplin.nat=extip:${IP}
|
||||||
- --chain=hoodi
|
- --chain=hoodi
|
||||||
- --datadir=/root/.local/share/erigon
|
- --datadir=/root/.local/share/erigon
|
||||||
- --http
|
- --http
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-mainnet-erigon3-archive:
|
ethereum-mainnet-erigon3-archive:
|
||||||
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_MAINNET_ERIGON3_VERSION:-v3.3.3}
|
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_MAINNET_ERIGON3_VERSION:-v3.4.2}
|
||||||
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
|
||||||
@@ -70,6 +70,7 @@ services:
|
|||||||
- --caplin.discovery.addr=0.0.0.0
|
- --caplin.discovery.addr=0.0.0.0
|
||||||
- --caplin.discovery.port=16675
|
- --caplin.discovery.port=16675
|
||||||
- --caplin.discovery.tcpport=16675
|
- --caplin.discovery.tcpport=16675
|
||||||
|
- --caplin.nat=extip:${IP}
|
||||||
- --chain=mainnet
|
- --chain=mainnet
|
||||||
- --datadir=/root/.local/share/erigon
|
- --datadir=/root/.local/share/erigon
|
||||||
- --http
|
- --http
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-mainnet-erigon3-minimal:
|
ethereum-mainnet-erigon3-minimal:
|
||||||
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_MAINNET_ERIGON3_VERSION:-v3.3.3}
|
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_MAINNET_ERIGON3_VERSION:-v3.4.2}
|
||||||
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
|
||||||
@@ -69,6 +69,7 @@ services:
|
|||||||
- --caplin.discovery.addr=0.0.0.0
|
- --caplin.discovery.addr=0.0.0.0
|
||||||
- --caplin.discovery.port=19614
|
- --caplin.discovery.port=19614
|
||||||
- --caplin.discovery.tcpport=19614
|
- --caplin.discovery.tcpport=19614
|
||||||
|
- --caplin.nat=extip:${IP}
|
||||||
- --chain=mainnet
|
- --chain=mainnet
|
||||||
- --datadir=/root/.local/share/erigon
|
- --datadir=/root/.local/share/erigon
|
||||||
- --http
|
- --http
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-mainnet-erigon3:
|
ethereum-mainnet-erigon3:
|
||||||
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_MAINNET_ERIGON3_VERSION:-v3.3.3}
|
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_MAINNET_ERIGON3_VERSION:-v3.4.2}
|
||||||
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
|
||||||
@@ -69,6 +69,7 @@ services:
|
|||||||
- --caplin.discovery.addr=0.0.0.0
|
- --caplin.discovery.addr=0.0.0.0
|
||||||
- --caplin.discovery.port=19616
|
- --caplin.discovery.port=19616
|
||||||
- --caplin.discovery.tcpport=19616
|
- --caplin.discovery.tcpport=19616
|
||||||
|
- --caplin.nat=extip:${IP}
|
||||||
- --chain=mainnet
|
- --chain=mainnet
|
||||||
- --datadir=/root/.local/share/erigon
|
- --datadir=/root/.local/share/erigon
|
||||||
- --http
|
- --http
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-sepolia-erigon3-archive:
|
ethereum-sepolia-erigon3-archive:
|
||||||
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_SEPOLIA_ERIGON3_VERSION:-v3.3.3}
|
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_SEPOLIA_ERIGON3_VERSION:-v3.4.2}
|
||||||
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
|
||||||
@@ -70,6 +70,7 @@ services:
|
|||||||
- --caplin.discovery.addr=0.0.0.0
|
- --caplin.discovery.addr=0.0.0.0
|
||||||
- --caplin.discovery.port=18317
|
- --caplin.discovery.port=18317
|
||||||
- --caplin.discovery.tcpport=18317
|
- --caplin.discovery.tcpport=18317
|
||||||
|
- --caplin.nat=extip:${IP}
|
||||||
- --chain=sepolia
|
- --chain=sepolia
|
||||||
- --datadir=/root/.local/share/erigon
|
- --datadir=/root/.local/share/erigon
|
||||||
- --http
|
- --http
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-sepolia-erigon3-minimal:
|
ethereum-sepolia-erigon3-minimal:
|
||||||
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_SEPOLIA_ERIGON3_VERSION:-v3.3.3}
|
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_SEPOLIA_ERIGON3_VERSION:-v3.4.2}
|
||||||
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
|
||||||
@@ -69,6 +69,7 @@ services:
|
|||||||
- --caplin.discovery.addr=0.0.0.0
|
- --caplin.discovery.addr=0.0.0.0
|
||||||
- --caplin.discovery.port=16087
|
- --caplin.discovery.port=16087
|
||||||
- --caplin.discovery.tcpport=16087
|
- --caplin.discovery.tcpport=16087
|
||||||
|
- --caplin.nat=extip:${IP}
|
||||||
- --chain=sepolia
|
- --chain=sepolia
|
||||||
- --datadir=/root/.local/share/erigon
|
- --datadir=/root/.local/share/erigon
|
||||||
- --http
|
- --http
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-sepolia-erigon3:
|
ethereum-sepolia-erigon3:
|
||||||
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_SEPOLIA_ERIGON3_VERSION:-v3.3.3}
|
image: ${ETHEREUM_ERIGON3_IMAGE:-erigontech/erigon}:${ETHEREUM_SEPOLIA_ERIGON3_VERSION:-v3.4.2}
|
||||||
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
|
||||||
@@ -69,6 +69,7 @@ services:
|
|||||||
- --caplin.discovery.addr=0.0.0.0
|
- --caplin.discovery.addr=0.0.0.0
|
||||||
- --caplin.discovery.port=16930
|
- --caplin.discovery.port=16930
|
||||||
- --caplin.discovery.tcpport=16930
|
- --caplin.discovery.tcpport=16930
|
||||||
|
- --caplin.nat=extip:${IP}
|
||||||
- --chain=sepolia
|
- --chain=sepolia
|
||||||
- --datadir=/root/.local/share/erigon
|
- --datadir=/root/.local/share/erigon
|
||||||
- --http
|
- --http
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-hoodi-geth:
|
ethereum-hoodi-geth:
|
||||||
image: ${ETHEREUM_GETH_IMAGE:-ethereum/client-go}:${ETHEREUM_HOODI_GETH_VERSION:-v1.16.8}
|
image: ${ETHEREUM_GETH_IMAGE:-ethereum/client-go}:${ETHEREUM_HOODI_GETH_VERSION:-v1.17.3}
|
||||||
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
|
||||||
@@ -103,7 +103,7 @@ services:
|
|||||||
- traefik.http.routers.ethereum-hoodi-geth-pruned-pebble-path.middlewares=ethereum-hoodi-geth-pruned-pebble-path-stripprefix, ipallowlist
|
- traefik.http.routers.ethereum-hoodi-geth-pruned-pebble-path.middlewares=ethereum-hoodi-geth-pruned-pebble-path-stripprefix, ipallowlist
|
||||||
|
|
||||||
ethereum-hoodi-geth-node:
|
ethereum-hoodi-geth-node:
|
||||||
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_HOODI_NIMBUS_VERSION:-multiarch-v25.12.0}
|
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_HOODI_NIMBUS_VERSION:-multiarch-v26.5.0}
|
||||||
user: root
|
user: root
|
||||||
ports:
|
ports:
|
||||||
- 16917:16917
|
- 16917:16917
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-hoodi-geth:
|
ethereum-hoodi-geth:
|
||||||
image: ${ETHEREUM_GETH_IMAGE:-ethereum/client-go}:${ETHEREUM_HOODI_GETH_VERSION:-v1.16.8}
|
image: ${ETHEREUM_GETH_IMAGE:-ethereum/client-go}:${ETHEREUM_HOODI_GETH_VERSION:-v1.17.3}
|
||||||
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
|
||||||
@@ -103,7 +103,7 @@ services:
|
|||||||
- traefik.http.routers.ethereum-hoodi-geth-pruned-pebble-path.middlewares=ethereum-hoodi-geth-pruned-pebble-path-stripprefix, ipallowlist
|
- traefik.http.routers.ethereum-hoodi-geth-pruned-pebble-path.middlewares=ethereum-hoodi-geth-pruned-pebble-path-stripprefix, ipallowlist
|
||||||
|
|
||||||
ethereum-hoodi-geth-node:
|
ethereum-hoodi-geth-node:
|
||||||
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_HOODI_PRYSM_VERSION:-v7.1.2}
|
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_HOODI_PRYSM_VERSION:-v7.1.4}
|
||||||
ports:
|
ports:
|
||||||
- 16917:16917
|
- 16917:16917
|
||||||
- 16917:16917/udp
|
- 16917:16917/udp
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-mainnet-geth-minimal:
|
ethereum-mainnet-geth-minimal:
|
||||||
image: ${ETHEREUM_GETH_IMAGE:-ethereum/client-go}:${ETHEREUM_MAINNET_GETH_VERSION:-v1.16.8}
|
image: ${ETHEREUM_GETH_IMAGE:-ethereum/client-go}:${ETHEREUM_MAINNET_GETH_VERSION:-v1.17.3}
|
||||||
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
|
||||||
@@ -107,7 +107,7 @@ services:
|
|||||||
- traefik.http.routers.ethereum-mainnet-geth-minimal-pebble-path.middlewares=ethereum-mainnet-geth-minimal-pebble-path-stripprefix, ipallowlist
|
- traefik.http.routers.ethereum-mainnet-geth-minimal-pebble-path.middlewares=ethereum-mainnet-geth-minimal-pebble-path-stripprefix, ipallowlist
|
||||||
|
|
||||||
ethereum-mainnet-geth-minimal-node:
|
ethereum-mainnet-geth-minimal-node:
|
||||||
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v7.1.2}
|
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v7.1.4}
|
||||||
ports:
|
ports:
|
||||||
- 19551:19551
|
- 19551:19551
|
||||||
- 19551:19551/udp
|
- 19551:19551/udp
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ services:
|
|||||||
- traefik.http.routers.ethereum-mainnet-geth-pruned-leveldb-hash-events.middlewares=ipallowlist
|
- traefik.http.routers.ethereum-mainnet-geth-pruned-leveldb-hash-events.middlewares=ipallowlist
|
||||||
|
|
||||||
ethereum-mainnet-geth-node:
|
ethereum-mainnet-geth-node:
|
||||||
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v25.12.0}
|
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.5.0}
|
||||||
user: root
|
user: root
|
||||||
ports:
|
ports:
|
||||||
- 15455:15455
|
- 15455:15455
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ services:
|
|||||||
- traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path-events.middlewares=ipallowlist
|
- traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path-events.middlewares=ipallowlist
|
||||||
|
|
||||||
ethereum-mainnet-geth-node:
|
ethereum-mainnet-geth-node:
|
||||||
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v25.12.0}
|
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.5.0}
|
||||||
user: root
|
user: root
|
||||||
ports:
|
ports:
|
||||||
- 17023:17023
|
- 17023:17023
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-mainnet-geth:
|
ethereum-mainnet-geth:
|
||||||
image: ${ETHEREUM_GETH_IMAGE:-ethereum/client-go}:${ETHEREUM_MAINNET_GETH_VERSION:-v1.16.8}
|
image: ${ETHEREUM_GETH_IMAGE:-ethereum/client-go}:${ETHEREUM_MAINNET_GETH_VERSION:-v1.17.3}
|
||||||
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
|
||||||
@@ -103,7 +103,7 @@ services:
|
|||||||
- traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.middlewares=ethereum-mainnet-geth-pruned-pebble-path-stripprefix, ipallowlist
|
- traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.middlewares=ethereum-mainnet-geth-pruned-pebble-path-stripprefix, ipallowlist
|
||||||
|
|
||||||
ethereum-mainnet-geth-node:
|
ethereum-mainnet-geth-node:
|
||||||
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v25.12.0}
|
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.5.0}
|
||||||
user: root
|
user: root
|
||||||
ports:
|
ports:
|
||||||
- 17023:17023
|
- 17023:17023
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ethereum-mainnet-geth:
|
ethereum-mainnet-geth:
|
||||||
image: ${ETHEREUM_GETH_IMAGE:-ethereum/client-go}:${ETHEREUM_MAINNET_GETH_VERSION:-v1.16.8}
|
image: ${ETHEREUM_GETH_IMAGE:-ethereum/client-go}:${ETHEREUM_MAINNET_GETH_VERSION:-v1.17.3}
|
||||||
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
|
||||||
@@ -103,7 +103,7 @@ services:
|
|||||||
- traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.middlewares=ethereum-mainnet-geth-pruned-pebble-path-stripprefix, ipallowlist
|
- traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.middlewares=ethereum-mainnet-geth-pruned-pebble-path-stripprefix, ipallowlist
|
||||||
|
|
||||||
ethereum-mainnet-geth-node:
|
ethereum-mainnet-geth-node:
|
||||||
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v7.1.2}
|
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v7.1.4}
|
||||||
ports:
|
ports:
|
||||||
- 17023:17023
|
- 17023:17023
|
||||||
- 17023:17023/udp
|
- 17023:17023/udp
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user