infra/cloud-devnet: hcloud (doctl variant) create, builder-VM provision from a git-archive source tarball, systemd units for igneumd --devnet-suffix with a sparse --addpeer mesh and a CPU trickle miner per node, stdlib wRPC client, experiments (latency, partition, hop, collect, observer hookup), README with the command sequence and the Hetzner API prices of 3 Oct 2026. infra/gpu-bench: RunPod image recipes (CUDA 12.8, ROCm), bundle, run.sh (vectors gate, 10-min raw, sweep, inline shortcut ratio, nvcc/NVRTC/OpenCL recompile timings, results row, intake upload), bench-log template. infra/seed-nodes: create-seed (persistent IPv4, firewall), provision on the VM, health check, addPeer from the Mac over grpcurl, seeds.txt; igneum-seed-1 created at 188.245.5.161 (Hetzner cx23, fsn1). docs/plans/cloud-devnet.md and docs/plans/seed-nodes.md. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
20 lines
1.4 KiB
Bash
Executable file
20 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# igneumd launcher on a node VM. Reads /etc/igneum/node.env and builds the flag list.
|
|
# The flags are the ones that work on the Windows node (proto-cuda/windows-node/start-node.ps1): --addpeer, never
|
|
# --connect (--connect sets the inbound limit to 0, kaspad/src/daemon.rs). --outpeers=0 stops the connection manager
|
|
# filling 8 outbound slots from exchanged addresses, which would turn the sparse mesh into a near-complete graph;
|
|
# the --addpeer links are permanent connections outside that target. RPC on loopback only; p2p on every interface.
|
|
# --enable-unsynced-mining: every node starts at genesis (timestamp 2026-10-03T00:00Z), so none is "synced" at first
|
|
# and the node would refuse templates (rpc/service/src/service.rs).
|
|
set -euo pipefail
|
|
. /etc/igneum/node.env
|
|
|
|
args=(--devnet --devnet-suffix="$DEVNET_SUFFIX" --override-params-file=/etc/igneum/override-params.json
|
|
--appdir=/var/lib/igneum --rpclisten=127.0.0.1:26610 --rpclisten-json=127.0.0.1:28610
|
|
--listen=0.0.0.0:26611 --externalip="$EXTERNAL_IP"
|
|
--nodnsseed --disable-upnp --nologfiles --enable-unsynced-mining --outpeers=0 --maxinpeers=32 --loglevel=info)
|
|
IFS=',' read -r -a peers <<< "${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[@]}"
|