Merge branch 'main' of https://github.com/StakeSquid/ethereum-rpc-docker
This commit is contained in:
@@ -1,16 +1,16 @@
|
|||||||
{
|
{
|
||||||
"genesis": {
|
"genesis": {
|
||||||
"l1": {
|
"l1": {
|
||||||
"hash": "0xfcfb8d586bdae763f1189988789211c69eb893a895e7ba48be3ca6289f0941b7",
|
"hash": "0x17728cf4d8e0b4f292d2390a869fd7c632d39e72efb00ca3462b4387c6aa2437",
|
||||||
"number": 19300102
|
"number": 5044255
|
||||||
},
|
},
|
||||||
"l2": {
|
"l2": {
|
||||||
"hash": "0xb689b35ef29d0bec5816938e0e52683c7257d2e325420ea69b739a2be4754b89",
|
"hash": "0x26a1c0faad7b041f34569a1bb383f00ab74b335883a44bed53e9f41ced5fd906",
|
||||||
"number": 0
|
"number": 0
|
||||||
},
|
},
|
||||||
"l2_time": 1708809815,
|
"l2_time": 1704686688,
|
||||||
"system_config": {
|
"system_config": {
|
||||||
"batcherAddr": "0x415c8893d514f9bc5211d36eeda4183226b84aa7",
|
"batcherAddr": "0xba26fee2fa917443e05e65de8d4350bcd2f59222",
|
||||||
"overhead": "0x00000000000000000000000000000000000000000000000000000000000000bc",
|
"overhead": "0x00000000000000000000000000000000000000000000000000000000000000bc",
|
||||||
"scalar": "0x00000000000000000000000000000000000000000000000000000000000a6fe0",
|
"scalar": "0x00000000000000000000000000000000000000000000000000000000000a6fe0",
|
||||||
"gasLimit": 30000000
|
"gasLimit": 30000000
|
||||||
@@ -20,12 +20,14 @@
|
|||||||
"max_sequencer_drift": 600,
|
"max_sequencer_drift": 600,
|
||||||
"seq_window_size": 3600,
|
"seq_window_size": 3600,
|
||||||
"channel_timeout": 300,
|
"channel_timeout": 300,
|
||||||
"l1_chain_id": 1,
|
"l1_chain_id": 11155111,
|
||||||
"l2_chain_id": 81457,
|
"l2_chain_id": 168587773,
|
||||||
"regolith_time": 0,
|
"regolith_time": 0,
|
||||||
"canyon_time": 0,
|
"canyon_time": 0,
|
||||||
"batch_inbox_address": "0xff00000000000000000000000000000000081457",
|
"delta_time": 1713999600,
|
||||||
"deposit_contract_address": "0x0ec68c5b10f21effb74f2a5c61dfe6b08c0db6cb",
|
"ecotone_time": 1713999600,
|
||||||
"l1_system_config_address": "0x5531dcff39ec1ec727c4c5d2fc49835368f805a9",
|
"batch_inbox_address": "0x1c3b85a2108784eab6a4bf56cdd6f722e415b331",
|
||||||
|
"deposit_contract_address": "0x2757e4430e694f27b73ec9c02257cab3a498c8c5",
|
||||||
|
"l1_system_config_address": "0x329faf078c364a316e08bf6a17b7eee6ae75a613",
|
||||||
"protocol_versions_address": "0x0000000000000000000000000000000000000000"
|
"protocol_versions_address": "0x0000000000000000000000000000000000000000"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,8 @@
|
|||||||
"l2_chain_id": 168587773,
|
"l2_chain_id": 168587773,
|
||||||
"regolith_time": 0,
|
"regolith_time": 0,
|
||||||
"canyon_time": 0,
|
"canyon_time": 0,
|
||||||
|
"delta_time": 1713999600,
|
||||||
|
"ecotone_time": 1713999600,
|
||||||
"batch_inbox_address": "0x1c3b85a2108784eab6a4bf56cdd6f722e415b331",
|
"batch_inbox_address": "0x1c3b85a2108784eab6a4bf56cdd6f722e415b331",
|
||||||
"deposit_contract_address": "0x2757e4430e694f27b73ec9c02257cab3a498c8c5",
|
"deposit_contract_address": "0x2757e4430e694f27b73ec9c02257cab3a498c8c5",
|
||||||
"l1_system_config_address": "0x329faf078c364a316e08bf6a17b7eee6ae75a613",
|
"l1_system_config_address": "0x329faf078c364a316e08bf6a17b7eee6ae75a613",
|
||||||
|
|||||||
@@ -3,11 +3,11 @@
|
|||||||
RPC_URL="$1"
|
RPC_URL="$1"
|
||||||
ref="$2"
|
ref="$2"
|
||||||
|
|
||||||
timeout=2 # seconds
|
timeout=5 # seconds
|
||||||
|
|
||||||
response_file=$(mktemp)
|
response_file=$(mktemp)
|
||||||
|
|
||||||
http_status_code=$(curl --ipv4 -m 1 -s -X POST -w "%{http_code}" -o "$response_file" -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}' $RPC_URL)
|
http_status_code=$(curl --ipv4 -m $timeout -s -X POST -w "%{http_code}" -o "$response_file" -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}' $RPC_URL)
|
||||||
|
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
if [[ $http_status_code -eq 200 ]]; then
|
if [[ $http_status_code -eq 200 ]]; then
|
||||||
@@ -23,9 +23,14 @@ if [ $? -eq 0 ]; then
|
|||||||
latest_block_number=$(echo "$response" | jq -r '.result.number')
|
latest_block_number=$(echo "$response" | jq -r '.result.number')
|
||||||
latest_block_hash=$(echo "$response" | jq -r '.result.hash')
|
latest_block_hash=$(echo "$response" | jq -r '.result.hash')
|
||||||
response_file2=$(mktemp)
|
response_file2=$(mktemp)
|
||||||
|
|
||||||
|
sleep 3 # to give the reference node more time to import the block if it is very current
|
||||||
|
|
||||||
http_status_code2=$(curl --ipv4 -m $timeout -s -X POST -w "%{http_code}" -o "$response_file2" -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"$latest_block_number\", false],\"id\":1}" $ref)
|
http_status_code2=$(curl --ipv4 -m $timeout -s -X POST -w "%{http_code}" -o "$response_file2" -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"$latest_block_number\", false],\"id\":1}" $ref)
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
|
curl_code=$?
|
||||||
|
|
||||||
|
if [ $curl_code -eq 0 ]; then
|
||||||
if [[ $http_status_code2 -eq 200 ]]; then
|
if [[ $http_status_code2 -eq 200 ]]; then
|
||||||
response2=$(cat "$response_file2")
|
response2=$(cat "$response_file2")
|
||||||
latest_block_hash2=$(echo "$response2" | jq -r '.result.hash')
|
latest_block_hash2=$(echo "$response2" | jq -r '.result.hash')
|
||||||
@@ -36,8 +41,10 @@ if [ $? -eq 0 ]; then
|
|||||||
response_file3=$(mktemp)
|
response_file3=$(mktemp)
|
||||||
|
|
||||||
http_status_code=$(curl --ipv4 -m $timeout -s -X POST -w "%{http_code}" -o "$response_file3" -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\", false],\"id\":1}" $ref)
|
http_status_code=$(curl --ipv4 -m $timeout -s -X POST -w "%{http_code}" -o "$response_file3" -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\", false],\"id\":1}" $ref)
|
||||||
|
|
||||||
if [ $? -eq 0 ]; then
|
curl_code=$?
|
||||||
|
|
||||||
|
if [ $curl_code -eq 0 ]; then
|
||||||
if [[ $http_status_code -eq 200 ]]; then
|
if [[ $http_status_code -eq 200 ]]; then
|
||||||
response3=$(cat "$response_file3")
|
response3=$(cat "$response_file3")
|
||||||
latest_block_timestamp3=$(echo "$response3" | jq -r '.result.timestamp')
|
latest_block_timestamp3=$(echo "$response3" | jq -r '.result.timestamp')
|
||||||
@@ -62,11 +69,14 @@ if [ $? -eq 0 ]; then
|
|||||||
echo "forked"
|
echo "forked"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
else
|
||||||
|
echo "unverified ($http_status_code2)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "unverified"
|
echo "unverified ($curl_code)"
|
||||||
exit 1
|
exit 0
|
||||||
elif [ $time_difference -lt 60 ]; then
|
elif [ $time_difference -lt 60 ]; then
|
||||||
echo "online"
|
echo "online"
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ version: '3.1'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
geth-holesky:
|
geth-holesky:
|
||||||
image: ethereum/client-go:v1.14.3
|
image: ethereum/client-go:${GETH_VERSION:-v1.15.5}
|
||||||
expose:
|
expose:
|
||||||
# HTTP server / GraphQL API
|
# HTTP server / GraphQL API
|
||||||
- 8545
|
- 8545
|
||||||
@@ -61,7 +61,7 @@ services:
|
|||||||
- "prometheus-scrape.metrics_path=/debug/metrics/prometheus"
|
- "prometheus-scrape.metrics_path=/debug/metrics/prometheus"
|
||||||
|
|
||||||
prysm-holesky:
|
prysm-holesky:
|
||||||
image: prysmaticlabs/prysm-beacon-chain:v5.0.3
|
image: prysmaticlabs/prysm-beacon-chain:${PRYSM_VERSION:-v5.3.1}
|
||||||
expose:
|
expose:
|
||||||
- 24638
|
- 24638
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ version: '3.1'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
geth-sepolia:
|
geth-sepolia:
|
||||||
image: ethereum/client-go:v1.14.3
|
image: ethereum/client-go:${GETH_VERSION:-v1.14.3}
|
||||||
expose:
|
expose:
|
||||||
# HTTP server / GraphQL API
|
# HTTP server / GraphQL API
|
||||||
- 8545
|
- 8545
|
||||||
@@ -67,7 +67,7 @@ services:
|
|||||||
- "prometheus-scrape.metrics_path=/debug/metrics/prometheus"
|
- "prometheus-scrape.metrics_path=/debug/metrics/prometheus"
|
||||||
|
|
||||||
prysm-sepolia:
|
prysm-sepolia:
|
||||||
image: prysmaticlabs/prysm-beacon-chain:v5.0.3
|
image: prysmaticlabs/prysm-beacon-chain:${PRYSM_VERSION:-v5.0.3}
|
||||||
ports:
|
ports:
|
||||||
#- "127.0.0.1:3500:3500"
|
#- "127.0.0.1:3500:3500"
|
||||||
- "13000:13000"
|
- "13000:13000"
|
||||||
|
|||||||
262
gnosis/mainnet/genesis.json
Normal file
262
gnosis/mainnet/genesis.json
Normal file
File diff suppressed because one or more lines are too long
@@ -1,32 +1,32 @@
|
|||||||
{
|
{
|
||||||
"genesis": {
|
"genesis": {
|
||||||
"l1": {
|
"l1": {
|
||||||
"hash": "0x614050145039f11a778f1bd3c85ce2c1f3989492dbc544911fab9a7247e81ca4",
|
"hash": "0x614050145039f11a778f1bd3c85ce2c1f3989492dbc544911fab9a7247e81ca4",
|
||||||
"number": 19437305
|
"number": 19437305
|
||||||
},
|
|
||||||
"l2": {
|
|
||||||
"hash": "0xf70a2270b05820a2b335e70ab9ce91e42e15f50d82db73d9c63085711b312fc8",
|
|
||||||
"number": 61171946
|
|
||||||
},
|
|
||||||
"l2_time": 1710468791,
|
|
||||||
"system_config": {
|
|
||||||
"batcherAddr": "0x2f40d796917ffb642bd2e2bdd2c762a5e40fd749",
|
|
||||||
"overhead": "0x00000000000000000000000000000000000000000000000000000000000000bc",
|
|
||||||
"scalar": "0x0000000000000000000000000000000000000000000000000000000000002710",
|
|
||||||
"gasLimit": 200000000000,
|
|
||||||
"baseFee": 20000000
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"block_time": 2,
|
"l2": {
|
||||||
"max_sequencer_drift": 600,
|
"hash": "0xf70a2270b05820a2b335e70ab9ce91e42e15f50d82db73d9c63085711b312fc8",
|
||||||
"seq_window_size": 3600,
|
"number": 61171946
|
||||||
"channel_timeout": 300,
|
},
|
||||||
"l1_chain_id": 1,
|
"l2_time": 1710468791,
|
||||||
"l2_chain_id": 5000,
|
"system_config": {
|
||||||
"regolith_time": 0,
|
"batcherAddr": "0x2f40d796917ffb642bd2e2bdd2c762a5e40fd749",
|
||||||
"batch_inbox_address": "0xff00000000000000000000000000000000000000",
|
"overhead": "0x00000000000000000000000000000000000000000000000000000000000000bc",
|
||||||
"deposit_contract_address": "0xc54cb22944f2be476e02decfcd7e3e7d3e15a8fb",
|
"scalar": "0x0000000000000000000000000000000000000000000000000000000000002710",
|
||||||
"l1_system_config_address": "0x427ea0710fa5252057f0d88274f7aeb308386caf",
|
"gasLimit": 200000000000,
|
||||||
"mantle_da_switch": true,
|
"baseFee": 20000000
|
||||||
"datalayr_service_manager_addr": "0x5BD63a7ECc13b955C4F57e3F12A64c10263C14c1"
|
}
|
||||||
}
|
},
|
||||||
|
"block_time": 2,
|
||||||
|
"max_sequencer_drift": 600,
|
||||||
|
"seq_window_size": 3600,
|
||||||
|
"channel_timeout": 300,
|
||||||
|
"l1_chain_id": 1,
|
||||||
|
"l2_chain_id": 5000,
|
||||||
|
"regolith_time": 0,
|
||||||
|
"batch_inbox_address": "0xFFEEDDCcBbAA0000000000000000000000000000",
|
||||||
|
"deposit_contract_address": "0xc54cb22944f2be476e02decfcd7e3e7d3e15a8fb",
|
||||||
|
"l1_system_config_address": "0x427ea0710fa5252057f0d88274f7aeb308386caf",
|
||||||
|
"mantle_da_switch": true,
|
||||||
|
"datalayr_service_manager_addr": "0x5BD63a7ECc13b955C4F57e3F12A64c10263C14c1"
|
||||||
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ server {
|
|||||||
|
|
||||||
# Disable buffering for real-time traffic
|
# Disable buffering for real-time traffic
|
||||||
proxy_buffering off;
|
proxy_buffering off;
|
||||||
|
access_log off;
|
||||||
|
|
||||||
#set $proxy_read_timeout 3600s;
|
#set $proxy_read_timeout 3600s;
|
||||||
#set $proxy_send_timeout 3600s;
|
#set $proxy_send_timeout 3600s;
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
version: '3.1'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
op-blast-mainnet-fullnode:
|
op-blast-mainnet-fullnode:
|
||||||
image: blastio/blast-geth:v1.1.0-mainnet
|
image: blastio/blast-geth:mainnet-v1.1.1
|
||||||
volumes:
|
volumes:
|
||||||
- blast-mainnet-fullnode:/data
|
- blast-mainnet-fullnode:/data
|
||||||
- ./blast-io:/config:rw
|
- ./blast-io:/config:rw
|
||||||
@@ -32,7 +30,7 @@ services:
|
|||||||
- "GETH_LIGHT_MAXPEERS=0"
|
- "GETH_LIGHT_MAXPEERS=0"
|
||||||
- "GETH_MAXPEERS=0"
|
- "GETH_MAXPEERS=0"
|
||||||
- "GETH_OVERRIDE_CANYON=0"
|
- "GETH_OVERRIDE_CANYON=0"
|
||||||
- "GETH_OVERRIDE_DELTA=1716843599"
|
#- "GETH_OVERRIDE_DELTA=1716843599"
|
||||||
- "GETH_OVERRIDE_ECOTONE=1716843599"
|
- "GETH_OVERRIDE_ECOTONE=1716843599"
|
||||||
expose:
|
expose:
|
||||||
- 9545
|
- 9545
|
||||||
@@ -52,7 +50,7 @@ services:
|
|||||||
- "traefik.http.routers.blast.middlewares=blast-stripprefix, ipwhitelist"
|
- "traefik.http.routers.blast.middlewares=blast-stripprefix, ipwhitelist"
|
||||||
|
|
||||||
op-blast-mainnet-fullnode-node:
|
op-blast-mainnet-fullnode-node:
|
||||||
image: blastio/blast-optimism:v1.1.0-mainnet
|
image: blastio/blast-optimism:mainnet-v1.1.1
|
||||||
volumes:
|
volumes:
|
||||||
- ./blast-io:/config
|
- ./blast-io:/config
|
||||||
- .jwtsecret:/jwtsecret
|
- .jwtsecret:/jwtsecret
|
||||||
@@ -74,8 +72,8 @@ services:
|
|||||||
- "OP_NODE_L2_SKIP_SYNC_START_CHECK=true"
|
- "OP_NODE_L2_SKIP_SYNC_START_CHECK=true"
|
||||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=25037"
|
- "OP_NODE_P2P_LISTEN_TCP_PORT=25037"
|
||||||
- "OP_NODE_ROLLUP_CONFIG=/config/mainnet/rollup.json"
|
- "OP_NODE_ROLLUP_CONFIG=/config/mainnet/rollup.json"
|
||||||
- "OP_NODE_OVERRIDE_DELTA=1716843599"
|
#- "OP_NODE_OVERRIDE_DELTA=1716843599"
|
||||||
- "OP_NODE_OVERRIDE_ECOTONE=1716843599"
|
#- "OP_NODE_OVERRIDE_ECOTONE=1716843599"
|
||||||
command: >
|
command: >
|
||||||
op-node
|
op-node
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ version: '3.1'
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
op-blast-sepolia:
|
op-blast-sepolia:
|
||||||
image: blastio/blast-geth:sepolia
|
image: blastio/blast-geth:sepolia-v1.2.3
|
||||||
pull_policy: always
|
pull_policy: always
|
||||||
volumes:
|
volumes:
|
||||||
- blast-sepolia:/data
|
- blast-sepolia:/data
|
||||||
@@ -33,7 +33,7 @@ services:
|
|||||||
- "GETH_LIGHT_MAXPEERS=0"
|
- "GETH_LIGHT_MAXPEERS=0"
|
||||||
- "GETH_MAXPEERS=0"
|
- "GETH_MAXPEERS=0"
|
||||||
- "GETH_OVERRIDE_CANYON=0"
|
- "GETH_OVERRIDE_CANYON=0"
|
||||||
- "GETH_OVERRIDE_DELTA=1713999600"
|
#- "GETH_OVERRIDE_DELTA=1713999600"
|
||||||
- "GETH_OVERRIDE_ECOTONE=1713999600"
|
- "GETH_OVERRIDE_ECOTONE=1713999600"
|
||||||
expose:
|
expose:
|
||||||
- 9545
|
- 9545
|
||||||
@@ -53,7 +53,7 @@ services:
|
|||||||
- "traefik.http.routers.blast-sepolia.middlewares=blast-sepolia-stripprefix, ipwhitelist"
|
- "traefik.http.routers.blast-sepolia.middlewares=blast-sepolia-stripprefix, ipwhitelist"
|
||||||
|
|
||||||
op-blast-sepolia-node:
|
op-blast-sepolia-node:
|
||||||
image: blastio/blast-optimism:sepolia
|
image: blastio/blast-optimism:sepolia-v1.2.3
|
||||||
pull_policy: always
|
pull_policy: always
|
||||||
volumes:
|
volumes:
|
||||||
- ./blast-io:/config
|
- ./blast-io:/config
|
||||||
@@ -76,8 +76,8 @@ services:
|
|||||||
#- "OP_NODE_L2_SKIP_SYNC_START_CHECK=true"
|
#- "OP_NODE_L2_SKIP_SYNC_START_CHECK=true"
|
||||||
- "OP_NODE_P2P_LISTEN_TCP_PORT=12018"
|
- "OP_NODE_P2P_LISTEN_TCP_PORT=12018"
|
||||||
- "OP_NODE_ROLLUP_CONFIG=/config/sepolia/rollup.json"
|
- "OP_NODE_ROLLUP_CONFIG=/config/sepolia/rollup.json"
|
||||||
- "OP_NODE_OVERRIDE_DELTA=1713999600"
|
#- "OP_NODE_OVERRIDE_DELTA=1713999600"
|
||||||
- "OP_NODE_OVERRIDE_ECOTONE=1713999600"
|
#- "OP_NODE_OVERRIDE_ECOTONE=1713999600"
|
||||||
command: >
|
command: >
|
||||||
op-node
|
op-node
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|||||||
@@ -115,6 +115,7 @@ uDdWRwgiMr"
|
|||||||
- "OP_NODE_OVERRIDE_GRANITE=1723478400"
|
- "OP_NODE_OVERRIDE_GRANITE=1723478400"
|
||||||
- "OP_NODE_OVERRIDE_HOLOCENE=1732633200"
|
- "OP_NODE_OVERRIDE_HOLOCENE=1732633200"
|
||||||
- "OP_NODE_OVERRICE_PECTRA=1741159776"
|
- "OP_NODE_OVERRICE_PECTRA=1741159776"
|
||||||
|
- "OP_NODE_OVERRIDE_PECTRABLOBSCHEDULE=1742486400"
|
||||||
networks:
|
networks:
|
||||||
- chains
|
- chains
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
version: '3.1'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
mantle-fullnode:
|
mantle-fullnode:
|
||||||
image: mantlenetworkio/op-geth:v1.0.2
|
image: mantlenetworkio/mantle-op-geth:v1.1.1
|
||||||
expose:
|
expose:
|
||||||
- 8545 # RPC / Websocket
|
- 8545 # RPC / Websocket
|
||||||
- 3851 # P2P TCP (currently unused)
|
- 3851 # P2P TCP (currently unused)
|
||||||
@@ -66,7 +64,7 @@ services:
|
|||||||
|
|
||||||
|
|
||||||
mantle-fullnode-node:
|
mantle-fullnode-node:
|
||||||
image: mantlenetworkio/op-node:v1.0.2
|
image: mantlenetworkio/mantle-op-node:v1.1.1
|
||||||
depends_on:
|
depends_on:
|
||||||
- mantle-key-generator
|
- mantle-key-generator
|
||||||
- mantle-fullnode
|
- mantle-fullnode
|
||||||
@@ -106,9 +104,9 @@ services:
|
|||||||
OP_NODE_PPROF_ADDR: '0.0.0.0'
|
OP_NODE_PPROF_ADDR: '0.0.0.0'
|
||||||
OP_NODE_P2P_DISCOVERY_PATH: '/op-node/opnode_discovery_db'
|
OP_NODE_P2P_DISCOVERY_PATH: '/op-node/opnode_discovery_db'
|
||||||
OP_NODE_P2P_PEERSTORE_PATH: '/op-node/opnode_peerstore_db'
|
OP_NODE_P2P_PEERSTORE_PATH: '/op-node/opnode_peerstore_db'
|
||||||
OP_NODE_INDEXER_SOCKET: 'da-indexer-api.mantle.xyz:80'
|
OP_NODE_INDEXER_SOCKET: 'da-indexer-api.mantle.xyz:443'
|
||||||
OP_NODE_INDEXER_ENABLE: 'true'
|
OP_NODE_INDEXER_ENABLE: 'true'
|
||||||
OP_NODE_L2_BACKUP_UNSAFE_SYNC_RPC: ${MANTLE_L2_BACKUP_RPC:-https://rpc.mantle.xyz}
|
OP_NODE_L2_BACKUP_UNSAFE_SYNC_RPC: https://rpc.mantle.xyz
|
||||||
OP_NODE_P2P_STATIC: '/dns4/peer0.mantle.xyz/tcp/9003/p2p/16Uiu2HAmKVKzUAns2gLhZAz1PYcbnhY3WpxNxUZYeTN1x29tNBAW,/dns4/peer1.mantle.xyz/tcp/9003/p2p/16Uiu2HAm1AiZtVp8f5C8LvpSTAXC6GtwqAVKnB3VLawWYSEBmcFN,/dns4/peer2.mantle.xyz/tcp/9003/p2p/16Uiu2HAm2UHVKiPXpovs8VbbUQVPr7feBAqBJdFsH1z5XDiLEvHT'
|
OP_NODE_P2P_STATIC: '/dns4/peer0.mantle.xyz/tcp/9003/p2p/16Uiu2HAmKVKzUAns2gLhZAz1PYcbnhY3WpxNxUZYeTN1x29tNBAW,/dns4/peer1.mantle.xyz/tcp/9003/p2p/16Uiu2HAm1AiZtVp8f5C8LvpSTAXC6GtwqAVKnB3VLawWYSEBmcFN,/dns4/peer2.mantle.xyz/tcp/9003/p2p/16Uiu2HAm2UHVKiPXpovs8VbbUQVPr7feBAqBJdFsH1z5XDiLEvHT'
|
||||||
OP_NODE_SEQUENCER_ENABLED: 'false'
|
OP_NODE_SEQUENCER_ENABLED: 'false'
|
||||||
OP_NODE_P2P_AGENT: 'mantle'
|
OP_NODE_P2P_AGENT: 'mantle'
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ FROM golang:1.22 as op
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
ARG OP_REPO=https://github.com/ethereum-optimism/optimism.git
|
ARG OP_REPO=https://github.com/ethereum-optimism/optimism.git
|
||||||
ARG OP_VERSION=v1.10.3
|
ARG OP_VERSION=v1.12.2
|
||||||
ARG OP_PATCH
|
ARG OP_PATCH
|
||||||
|
|
||||||
RUN curl -fsSL https://github.com/casey/just/releases/download/1.38.0/just-1.38.0-x86_64-unknown-linux-musl.tar.gz | tar -xzf - -C /usr/local/bin
|
RUN curl -fsSL https://github.com/casey/just/releases/download/1.38.0/just-1.38.0-x86_64-unknown-linux-musl.tar.gz | tar -xzf - -C /usr/local/bin
|
||||||
@@ -29,7 +29,7 @@ FROM golang:1.22 as geth
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
ARG GETH_REPO=https://github.com/ethereum-optimism/op-geth.git
|
ARG GETH_REPO=https://github.com/ethereum-optimism/op-geth.git
|
||||||
ARG GETH_VERSION=v1.101411.6
|
ARG GETH_VERSION=v1.101503.1
|
||||||
|
|
||||||
# avoid depth=1, so the geth build can read tags
|
# avoid depth=1, so the geth build can read tags
|
||||||
RUN git clone $GETH_REPO --branch $GETH_VERSION --single-branch . && \
|
RUN git clone $GETH_REPO --branch $GETH_VERSION --single-branch . && \
|
||||||
|
|||||||
@@ -54,8 +54,8 @@
|
|||||||
},
|
},
|
||||||
"ethereum": {
|
"ethereum": {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"urls": [
|
"urls": [
|
||||||
"https://ethereum-rpc.publicnode.com"
|
"https://eth.drpc.org"
|
||||||
],
|
],
|
||||||
"default": [
|
"default": [
|
||||||
"erigon-mainnet-minimal",
|
"erigon-mainnet-minimal",
|
||||||
@@ -85,7 +85,7 @@
|
|||||||
"open-campus-codex-sepolia": {
|
"open-campus-codex-sepolia": {
|
||||||
"id": 656476,
|
"id": 656476,
|
||||||
"urls": [
|
"urls": [
|
||||||
"https://rpc.open-campus-codex.gelato.digital"
|
"https://open-campus-codex-sepolia.drpc.org"
|
||||||
],
|
],
|
||||||
"default": ["arb-opencampuscodex"]
|
"default": ["arb-opencampuscodex"]
|
||||||
},
|
},
|
||||||
@@ -175,8 +175,8 @@
|
|||||||
},
|
},
|
||||||
"arbitrum-sepolia": {
|
"arbitrum-sepolia": {
|
||||||
"id": 421614,
|
"id": 421614,
|
||||||
"urls": [
|
"urls": [
|
||||||
"https://arbitrum-sepolia.blockpi.network/v1/rpc/public"
|
"https://arbitrum-sepolia.drpc.org"
|
||||||
],
|
],
|
||||||
"default": [
|
"default": [
|
||||||
"arbitrum-sepolia-fullnode",
|
"arbitrum-sepolia-fullnode",
|
||||||
@@ -215,7 +215,7 @@
|
|||||||
},
|
},
|
||||||
"tron": {
|
"tron": {
|
||||||
"id": 728126428,
|
"id": 728126428,
|
||||||
"urls": ["https://tron-evm-rpc.publicnode.com"],
|
"urls": ["https://api.trongrid.io/jsonrpc"],
|
||||||
"default": ["tron"]
|
"default": ["tron"]
|
||||||
},
|
},
|
||||||
"viction": {
|
"viction": {
|
||||||
@@ -285,8 +285,8 @@
|
|||||||
},
|
},
|
||||||
"fantom-testnet": {
|
"fantom-testnet": {
|
||||||
"id": 4002,
|
"id": 4002,
|
||||||
"urls": [
|
"urls": [
|
||||||
"https://fantom-testnet.public.blastapi.io"
|
"https://rpc.testnet.fantom.network"
|
||||||
],
|
],
|
||||||
"default": [
|
"default": [
|
||||||
"fantom-testnet"
|
"fantom-testnet"
|
||||||
@@ -435,7 +435,8 @@
|
|||||||
},
|
},
|
||||||
"bsc": {
|
"bsc": {
|
||||||
"id": 56,
|
"id": 56,
|
||||||
"urls": [
|
"urls": [
|
||||||
|
"https://binance.nodereal.io",
|
||||||
"https://bsc.drpc.org"
|
"https://bsc.drpc.org"
|
||||||
],
|
],
|
||||||
"default": [
|
"default": [
|
||||||
|
|||||||
@@ -2,10 +2,11 @@ version: '3.1'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
gnosis-reth:
|
gnosis-reth:
|
||||||
image: stakesquid/reth-gnosis:latest
|
image: ghcr.io/gnosischain/reth_gnosis@sha256:2107522cb60a052df3039c54d215c2f861b4107193829687f80e3e07653635a9
|
||||||
user: root
|
user: root
|
||||||
volumes:
|
volumes:
|
||||||
- "reth-gnosis:/root/.local/share/reth/gnosis"
|
- "reth-gnosis:/root/.local/share/reth/gnosis"
|
||||||
|
- "./gnosis/mainnet/genesis.json:/genesis.json:ro"
|
||||||
- "/slowdisk:/slowdisk"
|
- "/slowdisk:/slowdisk"
|
||||||
- ".jwtsecret:/jwtsecret"
|
- ".jwtsecret:/jwtsecret"
|
||||||
expose:
|
expose:
|
||||||
@@ -16,7 +17,7 @@ services:
|
|||||||
- "23865:23865"
|
- "23865:23865"
|
||||||
- "23865:23865/udp"
|
- "23865:23865/udp"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: node --chain gnosis --rpc-max-connections 429496729 --metrics 0.0.0.0:9001 --http --http.addr 0.0.0.0 --http.port 8545 --ws --ws.addr 0.0.0.0 --ws.port 8545 --ws.origins '*' --port 23865 --discovery.port 23865 --authrpc.addr 0.0.0.0 --authrpc.jwtsecret /jwtsecret --http.api "debug,eth,net,trace,txpool,web3,rpc,reth,admin" --ws.api "debug,eth,net,trace,txpool,web3,rpc,reth,admin" --http.corsdomain '*' --rpc.max-logs-per-response 1100000 --rpc.gascap 600000000
|
command: node --chain /genesis.json --rpc-max-connections 429496729 --metrics 0.0.0.0:9001 --http --http.addr 0.0.0.0 --http.port 8545 --ws --ws.addr 0.0.0.0 --ws.port 8545 --ws.origins '*' --port 23865 --discovery.port 23865 --authrpc.addr 0.0.0.0 --authrpc.jwtsecret /jwtsecret --http.api "debug,eth,net,trace,txpool,web3,rpc,reth,admin" --ws.api "debug,eth,net,trace,txpool,web3,rpc,reth,admin" --http.corsdomain '*' --rpc.max-logs-per-response 1100000 --rpc.gascap 600000000
|
||||||
stop_grace_period: 1m
|
stop_grace_period: 1m
|
||||||
labels:
|
labels:
|
||||||
- "prometheus-scrape.enabled=true"
|
- "prometheus-scrape.enabled=true"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
rsk-testnet-fullnode:
|
rsk-testnet-fullnode:
|
||||||
image: rsksmart/rskj:ARROWHEAD-6.5.0
|
image: rsksmart/rskj:LOVELL-7.0.0
|
||||||
stop_grace_period: 5m
|
stop_grace_period: 5m
|
||||||
user: root
|
user: root
|
||||||
ulimits:
|
ulimits:
|
||||||
|
|||||||
2
rsk.yml
2
rsk.yml
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
rsk-fullnode:
|
rsk-fullnode:
|
||||||
image: rsksmart/rskj:ARROWHEAD-6.5.0
|
image: rsksmart/rskj:LOVELL-7.0.0
|
||||||
stop_grace_period: 5m
|
stop_grace_period: 5m
|
||||||
user: root
|
user: root
|
||||||
ulimits:
|
ulimits:
|
||||||
|
|||||||
@@ -34,9 +34,18 @@ for part in "${parts[@]}"; do
|
|||||||
|
|
||||||
if $include; then
|
if $include; then
|
||||||
result=$($BASEPATH/sync-status.sh "${part%.yml}")
|
result=$($BASEPATH/sync-status.sh "${part%.yml}")
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
any_failure=true
|
if [ $? -ne 0 ]; then
|
||||||
fi
|
if [[ "$result" == *"syncing"* ]]; then
|
||||||
|
# Allow exit status 1 if result contains "syncing"
|
||||||
|
true
|
||||||
|
elif [[ "$result" == *"lagging"* ]]; then
|
||||||
|
# Allow exit status 1 if result contains "syncing"
|
||||||
|
true
|
||||||
|
else
|
||||||
|
any_failure=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo "${part%.yml}: $result"
|
echo "${part%.yml}: $result"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
IPS=$(/usr/bin/docker exec -t wireguard curl 10.13.13.1:5000/storage | jq -r '[.[].ip]|join(",")' | sed 's/\n//g')
|
DIRTY_IPS=$(/usr/bin/docker exec -t wireguard curl 10.13.13.1:5000/storage | jq -r '[.[].ip]|join(",")' | sed 's/\n//g')
|
||||||
|
|
||||||
cleaned_ips=$(echo "$IPS" | sed -E 's/[^0-9.,]//g' | sed 's/,,*/,/g' | sed 's/,$//')
|
IPS=$(echo "$DIRTY_IPS" | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' | paste -sd "," -)
|
||||||
|
|
||||||
if [ -z "$cleaned_ips" ]; then
|
if [ -z "$IPS" ]; then
|
||||||
echo "whitelist empty"
|
echo "whitelist empty"
|
||||||
else
|
else
|
||||||
sed -i.bak "s/WHITELIST=.*/WHITELIST=${cleaned_ips},192\.168\.0\.0\/16/g" /root/rpc/.env
|
sed -i.bak "s/WHITELIST=.*/WHITELIST=${IPS},192\.168\.0\.0\/16/g" /root/rpc/.env
|
||||||
cd /root/rpc && docker compose up -d traefik
|
cd /root/rpc && docker compose up -d traefik
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user