Secure, pluggable network prototype. TIN is designed for testability, auditability, and reproducible ops.
Status: demo/preview • single-node friendly • metrics-first • hardened systemd unit • ops bundle.
- 🧭 Deterministic epochs (default 5s in demo) with simple monetary schedule
- 🔒 Hardened systemd service + non-root user (
tin) - 📈 Prometheus metrics on
127.0.0.1:9470/metrics(job=tin) - 🚨 Ops bundle: Prom rules/alerts, Alertmanager wiring (local sink + Slack), mini Grafana
- 🧰 Support bundle + nightly backups (
/var/backups/tin/)
# 1) Install binary (from release bundle) and service
sudo install -D -m 0755 bin/tin /opt/tin/tin
sudo ln -sfn /opt/tin/tin /opt/tin/tin-stable
sudo install -D -m 0644 tin/tin.service /etc/systemd/system/tin.service
sudo systemctl daemon-reload && sudo systemctl enable --now tin
# 2) Confirm node + metrics
curl -s -o /dev/null -w "metrics=%{http_code}\n" 127.0.0.1:9470/metrics
curl -sG 'http://127.0.0.1:9090/api/v1/query' --data-urlencode 'query=up{job="tin"}' | jq .
# 3) (Optional) Seeds
echo '/ip4/127.0.0.1/tcp/9777/p2p/SEED' | sudo tee /etc/tin/seeds.list
sudo systemctl restart tin
ExecStart=/opt/tin/tin-stable run --epoch-secs 5 --bootstrap BOOTSTRAP --rpc-bind 127.0.0.1:9470
```bash
# === 3) ADD A MISSING CODE OF CONDUCT (short, practical) ===
cat > CODE_OF_CONDUCT.md <<'MD'
# Code of Conduct
We are committed to a welcoming, harassment-free project. Be respectful and assume good faith.
Unacceptable behavior includes harassment, discrimination, insults, and sustained disruption.
**Enforcement:** Report incidents to **coc@EXAMPLE.org**. Maintainers may warn, remove content, or restrict participation.
Inspired by the Contributor Covenant.