diff --git a/dev/index.html b/dev/index.html new file mode 100644 index 00000000..ce0893a4 --- /dev/null +++ b/dev/index.html @@ -0,0 +1,320 @@ + + + + + +Developers — Theseus.X + + + + + + + + + + + + + + + +
+
+ +
+

Theseus for developers

+

+ Everything you need to extend Theseus Navigator, or borrow its superpower — on-device + Bitcoin Cash Domain Name resolution — for whatever you are building. Theseus ships + Ariadne's Thread as a bundled plug-in; the same resolver can live + inside your app too. +

+
+ +
+ +
+

Resolve BNS names from your own code

+

The authoritative developer page is on Ariadne.X — the resolver is the Ariadne project. It + covers the BNS1 protocol in one page, the record types, a 60-line Node.js resolver you can + run as-is, and the pointers to every production implementation.

+
+
+

→ Resolve a BNS name from your own code

+

Protocol, record types, minimum resolver, reference implementations, public endpoints.

+ ariadne.x/dev +
+
+

→ Ariadne's Thread

+

What it is, how it works, system-wide mode, trust model.

+ ariadne.x/thread +
+
+

→ Protocol spec

+

The authoritative BNS1 specification on the forge.

+ PROTOCOL.md ↗ +
+
+
+ +
+

Add BNS to your own app

+

If you ship any kind of app with a browser surface — Electron, native, game launcher, mail + client — your users can resolve .bch, .x, .p2p as soon + as Ariadne's Thread is on the machine. Three paths:

+ +

Easiest — chain-install the Windows service

+

Bundle the Thread installer and run AriadneResolver-Setup.exe /S after your own + install finishes. Theseus does this today. The resolver registers an NRPT rule that only + affects BNS TLDs, so everything else on the machine is untouched.

+ +

JavaScript / Electron — import the resolver

+
import { resolveName } from
+  "https://code.silentmode.st/silentmode/ariadne/raw/branch/master/Argus/src/lib/resolver-web.js";
+
+const { records } = await resolveName("sirius.x");
+// records.s3 → "bns/sirius.x/"
+ +

Any language — HTTP API against a local Thread

+

If the Thread is installed, it exposes a local HTTP API on 127.0.0.1:4626:

+
GET /api/name/<name>
+GET /api/dns/<name>
+GET /health
+ +

Full embedding guide, platform coverage table, and the NSIS/Inno chain-install snippets + live on ariadne.x/dev/#embed.

+
+ +
+

Build an extension

+

Extensions are everyone's add-ons: published by any BCNR name holder, signed by that + name's wallet, verified on your users' devices before a byte runs. They are not plug-ins — + plug-ins are first-party and ship inside Theseus (see Plug-ins).

+ +

Publish an extension

+
    +
  1. Register a .x name on sirius.x.
  2. +
  3. Build your extension tarball — same manifest as Chrome extensions plus a Silent Mode + addon.json.
  4. +
  5. Upload it with PUT /api/ext, signed with the wallet that owns the name.
  6. +
  7. Theseus verifies the signature against the on-chain owner before installing. Updates work + the same way; your users' Theseus checks for a newer updates.json on your + own Sia bucket.
  8. +
+

Walk-through: theseus.x/extensions/publish.

+
+ +
+

Plug-ins (first-party)

+

Plug-ins are the few add-ons Silent Mode builds, signs with the operator key, and ships as + part of Theseus — Aegis wallet, Ariadne's Thread, Shield blocker. Users enable or disable + them from Settings › Plug-ins.

+

If you have an idea for one, open an issue on + silentmode/theseus first — the + plug-in surface is intentionally small and we triage proposals before accepting code.

+
+ +
+

Where everything lives

+ +
+ +
+ + + + + diff --git a/index.html b/index.html index 2cfeb339..b8175c49 100644 --- a/index.html +++ b/index.html @@ -204,6 +204,7 @@ Plug-ins Extensions + Developers Sirius.X Get Theseus