SolanaOS Gateway + Node Workflow
Prerequisites
Ensure the following tools are installed:
tmux—brew install tmuxtailscale— https://tailscale.com/downloadsolanaos—npm install -g solanaosgo— https://go.dev/dl/
Build SolanaOS
// turbo
cd /Users/8bit/Downloads/nanosolana-go && go build -ldflags="-s -w" -o build/solanaos .
Spawn the Gateway (Quick)
Option A: Via SolanaOS CLI
// turbo
solanaos node gateway-spawn
This will:
- Check for tmux, solanaos, and tailscale
- Detect your Tailscale IP
- Start
solanaos gatewayin a detached tmux session - Print connection info for remote nodes
Option B: Via Shell Script
// turbo
./scripts/gateway-spawn.sh
Same result, but works without building SolanaOS first.
Pair a Node
From the hardware device (Orin Nano, RPi, etc.), run:
solanaos node pair --bridge <TAILSCALE_IP>:18790 --display-name "My Orin Nano"
Then approve from the gateway host:
solanaos nodes approve <requestId>
Run the Node
solanaos node run --bridge <TAILSCALE_IP>:18790
Auto-Spawn at Daemon Launch
To make the daemon automatically spawn a gateway at startup:
GATEWAY_AUTO_SPAWN=true solanaos daemon
Or set in .env:
GATEWAY_AUTO_SPAWN=true
GATEWAY_SPAWN_PORT=18790
GATEWAY_USE_TAILSCALE=true
Manage the Gateway
// turbo
# Check status
./scripts/gateway-spawn.sh --status
# Kill the gateway
solanaos node gateway-kill
# Or via script
./scripts/gateway-spawn.sh --kill
# Attach to see gateway logs
tmux attach -t solanaos-gw
Cross-Compile for Hardware
# Raspberry Pi (ARM64)
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o build/solanaos-linux-arm64 .
# NVIDIA Orin Nano (ARM64)
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o build/solanaos-orin .
Termius SSH Workflow
- Add your Tailscale host in Termius (use Tailscale IP)
- SSH in and run:
solanaos node gateway-spawn - From a second Termius tab:
solanaos node run --bridge <IP>:18790