igneum/infra/seed-nodes
igneum-labs 74e7c2bdf5 seed-nodes: igneum-seed-1 live and synced; relay path from the Mac; prices in the account's currency (USD)
igneum-seed-1 (Hetzner cx23, fsn1, 188.245.5.161:26611): built on the VM in 1,530 s, synced to the live devnet
(12,204 blocks, same sink as the live node) through a non-mining relay igneumd on the Mac (the live node's addPeer
RPC is refused in safe mode); the live node and the Windows PC learned the seed's address by peer exchange and dialled
it. seeds.txt written. Hetzner prices corrected to USD (pricing API currency) in the plans, READMEs and scripts;
current-generation types per location (cx23 EU, cpx22 sin, cpx21 US) in the cloud-devnet config.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 22:27:52 +00:00
..
node infra: cloud devnet (20 nodes), rented GPU bench and seed node scripts; plans for both 2026-10-03 22:01:50 +00:00
.gitignore infra: cloud devnet (20 nodes), rented GPU bench and seed node scripts; plans for both 2026-10-03 22:01:50 +00:00
addpeer-from-mac.sh seed-nodes: igneum-seed-1 live and synced; relay path from the Mac; prices in the account's currency (USD) 2026-10-03 22:27:52 +00:00
config.sh seed-nodes: igneum-seed-1 live and synced; relay path from the Mac; prices in the account's currency (USD) 2026-10-03 22:27:52 +00:00
create-seed.sh seed-nodes: igneum-seed-1 live and synced; relay path from the Mac; prices in the account's currency (USD) 2026-10-03 22:27:52 +00:00
health.sh infra: cloud devnet (20 nodes), rented GPU bench and seed node scripts; plans for both 2026-10-03 22:01:50 +00:00
lib.sh infra: cloud devnet (20 nodes), rented GPU bench and seed node scripts; plans for both 2026-10-03 22:01:50 +00:00
provision-seed.sh infra: cloud devnet (20 nodes), rented GPU bench and seed node scripts; plans for both 2026-10-03 22:01:50 +00:00
README.md seed-nodes: igneum-seed-1 live and synced; relay path from the Mac; prices in the account's currency (USD) 2026-10-03 22:27:52 +00:00
seeds.tsv infra: cloud devnet (20 nodes), rented GPU bench and seed node scripts; plans for both 2026-10-03 22:01:50 +00:00
seeds.txt infra: cloud devnet (20 nodes), rented GPU bench and seed node scripts; plans for both 2026-10-03 22:01:50 +00:00

Igneum seed nodes

A seed is a small VM with a fixed public IPv4 that runs igneumd with p2p open, no mining, RPC on loopback, and serves peer exchange (the address manager stays on; --connect is never used). seeds.txt lists one <ip>:26611 per seed and is the file the consensus engineer bakes into the network parameters and every package reads as SEED_PEERS. The plan, the client path and the rotation procedure are in docs/plans/seed-nodes.md.

The first seed, igneum-seed-1, was created on 3 Oct 2026 (Hetzner cx23, Falkenstein, USD 6.49 per month net plus the IPv4). It runs the shared devnet (--devnet, no suffix).

cd infra/seed-nodes
./create-seed.sh                        # one VM, persistent IPv4, firewall 22 + 26611 + icmp, appends seeds.tsv, rewrites seeds.txt
./provision-seed.sh igneum-seed-1       # source tarball -> build on the VM (about an hour on 2 vCPU) -> unit igneumd, started
./health.sh                             # one line per seed: p2p port, unit, RPC, synced, blocks, peers, known addresses
./addpeer-from-mac.sh relay start       # a non-mining relay igneumd on the Mac peers with the live node (LAN) and the seed; the
                                        # live node runs in safe RPC mode, so addPeer over grpcurl is refused (see the script)
SEED_NAME=igneum-seed-2 SEED_LOCATION=ash SEED_TYPE=cpx11 ./create-seed.sh    # the next seed; provision adds the first as --addpeer

Settings in config.sh: provider, name, type, location, image, ssh key (~/.ssh/igneum_ed25519), SSH_SOURCE (any, me or a CIDR for port 22), NETWORK_ARGS (--devnet; a private network: --devnet --devnet-suffix=20), SEED_PEERS, BUILD_WHERE (seed builds on the VM; bin reuses ../cloud-devnet/build/bin). The Hetzner token is read from ~/.config/igneum/hetzner-token and never printed.

Node flags (node/run-seed.sh): --devnet --appdir=/var/lib/igneum --rpclisten=127.0.0.1:26610 --rpclisten-json=127.0.0.1:28610 --listen=0.0.0.0:26611 --externalip=<ip> --nodnsseed --disable-upnp --nologfiles --yes --maxinpeers=128 --outpeers=8 [--addpeer=<other seeds>]. No --enable-unsynced-mining (nothing mines here) and no --connect (it would set the inbound limit to 0 and switch the address manager off).

Files: create-seed.sh, provision-seed.sh, health.sh, addpeer-from-mac.sh, config.sh, lib.sh, node/{install-seed.sh,run-seed.sh,igneumd.service}, seeds.txt, seeds.tsv, build/ (logs, ignored by nothing: keep the build logs, they are small).