bdd28aa33df287026e7afb47a84aac80f00592e8
Add blockchain bootstrap support to dramatically speed up initial sync: New files: - setup/bootstrap.sh: Downloads and extracts blockchain snapshot from http://194.233.88.206/triangles-bootstrap.tar.gz (~1.3GB) - docs/BOOTSTRAP.md: Complete documentation on bootstrap process, time savings, security, and troubleshooting - build/test-bootstrap.sh: Bootstrap functionality tests Installer changes (setup/install.sh): - Automatically downloads bootstrap before starting trianglesd - Skips bootstrap if already applied (.bootstrapped marker) - Allows opt-out with BOOTSTRAP=no environment variable - Reports bootstrap status in installation summary Benefits: - Reduces initial sync from 2-5 days to 1-6 hours - Downloads 1.3GB instead of syncing 3GB over days - Still validates all blocks from bootstrap point forward - Safe: maintains full consensus rules Bootstrap server updated weekly (Sundays 4 AM) with fresh snapshots.
tri-pi
tri-pi is a Raspberry Pi appliance for running a Triangles (TRI) relay node over Tor.
Each Pi acts as a full network node, strengthening the Triangles network by:
- Relaying transactions across the network
- Relaying blocks to help other nodes sync
- Accepting incoming connections via Tor hidden service
- Operating entirely over Tor for privacy and decentralization
It is a separate project from the Triangles source tree. The daemon itself lives in a sibling checkout such as ../triangles, while tri-pi owns:
- Pi provisioning
- Tor hidden service setup
- systemd units
- health/status APIs
- a lightweight local dashboard
- cross-build and QEMU-based test helpers
Repository Layout
tri-pi/
├── backend/ # Local API and status collector
├── build/ # Cross-build and QEMU helper scripts
├── config/ # triangles.conf and backend env templates
├── docs/ # Architecture and workflow notes
├── frontend/ # Local status dashboard
├── image/ # Pi image customization placeholders
├── services/ # systemd unit files
├── setup/ # Provisioning scripts run on the Pi
└── tor/ # torrc templates and Tor helper material
Relationship To triangles
tri-pi does not vendor or modify the daemon source by default. It expects a separate checkout:
e:/repos/
├── triangles/
└── tri-pi/
That keeps the concerns clean:
triangles: wallet/node source, native builds, protocol changestri-pi: appliance packaging, deployment, monitoring, Tor, Pi UX
Current Scope
This scaffold includes:
- a minimal Python backend that exposes node status
- a static dashboard that polls the backend
- Pi install/build script placeholders
- systemd unit templates
- Tor and daemon config templates
It does not yet include:
- a production-ready installer
- real RPC authentication management
- image generation
- CI workflows
- automatic wallet unlock
Quick Start
Run the local backend:
python backend/app.py
Then open:
http://127.0.0.1:8080/
By default the backend serves the frontend from frontend/ and reports placeholder node data until a real trianglesd RPC endpoint is configured.
Next Steps
- Wire
backend/app.pyto the real Triangles RPC surface. - Flesh out
setup/install.shfor Raspberry Pi OS Bookworm. - Add QEMU-based integration tests under
build/. - Add release packaging for prebuilt ARM artifacts.
Description
Languages
Shell
100%