c1d44cb027
- Raspberry Pi installer for Triangles cryptocurrency node - QEMU ARM emulation smoke tests (build/qemu-smoke.sh) - Backend API (Flask app for node monitoring) - Frontend web UI (status dashboard) - Tor integration templates - systemd service files - Installation scripts
2.6 KiB
2.6 KiB
tri-pi Project Notes
tri-pi is the appliance wrapper around a separate triangles source checkout.
This repo should own:
- Raspberry Pi provisioning
- Tor hidden service setup
- local status UI and API
- systemd integration
- cross-build and QEMU validation glue
This repo should not own:
- Triangles protocol code
- wallet UI code
- consensus changes
Repository Boundary
Recommended local layout:
e:/repos/
├── triangles/
└── tri-pi/
Use triangles for building trianglesd itself.
Use tri-pi for packaging and operating that daemon on Raspberry Pi hardware.
Repository Layout
backend/— Python status API server (real RPC totrianglesd, systemctl health, Tor hostname)frontend/— Vanilla JS dashboard (auto-refresh, responsive grid)build/— ARM cross-build (build-arm.sh) and QEMU smoke test (qemu-smoke.sh)setup/— Pi installer (install.sh), Tor setup (configure-tor.sh), config generatorservices/— systemd units fortrianglesdandtripi-backendtor/— torrc template for v3 hidden serviceconfig/—triangles.conftemplate and backend env exampledocs/— architecture and development notes
Architectural Direction
The backend/frontend split is inspired by velxio, but the product scope is much smaller:
- no browser IDE
- no board simulator
- no multi-user platform features
- yes to reproducible local runtime orchestration
- yes to QEMU-backed validation of the Pi appliance
Install & Deploy Flow
- Cross-compile:
./build/build-arm.sh(needs../trianglessource checkout) - Install on Pi:
TRIANGLESD_BIN=build/output/trianglesd sudo ./setup/install.sh - Validate:
sudo ./build/qemu-smoke.sh(uses systemd-nspawn + qemu-user-static)
Key Paths (on Pi)
| What | Path |
|---|---|
| App prefix | /opt/tri-pi/ |
| Daemon config | /etc/triangles/triangles.conf |
| Daemon data | /var/lib/triangles/ |
| Backend env | /etc/default/tripi-backend |
| Tor hidden service | /var/lib/tor/tri-pi/ |
| Tor hostname file | /var/lib/tor/tri-pi/hostname |
Next Steps
- Run QEMU smoke test on a real ARM64 host to validate end-to-end.
- Decide whether releases ship prebuilt ARM binaries or build on device.
- Add first-boot provisioning hooks in
image/for SD card images. - Consider adding a lightweight health-check endpoint the dashboard can use for uptime monitoring.