igneum/infra/seed-nodes/node/run-seed.sh
igneum-labs 72351e8270 Testnet seeds: NET=testnet profile for the seed scripts, seeds-testnet.tsv (3 Hetzner VMs), dns.sh (deSEC), the public RPC allowlist and nginx site, build-job.mjs forwards --node-tests
seed1.testnet nbg1 195.201.35.33, seed2.testnet ash 5.161.232.205, seed3.testnet sin 5.223.52.210 (5 October 2026). Ports 26810/26811/28810/26890
from seed.env; provision-seed.sh BUILD_WHERE=cross takes the PC build job's Linux igneumd from infra/cross/out.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 15:46:22 +00:00

21 lines
1.5 KiB
Bash
Executable file

#!/usr/bin/env bash
# igneumd launcher on a seed VM. Reads /etc/igneum/seed.env.
# No mining, no --connect (the address manager stays on and answers RequestAddresses, which is what a seed is for),
# --nodnsseed (a seed never asks another seed list), UPnP off, RPC on loopback only, p2p on every interface,
# --externalip so peers learn the fixed address, generous inbound limit. --yes answers the database-version prompt
# so the unit never waits on a terminal. Other seeds come in through --addpeer (SEED_PEERS).
set -euo pipefail
. /etc/igneum/seed.env
# shellcheck disable=SC2206
# Ports come from seed.env (5 October 2026: the testnet seeds run on 26810/26811/28810/26890); an env file without
# them is a devnet seed on the 266xx ports. The EVM JSON-RPC binds to loopback too; node/install-rpc.sh puts nginx
# in front of it on the seed that serves rpc.<net>.igneum.network.
args=($NETWORK_ARGS --appdir="${APPDIR:-/var/lib/igneum}" --rpclisten=127.0.0.1:"${RPC_PORT:-26610}" --rpclisten-json=127.0.0.1:"${RPC_JSON_PORT:-28610}"
--evm-rpclisten=127.0.0.1:"${EVM_RPC_PORT:-26790}"
--listen=0.0.0.0:"${P2P_PORT:-26611}" --externalip="$EXTERNAL_IP" --nodnsseed --disable-upnp --nologfiles --yes
--maxinpeers=128 --outpeers=8 --loglevel=info)
IFS=',' read -r -a peers <<< "${SEED_PEERS:-}"
for p in "${peers[@]}"; do [ -n "$p" ] && args+=(--addpeer="$p"); done
# shellcheck disable=SC2206
[ -n "${EXTRA_ARGS:-}" ] && args+=($EXTRA_ARGS)
exec /opt/igneum/bin/igneumd "${args[@]}"