tangle


git clone https://radroots.dev/git/tangle.git
Log | Files | Refs | README | LICENSE

commit 661d42d051a46dea0baa367ca48fa1e8d1695814
parent cc61bd2488ac1c4341bd02bdf1488fb3064a0c8d
Author: triesap <tyson@radroots.org>
Date:   Wed,  5 Aug 2026 21:00:51 +0000

docs: update README.md

Diffstat:
MREADME.md | 67++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 60 insertions(+), 7 deletions(-)

diff --git a/README.md b/README.md @@ -1,14 +1,67 @@ -# tangle +# Tangle -This is the README for `tangle` which is a Nostr relay designed for -collaborative farming and local food communities. +A Nostr relay for collaborative farming and local food communities. -## Copyright +**What it does:** Tangle is a multi-tenant Nostr relay that routes requests to tenants by hostname. Each tenant has its own relay URL, Pocket store, resource and rate limits, and optional NIP-29 groups. -Except as otherwise noted, all files in the `tangle` distribution are +**[Getting started](#getting-started)** +| [Docs](https://radroots.dev/docs) +| [Config](config/) +| [Releases](https://radroots.dev/downloads/) +| [License](#license) - Copyright (c) 2026 Tyson Lupul +## Getting started + +Install [Rust](https://rustup.rs/) and Git. The repository uses the toolchain pinned in [`rust-toolchain.toml`](rust-toolchain.toml). + +```sh +git clone https://radroots.dev/git/tangle.git && cd tangle + +cargo check --workspace --locked +``` + +Copy the host and tenant config files: + +```sh +mkdir -p runtime/tenants + +cp config/tangle.host.example.json runtime/tangle.host.json +cp config/tenants/farmers_market.example.json runtime/tenants/farmers-market.json +``` + +Run the relay: + +```sh +cargo run -p tangle -- config validate --config "runtime/tangle.host.json" +cargo run -p tangle -- tenant list --config "runtime/tangle.host.json" +cargo run -p tangle -- run --config "runtime/tangle.host.json" +``` + +Check readiness and the tenant's NIP-11 document: + +```sh +curl http://localhost:7070/.well-known/tangle/ready + +curl --header 'Accept: application/nostr+json' --header 'Host: relay.radroots.test' http://localhost:7000/ +``` + +## Protocol support + +- **All tenants:** [NIP-01](https://github.com/nostr-protocol/nips/blob/master/01.md), [NIP-11](https://github.com/nostr-protocol/nips/blob/master/11.md), [NIP-42](https://github.com/nostr-protocol/nips/blob/master/42.md), [NIP-45](https://github.com/nostr-protocol/nips/blob/master/45.md), and [NIP-70](https://github.com/nostr-protocol/nips/blob/master/70.md) +- **Group-enabled tenants:** [NIP-29](https://github.com/nostr-protocol/nips/blob/master/29.md) + +## Status + +Tangle is under active development. Interfaces and configuration may change. + +## Acknowledgements 👋 + +Tangle is a _mashup_ of: +- `chorus` https://github.com/mikedilger/chorus +- `zooid` https://gitea.coracle.social/coracle/zooid + +Thanks to [Mike](https://github.com/mikedilger) and [Jon](https://github.com/staab) for creating and open-sourcing these projects. ## License -This repository is licensed under AGPL-3.0-or-later. See LICENSE. +This repository is licensed under `AGPL-3.0-or-later`. See [LICENSE](LICENSE).