50bd396c2b98872c898690347a0115349e45fcaf
- Caddy HTTPS static file server config - Tor hidden service (V3 onion) for anonymous access - Bootstrap generation script (blk0001.dat + txleveldb + database) - Dropbox upload script - Systemd services (tor-bootstrap, caddy) - Operator guide and verification script
TRI Bootstrap Server
Self-hosted bootstrap server for the Triangles (TRI) cryptocurrency network.
Serves blockchain bootstrap archives over both clearnet (HTTPS) and Tor onion, enabling new nodes to sync quickly without downloading 2M+ blocks from peers.
What is a Bootstrap Server?
When a new Triangles node starts with no chain data, it needs a trusted source of truth. Rather than syncing from random peers (which might be on a minority/forked chain), the node downloads a signed, known-good blockchain snapshot from a trusted bootstrap URL.
This server provides:
- HTTPS endpoint — for nodes on clearnet
- Tor onion endpoint — for nodes that prefer or require Tor anonymity
Architecture
┌─────────────────────────────────────┐
│ Bootstrap Server │
│ (your server, e.g. DNS2) │
│ │
New TRI Node ─────►│ Caddy (HTTPS :443) ───► static │
(clearnet) │ │ │
│ Tor HS (:80) ──────► same static │
│ │ │
└─────────│───────────────────────────┘
│
Triangles Bootstrap Archive
(blk0001.dat + txleveldb + database/)
Quick Start
1. Clone / Download This Repo
git clone https://github.com/SamiAhmed7777/tri-bootstrap-server.git
cd tri-bootstrap-server
2. Configure Environment
cp .env.example .env
# Edit .env with your settings
Key variables:
BOOTSTRAP_DIR— where bootstrap archives are storedTOR_HS_PORT— internal port for Tor hidden service (default: 80)CUDDLE_DOMAIN— your domain (e.g.bootstrap.cryptographic-triangles.org)
3. Run
# Using the setup script
sudo ./scripts/setup.sh
# Or manually:
sudo cp tor/torrc /etc/tor/tri-bootstrap/torrc
sudo systemctl enable --now tor@tri-bootstrap
sudo cp systemd/tri-bootstrap-caddy.service /etc/systemd/system/
sudo systemctl enable --now tri-bootstrap-caddy
4. Generate Your First Bootstrap
# On a trusted, synced TRI node:
./scripts/generate-bootstrap.sh /path/to/.triangles
# Upload the archive to your server:
scp triangles-bootstrap.tar.gz user@your-server:/opt/triangles-bootstrap/
Scripts
| Script | Purpose |
|---|---|
generate-bootstrap.sh |
Creates a triangles-bootstrap.tar.gz from a running node's chain data |
publish-bootstrap.sh |
Uploads to Dropbox (optional bridge) |
verify-bootstrap.sh |
Verifies archive integrity and chain hash |
Tor Onion Setup
The server automatically creates a Tor hidden service. The .onion address is stored in:
/var/lib/tor/tri-bootstrap/hostname
Share this address with nodes that need Tor-only connectivity.
For Node Operators
In your TRI node's triangles.conf:
# Use this bootstrap server
bootstrap=https://bootstrap.your-domain.com/triangles-bootstrap.tar.gz
# Or via Tor (replace with your server's onion address)
bootstrap=http://your-onion-address.onion/triangles-bootstrap.tar.gz
Repo Structure
tri-bootstrap-server/
├── README.md
├── LICENSE
├── .env.example
├── caddy/
│ └── Caddyfile.template
├── tor/
│ └── torrc.template
├── scripts/
│ ├── setup.sh
│ ├── generate-bootstrap.sh
│ ├── publish-bootstrap.sh
│ └── verify-bootstrap.sh
├── systemd/
│ ├── tor-bootstrap.service
│ └── tri-bootstrap-caddy.service
└── docs/
├── bootstrap-format.md
└── operator-guide.md
Security Notes
- The bootstrap archive contains the blockchain up to a point in time — it is NOT a wallet and contains no keys
- Always generate bootstrap from a trusted, verified canonical node
- Verify the
bestblockhashof your bootstrap against known-good references before publishing - Tor hidden service provides anonymity for nodes that need it, but the clearnet HTTPS route is faster for most users
Description
Self-hosted bootstrap server for Triangles (TRI) cryptocurrency network. Serves blockchain snapshots over HTTPS and Tor onion.
Languages
Shell
100%