Compare commits
1 Commits
issue-3056
...
issue-2776
| Author | SHA1 | Date | |
|---|---|---|---|
| d279ff7274 |
@@ -45,7 +45,7 @@ services:
|
||||
arc-mainnet-archive-sockets-init:
|
||||
image: debian:bookworm-slim
|
||||
entrypoint: [/bin/sh, -c]
|
||||
command: [chown 999:999 /sockets]
|
||||
command: [rm -f /sockets/*.ipc && chown 999:999 /sockets]
|
||||
restart: no
|
||||
depends_on:
|
||||
arc-mainnet-archive-consensus-init:
|
||||
|
||||
@@ -45,7 +45,7 @@ services:
|
||||
arc-mainnet-sockets-init:
|
||||
image: debian:bookworm-slim
|
||||
entrypoint: [/bin/sh, -c]
|
||||
command: [chown 999:999 /sockets]
|
||||
command: [rm -f /sockets/*.ipc && chown 999:999 /sockets]
|
||||
restart: no
|
||||
depends_on:
|
||||
arc-mainnet-consensus-init:
|
||||
|
||||
@@ -45,7 +45,7 @@ services:
|
||||
arc-testnet-archive-sockets-init:
|
||||
image: debian:bookworm-slim
|
||||
entrypoint: [/bin/sh, -c]
|
||||
command: [chown 999:999 /sockets]
|
||||
command: [rm -f /sockets/*.ipc && chown 999:999 /sockets]
|
||||
restart: no
|
||||
depends_on:
|
||||
arc-testnet-archive-consensus-init:
|
||||
|
||||
@@ -45,7 +45,7 @@ services:
|
||||
arc-testnet-sockets-init:
|
||||
image: debian:bookworm-slim
|
||||
entrypoint: [/bin/sh, -c]
|
||||
command: [chown 999:999 /sockets]
|
||||
command: [rm -f /sockets/*.ipc && chown 999:999 /sockets]
|
||||
restart: no
|
||||
depends_on:
|
||||
arc-testnet-consensus-init:
|
||||
|
||||
@@ -45,7 +45,7 @@ services:
|
||||
arc-testnet-sockets-init:
|
||||
image: debian:bookworm-slim
|
||||
entrypoint: [/bin/sh, -c]
|
||||
command: [chown 999:999 /sockets]
|
||||
command: [rm -f /sockets/*.ipc && chown 999:999 /sockets]
|
||||
restart: no
|
||||
depends_on:
|
||||
arc-testnet-consensus-init:
|
||||
|
||||
@@ -323,7 +323,9 @@ detect_client_type() {
|
||||
local node_name="$1"
|
||||
local name_lower=$(echo "$node_name" | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
if [[ "$name_lower" == *"geth"* ]]; then
|
||||
if [[ "$name_lower" == *"op-geth"* ]]; then
|
||||
echo "op-geth"
|
||||
elif [[ "$name_lower" == *"geth"* ]]; then
|
||||
echo "geth"
|
||||
elif [[ "$name_lower" == *"reth"* ]]; then
|
||||
echo "reth"
|
||||
@@ -351,7 +353,7 @@ add_static_peer() {
|
||||
# Geth supports admin_addStaticPeer
|
||||
method="admin_addStaticPeer"
|
||||
else
|
||||
# Reth and most other clients use admin_addPeer
|
||||
# Reth, op-geth, and most other clients use admin_addPeer
|
||||
method="admin_addPeer"
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,49 +1,64 @@
|
||||
#!/bin/sh
|
||||
# haqq entrypoint — family C, cosmos app with built-in EVM JSON-RPC (C2).
|
||||
# Uses the shared cometbft-common.sh helpers and injects official mainnet seeds.
|
||||
set -e
|
||||
. /usr/local/bin/cometbft-common.sh
|
||||
|
||||
HOME_DIR="/root/.haqqd"
|
||||
CONFIG_DIR="$HOME_DIR/config"
|
||||
CHAINID="${CHAINID:-haqq_11235-1}"
|
||||
CHAINNAME="${CHAINNAME:-mainnet}"
|
||||
API="${API:-eth,txpool,net,debug,web3}"
|
||||
GENESIS_URL="${GENESIS_URL:-https://raw.githubusercontent.com/haqq-network/${CHAINNAME}/master/genesis.json}"
|
||||
ADDRBOOK_URL="${ADDRBOOK_URL:-https://raw.githubusercontent.com/haqq-network/${CHAINNAME}/master/addrbook.json}"
|
||||
set -e # Exit on failure
|
||||
|
||||
# Official HAQQ mainnet seeds
|
||||
SEEDS="861e5892470275a394ebab407e8d62b1931843d3@192.248.181.17:26656,e1b058e5cfa2b836ddaa496b10911da62dcf182e@haqq-seed-de.allnodes.me:26656,e726816f42831689eab9378d5d577f1d06d25716@haqq-seed-us.allnodes.me:26656,0533e20e65912f72f2ad88a4c91eefbc634212d7@haqq-sync.rpc.p2p.world:26656,c45991e0098b9cacb8603caf4e1cdb7e6e5f87c0@eu.seed.haqq.network:26656,e37cb47590ba46b503269ef255873e9698244d8b@us.seed.haqq.network:26656,c593e93e1fb8be8b48d4e7bab514a227aa620bf8@as.seed.haqq.network:26656,0265238d4845e041868d610c100b88f485eeddfb@rpc.haqq.nodestake.top:666"
|
||||
echo "MONIKER: $MONIKER"
|
||||
|
||||
ct_apk curl
|
||||
CHAINID=${CHAINID:-haqq_11235-1}
|
||||
CHAINNAME=${CHAINNAME:-mainnet}
|
||||
API=${API:-eth,net,web3}
|
||||
|
||||
if haqqd init "$MONIKER" --chain-id "$CHAINID" --home "$HOME_DIR"; then
|
||||
ct_log "fresh init; fetching config"
|
||||
ct_fetch "$GENESIS_URL" "$CONFIG_DIR/genesis.json" required
|
||||
ct_fetch "$ADDRBOOK_URL" "$CONFIG_DIR/addrbook.json" optional
|
||||
ct_localize_home "$CONFIG_DIR"
|
||||
ct_set_min_gas_prices "$CONFIG_DIR/app.toml" "0.01hqq"
|
||||
CONFIG_DIR="/root/.haqqd/config"
|
||||
|
||||
# Create config directory
|
||||
mkdir -p "$CONFIG_DIR"
|
||||
|
||||
P2P_STRING="tcp:\\/\\/0\\.0\\.0\\.0\\:${P2P_PORT:-10465}"
|
||||
NAT_STRING="${IP}:${P2P_PORT:-10465}"
|
||||
|
||||
env
|
||||
|
||||
# this goes first because it won't overwrite shit
|
||||
apk add curl
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
if haqqd init ${MONIKER} --chain-id ${CHAINID} --home /root/.haqqd/; then
|
||||
# Define variables
|
||||
GENESIS_URL="https://raw.githubusercontent.com/haqq-network/${CHAINNAME}/master/genesis.json"
|
||||
ADDRESSBOOK_URL="https://raw.githubusercontent.com/haqq-network/${CHAINNAME}/master/addrbook.json"
|
||||
|
||||
# Download config files
|
||||
curl -sL "$GENESIS_URL" -o "$CONFIG_DIR/genesis.json"
|
||||
curl -sL "$ADDRESSBOOK_URL" -o "$CONFIG_DIR/addressbook.json"
|
||||
|
||||
# somehow it's better to make home static to /root
|
||||
sed -i 's|~/|/root/|g' "$CONFIG_DIR/config.toml"
|
||||
sed -i 's|~/|/root/|g' "$CONFIG_DIR/app.toml"
|
||||
else
|
||||
ct_log "already initialized, continuing"
|
||||
echo "Already initialized, continuing!" >&2
|
||||
fi
|
||||
|
||||
# Enable JSON-RPC with correct settings
|
||||
sed -i "/^\[json-rpc\]/,/^\[/{s|^enable = .*|enable = true|}" "$CONFIG_DIR/app.toml"
|
||||
|
||||
# apply a port change to the config
|
||||
sed -i "/^\[p2p\]/,/^\[/{s|^laddr = .*|laddr = \"$P2P_STRING\"|}" "$CONFIG_DIR/config.toml"
|
||||
#sed -i "s/^laddr = \".*\"/laddr = \"$P2P_STRING\"/" "$CONFIG_DIR/config.toml"
|
||||
sed -i "/^\[p2p\]/,/^\[/{s|^external_address = .*|external_address = \"$NAT_STRING\"|}" "$CONFIG_DIR/config.toml"
|
||||
|
||||
#sed -i 's/minimum-gas-prices = ""/minimum-gas-prices = "0.01hqq"/g' $CONFIG_DIR/app.toml
|
||||
|
||||
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $CONFIG_DIR/app.toml
|
||||
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $CONFIG_DIR/app.toml
|
||||
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"19\"/" $CONFIG_DIR/app.toml
|
||||
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $CONFIG_DIR/config.toml
|
||||
|
||||
sed -i "/^\[json-rpc\]/,/^\[/{s|^address = .*|address = \"0.0.0.0:8545\"|}" "$CONFIG_DIR/app.toml"
|
||||
sed -i "/^\[json-rpc\]/,/^\[/{s|^ws-address = .*|ws-address = \"0.0.0.0:8546\"|}" "$CONFIG_DIR/app.toml"
|
||||
sed -i "/^\[json-rpc\]/,/^\[/{s|^metrics-address = .*|metrics-address = \"0.0.0.0:6065\"|}" "$CONFIG_DIR/app.toml"
|
||||
sed -i "/^\[json-rpc\]/,/^\[/{s|^api = .*|api = \"$API\"|}" "$CONFIG_DIR/app.toml"
|
||||
|
||||
# Pruning + indexing settings
|
||||
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" "$CONFIG_DIR/app.toml"
|
||||
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" "$CONFIG_DIR/app.toml"
|
||||
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"19\"/" "$CONFIG_DIR/app.toml"
|
||||
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" "$CONFIG_DIR/config.toml"
|
||||
# Update moniker if set
|
||||
if [ -n "$MONIKER" ] && [ -f "$CONFIG_DIR/config.toml" ]; then
|
||||
sed -i "s/^moniker = \".*\"/moniker = \"$MONIKER\"/" "$CONFIG_DIR/config.toml"
|
||||
fi
|
||||
|
||||
# P2P: bind 0.0.0.0, advertise IP + port, inject official seeds
|
||||
ct_patch_p2p "$CONFIG_DIR/config.toml" "$IP" "${P2P_PORT:-10465}"
|
||||
ct_merge_seeds "$CONFIG_DIR/config.toml" "$SEEDS"
|
||||
ct_set_moniker "$CONFIG_DIR/config.toml" "$MONIKER"
|
||||
ct_seed_priv_validator_state "$HOME_DIR"
|
||||
|
||||
exec haqqd start --chain-id "$CHAINID" "$@"
|
||||
exec haqqd start --chain-id ${CHAINID} $@
|
||||
|
||||
@@ -267,7 +267,7 @@ services:
|
||||
- EIGENDA_PROXY_S3_CREDENTIAL_TYPE=public
|
||||
- EIGENDA_PROXY_S3_ENDPOINT=storage.googleapis.com
|
||||
- EIGENDA_PROXY_S3_PATH=blobs/
|
||||
- EIGENDA_PROXY_STORAGE_BACKENDS_TO_ENABLE=V2
|
||||
- EIGENDA_PROXY_STORAGE_BACKENDS_TO_ENABLE=V1,V2
|
||||
- EIGENDA_PROXY_STORAGE_FALLBACK_TARGETS=s3
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
|
||||
@@ -266,7 +266,7 @@ services:
|
||||
- EIGENDA_PROXY_S3_CREDENTIAL_TYPE=public
|
||||
- EIGENDA_PROXY_S3_ENDPOINT=storage.googleapis.com
|
||||
- EIGENDA_PROXY_S3_PATH=blobs/
|
||||
- EIGENDA_PROXY_STORAGE_BACKENDS_TO_ENABLE=V2
|
||||
- EIGENDA_PROXY_STORAGE_BACKENDS_TO_ENABLE=V1,V2
|
||||
- EIGENDA_PROXY_STORAGE_FALLBACK_TARGETS=s3
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
|
||||
@@ -264,7 +264,7 @@ services:
|
||||
- EIGENDA_PROXY_S3_CREDENTIAL_TYPE=public
|
||||
- EIGENDA_PROXY_S3_ENDPOINT=storage.googleapis.com
|
||||
- EIGENDA_PROXY_S3_PATH=blobs/
|
||||
- EIGENDA_PROXY_STORAGE_BACKENDS_TO_ENABLE=V2
|
||||
- EIGENDA_PROXY_STORAGE_BACKENDS_TO_ENABLE=V1,V2
|
||||
- EIGENDA_PROXY_STORAGE_FALLBACK_TARGETS=s3
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
|
||||
@@ -264,7 +264,7 @@ services:
|
||||
- EIGENDA_PROXY_S3_CREDENTIAL_TYPE=public
|
||||
- EIGENDA_PROXY_S3_ENDPOINT=storage.googleapis.com
|
||||
- EIGENDA_PROXY_S3_PATH=blobs/
|
||||
- EIGENDA_PROXY_STORAGE_BACKENDS_TO_ENABLE=V2
|
||||
- EIGENDA_PROXY_STORAGE_BACKENDS_TO_ENABLE=V1,V2
|
||||
- EIGENDA_PROXY_STORAGE_FALLBACK_TARGETS=s3
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
|
||||
@@ -45,6 +45,9 @@ services:
|
||||
ulimits:
|
||||
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||
user: root
|
||||
ports:
|
||||
- 13290:13290
|
||||
- 13290:13290/udp
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
@@ -61,6 +64,7 @@ services:
|
||||
- GETH_ROLLUP_SEQUENCERHTTP=https://rpc.mainnet.frax.com
|
||||
entrypoint: /bin/sh -c '[ -f /config/genesis.json ] && geth --db.engine=leveldb --gcmode=archive --datadir /data init --state.scheme=hash /config/genesis.json; [ -f /config/static-nodes.json ] && cp -f /config/static-nodes.json /data/static-nodes.json; exec geth "$@"' --
|
||||
command:
|
||||
- --bootnodes=enr:-J24QI8QR7VIgvQFuvLl09b9ocugoQ1WkS_AOMWKFgNX48-4P1hjgDKGeMFXZmKtfjYA2aEehxKT066riaktnxhh92OGAY5Sw_QsgmlkgnY0gmlwhCztZu2Hb3BzdGFja4P8AQCJc2VjcDI1NmsxoQM2KM0mkdH97Ze8AqwxLeqc934PKj8-xoKsyP6mAptWwIN0Y3CCdl2DdWRwgnZd,enr:-J24QGD1J-g2EPY9b7XiuwLhIoGocVp2qx2gWSfDI_CdftiPSHlgi7G6LtzkQlDskuSvRj4OXTg3vXLISubphXNNhqyGAY5Sw8GxgmlkgnY0gmlwhCzW_iGHb3BzdGFja4P8AQCJc2VjcDI1NmsxoQPvMYlJHJUsEyciuJCTkKHLE2ogZ6cs2xuPI28CGq0CTIN0Y3CCdl2DdWRwgnZd,enr:-J24QCA5I3xroUXt7Ge_Kf04VCRBnI-GbZeyBxOkkpIDGGLrVsonrbngQG1hAEnufRb1TgS6sNFCGtaZ2ZpRx7AgciGGAY5SxEy0gmlkgnY0gmlwhCLzRQyHb3BzdGFja4P8AQCJc2VjcDI1NmsxoQOaHzrtPQWYcwAcFJWFrbGlbNUsBC0VEhCcH02RbgEIwIN0Y3CCdl2DdWRwgnZd
|
||||
- --datadir=/data
|
||||
- --db.engine=leveldb
|
||||
- --gcmode=archive
|
||||
@@ -68,8 +72,9 @@ services:
|
||||
- --metrics
|
||||
- --metrics.addr=0.0.0.0
|
||||
- --metrics.port=6060
|
||||
- --nat=extip:${IP}
|
||||
- --networkid=252
|
||||
- --nodiscover
|
||||
- --port=13290
|
||||
- --rpc.gascap=600000000
|
||||
- --rpc.txfeecap=0
|
||||
- --state.scheme=hash
|
||||
@@ -140,7 +145,7 @@ services:
|
||||
- OP_NODE_RPC_ADDR=0.0.0.0
|
||||
- OP_NODE_RPC_PORT=9545
|
||||
- OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log
|
||||
- OP_NODE_SYNCMODE=consensus-layer
|
||||
- OP_NODE_SYNCMODE=execution-layer
|
||||
- OP_NODE_VERIFIER_L1_CONFS=0
|
||||
entrypoint: [op-node]
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -45,6 +45,9 @@ services:
|
||||
ulimits:
|
||||
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||
user: root
|
||||
ports:
|
||||
- 10282:10282
|
||||
- 10282:10282/udp
|
||||
expose:
|
||||
- 8545
|
||||
- 6060
|
||||
@@ -61,6 +64,7 @@ services:
|
||||
- GETH_ROLLUP_SEQUENCERHTTP=https://rpc.mainnet.frax.com
|
||||
entrypoint: /bin/sh -c '[ -f /config/genesis.json ] && geth --db.engine=pebble --gcmode=full --datadir /data init --state.scheme=path /config/genesis.json; [ -f /config/static-nodes.json ] && cp -f /config/static-nodes.json /data/static-nodes.json; exec geth "$@"' --
|
||||
command:
|
||||
- --bootnodes=enr:-J24QI8QR7VIgvQFuvLl09b9ocugoQ1WkS_AOMWKFgNX48-4P1hjgDKGeMFXZmKtfjYA2aEehxKT066riaktnxhh92OGAY5Sw_QsgmlkgnY0gmlwhCztZu2Hb3BzdGFja4P8AQCJc2VjcDI1NmsxoQM2KM0mkdH97Ze8AqwxLeqc934PKj8-xoKsyP6mAptWwIN0Y3CCdl2DdWRwgnZd,enr:-J24QGD1J-g2EPY9b7XiuwLhIoGocVp2qx2gWSfDI_CdftiPSHlgi7G6LtzkQlDskuSvRj4OXTg3vXLISubphXNNhqyGAY5Sw8GxgmlkgnY0gmlwhCzW_iGHb3BzdGFja4P8AQCJc2VjcDI1NmsxoQPvMYlJHJUsEyciuJCTkKHLE2ogZ6cs2xuPI28CGq0CTIN0Y3CCdl2DdWRwgnZd,enr:-J24QCA5I3xroUXt7Ge_Kf04VCRBnI-GbZeyBxOkkpIDGGLrVsonrbngQG1hAEnufRb1TgS6sNFCGtaZ2ZpRx7AgciGGAY5SxEy0gmlkgnY0gmlwhCLzRQyHb3BzdGFja4P8AQCJc2VjcDI1NmsxoQOaHzrtPQWYcwAcFJWFrbGlbNUsBC0VEhCcH02RbgEIwIN0Y3CCdl2DdWRwgnZd
|
||||
- --datadir=/data
|
||||
- --db.engine=pebble
|
||||
- --gcmode=full
|
||||
@@ -68,12 +72,13 @@ services:
|
||||
- --metrics
|
||||
- --metrics.addr=0.0.0.0
|
||||
- --metrics.port=6060
|
||||
- --nat=extip:${IP}
|
||||
- --networkid=252
|
||||
- --nodiscover
|
||||
- --port=10282
|
||||
- --rpc.gascap=600000000
|
||||
- --rpc.txfeecap=0
|
||||
- --state.scheme=path
|
||||
- --syncmode=full
|
||||
- --syncmode=snap
|
||||
- --http
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.api=eth,net,web3,debug,admin,txpool,engine
|
||||
@@ -140,7 +145,7 @@ services:
|
||||
- OP_NODE_RPC_ADDR=0.0.0.0
|
||||
- OP_NODE_RPC_PORT=9545
|
||||
- OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log
|
||||
- OP_NODE_SYNCMODE=consensus-layer
|
||||
- OP_NODE_SYNCMODE=execution-layer
|
||||
- OP_NODE_VERIFIER_L1_CONFS=0
|
||||
entrypoint: [op-node]
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -82,6 +82,7 @@ PEER_COUNT="$(echo "$PEERS_JSON" | jq -r '.result | length' 2>/dev/null || echo
|
||||
NAME_LC="$(echo "$CLIENT_NAME" | tr '[:upper:]' '[:lower:]')"
|
||||
CLIENT_TYPE="unknown"
|
||||
case "$NAME_LC" in
|
||||
*op-geth*) CLIENT_TYPE="op-geth" ;;
|
||||
*geth*) CLIENT_TYPE="geth" ;;
|
||||
*reth*) CLIENT_TYPE="reth" ;;
|
||||
*erigon*) CLIENT_TYPE="erigon" ;;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
# peer-reinject.sh — generic .after-start hook: re-seed peers from peer-capture state.
|
||||
# Uses admin_addStaticPeer for geth, admin_addPeer otherwise (connect-peers.sh).
|
||||
# Uses admin_addStaticPeer for geth, admin_addPeer for op-geth and others (connect-peers.sh).
|
||||
# In-network vantage (rpc_chains). Idempotent; best-effort (never fails the restart).
|
||||
#
|
||||
# Seed order (one path for us and customers):
|
||||
|
||||
Reference in New Issue
Block a user