Fixes from real-world v5.5.0 ARM64 deployment:
- Use correct TRI ports (24112 P2P, 19199 RPC) not Bitcoin defaults
- Remove daemon=1 from config (breaks systemd)
- Include systemd service with -datadir=/root/.triangles
- bootstrap.sh auto-detects latest GitHub release
- Document manual scp when bootstrap server unreachable
- Add port table, alias tip, Tor self-management notes
- Reverted to docker/setup-qemu-action for ARM64 emulation
- Always fetches latest triangles_v5 version automatically
- No hardcoded versions in workflow
- Runs on ubuntu-latest (public GitHub Actions, no self-hosted required)
- Simpler, more reliable builds
- Standard ubuntu-latest runner + docker/setup-qemu-action
- Dockerfile.arm64 for reproducible builds
- Always fetches latest triangles_v5 version automatically
- No hardcoded version defaults in workflow
Bootstrap server: http://194.233.88.206:8085/
Blockchain file: triangles-bootstrap.tar.gz (1.3GB, from March 29)
Pis can now download pre-synced blockchain during installation!
New features:
- Enhanced bootstrap.sh with blockchain download option
- create-blockchain-snapshot.sh for creating compressed snapshots
- BOOTSTRAP.md documentation
Benefits for Raspberry Pi users:
- Download pre-synced blockchain (~500MB compressed)
- Skip days/weeks of initial sync
- Start mining immediately from latest block
- Interactive installer asks: bootstrap or sync from scratch
Snapshot creation:
- Safely stops daemon
- Excludes wallet.dat (security)
- Compresses to ~70% original size
- Includes checksums and metadata
TODO: Create first snapshot from DNS2 and host on GitHub releases
New lightweight installation method for Raspberry Pi:
- bootstrap.sh: Smart installer downloads UPX-compressed binary (1.6MB)
- Falls back to full package if GitHub release unavailable
- Auto-installs dependencies (tor, curl, upx-ucl)
- Generates secure config with random RPC password
- Enables Tor service automatically
Benefits vs full package:
- 68% smaller download (1.6MB vs 5.1MB)
- Faster setup on slow Pi connections
- Same final result as full install
Main package still uses uncompressed 5.1MB binary.
Bootstrap uses UPX version for initial download only.
- Connect build-arm64 to upstream watcher
- Use repository_dispatch trigger from watch-upstream
- Remove duplicate version checking
- Simplified workflow triggers
Now works as:
1. watch-upstream.yml checks every 6 hours for new releases
2. Triggers build-arm64.yml via repository_dispatch
3. Build creates release automatically
- Automatic ARM64 builds when new triangles_v5 releases detected
- Scheduled checks every 6 hours
- Manual dispatch for on-demand builds
- Creates GitHub releases with binaries
- Updates VERSION tracking
Build process:
- Uses Docker ARM64 (QEMU) for native builds
- Builds BerkeleyDB 4.8 from source
- Compiles trianglesd with full Tor integration
- Generates release packages with checksums
- Auto-commits and creates releases