Files
ethereum-rpc-docker/haqq/scripts/init.sh

50 lines
2.7 KiB
Bash

#!/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}"
# 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"
ct_apk curl
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"
else
ct_log "already initialized, continuing"
fi
# Enable JSON-RPC with correct settings
sed -i "/^\[json-rpc\]/,/^\[/{s|^enable = .*|enable = true|}" "$CONFIG_DIR/app.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"
# 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" "$@"