Files
tri-pi/docs/ARCHITECTURE.md
T
Krystie c1d44cb027 Initial TRI-PI project import
- 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
2026-03-28 16:23:04 -07:00

2.1 KiB

tri-pi Architecture

Goal

Turn a Raspberry Pi into a headless Triangles node appliance with:

  • Tor hidden service exposure
  • safe defaults for staking
  • a local status surface
  • reproducible build and test workflows

High-Level Layout

+---------------- Raspberry Pi ----------------+
|                                              |
|  trianglesd <--> Tor <--> onion service      |
|      ^                                       |
|      | RPC                                   |
|      v                                       |
|   tri-pi backend <--> tri-pi frontend        |
|      ^                                       |
|      | systemd / file state                  |
|      v                                       |
| config, logs, backups, health checks         |
+----------------------------------------------+

Why This Mirrors velxio

The inspiration from velxio is structural rather than product-level:

  • keep runtime orchestration separate from the core executable
  • use a dedicated backend/frontend split
  • make local development reproducible
  • reserve QEMU for realistic target validation

tri-pi does not need a browser IDE, device simulator, or circuit canvas.

Main Components

Backend

The backend is the control plane for the appliance. It should:

  • read node state from trianglesd RPC
  • read service state from systemctl
  • surface onion address and health checks
  • serve a small local HTTP API

Frontend

The frontend is a local dashboard, not a wallet. It should show:

  • sync height
  • peer count
  • staking state
  • Tor hidden service address
  • service health and recent errors

Setup

Provisioning scripts install:

  • OS dependencies
  • Tor
  • config templates
  • systemd units
  • backend/frontend runtime files

Build

Build scripts support:

  • local development against ../triangles
  • ARM cross-builds
  • QEMU smoke tests against Raspberry Pi OS images

Boundaries

tri-pi should not:

  • carry protocol logic
  • fork trianglesd behavior
  • become a general wallet UI

It should remain an appliance layer around a separate daemon.