Open-source 2-of-3 policy-enforced threshold HSM: auto-signs cold→hot treasury refills under on-device Coldcard policy, no human in the loop. Includes the full operator manual + quick-start, the reference coordinator/signing code, and a signer-host bootstrap. No keys, seeds, or secrets — placeholders only. Live signet demo: https://multisighsm.mineracks.com Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
24 lines
966 B
Bash
Executable File
24 lines
966 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Start 3 headless Coldcard Mk5 sims, each with a distinct seed + isolated state + stable socket.
|
|
set -uo pipefail
|
|
export PATH="$HOME/gccshim:$PATH"
|
|
RUN=~/cksim
|
|
cd ~/coldcard-firmware/unix
|
|
pkill -f "simulator.py --mk5" 2>/dev/null || true; sleep 2
|
|
rm -f /tmp/ckcc-simulator-*.sock /tmp/cksim-*.sock
|
|
: > "$RUN/sims.manifest"
|
|
for n in 1 2 3; do
|
|
SEED=$(cat "$RUN/seeds/$n.txt")
|
|
setsid ~/ccsim-venv/bin/python simulator.py --mk5 --headless --segregate --seed "$SEED" \
|
|
>"$RUN/sim-$n.log" 2>&1 </dev/null &
|
|
for i in $(seq 1 25); do
|
|
cnt=$(ls /tmp/ckcc-simulator-*.sock 2>/dev/null | wc -l)
|
|
[ "$cnt" -ge "$n" ] && break; sleep 1
|
|
done
|
|
newsock=$(ls -t /tmp/ckcc-simulator-*.sock 2>/dev/null | head -1)
|
|
ln -sf "$newsock" "/tmp/cksim-$n.sock"
|
|
echo "$n $newsock /tmp/cksim-$n.sock" >> "$RUN/sims.manifest"
|
|
done
|
|
echo "=== manifest ==="; cat "$RUN/sims.manifest"
|
|
echo "=== stable sockets ==="; ls -l /tmp/cksim-*.sock 2>/dev/null
|