feat(sirius-x): Sirius.X brand rebrand, banner star-divider, WC on portal
Three things from one review pass:
1. Rebrand text 'sirius.x' -> 'Sirius.X' as the brand style across all
sirius.x pages (titles, meta, nav wordmark, headings, prose, footer).
Also flipped the pantheon headings to Title.X form: Silentmode.X,
Sirius.X, Theseus.X, Hephaestus.X, Prometheus.X, Helios.X, Hermes.X.
Domain literals, URLs, and code samples stay lowercase (sirius.x is
the actual on-chain name; only prose changes). Logo/avatar SVG
wordmarks and aria-labels updated to match.
2. Banner (brand/banner.svg) redesigned around a centered layout:
'Sirius.X' wordmark above, the star's horizontal arm extended
edge-to-edge as a divider line, tagline lines below. Left tip at
(0,315), right tip at (1200,315) so the arm crosses the full 1200px
banner width; vertical body compact around center. Old layout had
the star crammed into the right half and the wordmark on the left.
3. WizardConnect wired up on portal.html:
- The 'Connect wallet' button now opens a real WC session via
wizardconnect.js, shows the WIZ:// URI (copyable) and waits for
the wallet to approve.
- Successful connection builds a wallet-shaped wrapper with
source: 'wc' and a WC session for signing; siriusProfile now
carries the source so the nav dropdown can differentiate.
- Record editor dispatches to setRecordsWithExternalWallet when
source === 'wc' (bundle already ships the adapter), else stays
on setRecordsWithBuiltInWallet.
- TLD Register submit is gated off for WC users with a tooltip —
no external-wallet variant of registerTld is exported yet, so
TLD mint still needs a built-in wallet.
- Sign-out disconnects the WC session before dropping the wallet.
- toTokenAddress used to derive the tokenAddress for WC users so
the 'Signed in' card shows both forms.
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Admin — sirius.x</title>
|
||||
<title>Admin — Sirius.X</title>
|
||||
<meta name="description" content="Sirius.x operator admin — mint TLDs, manage the registry, verify chain health. Operator-key gated.">
|
||||
<link rel="icon" href="../assets/favicon.svg" type="image/svg+xml">
|
||||
<link rel="mask-icon" href="../assets/favicon.svg" color="#d6ff3d">
|
||||
|
|
@ -80,7 +80,7 @@
|
|||
<body>
|
||||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="../">⭐ <span class="g">sirius.x</span></a>
|
||||
<a class="brand" href="../">⭐ <span class="g">Sirius.X</span></a>
|
||||
<a href="../#try">Try it</a>
|
||||
<a href="../docs/">📚 Docs</a>
|
||||
<a href="../theseus/">🧭 Theseus</a>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<!-- sirius.x — brightest-star favicon. Rounded dark square + 4-point sparkle
|
||||
<!-- Sirius.X — brightest-star favicon. Rounded dark square + 4-point sparkle
|
||||
in the Silent Mode acid green so it reads clearly at 16x16 tab-icon size
|
||||
while staying legible against both light and dark browser chromes. -->
|
||||
<rect width="64" height="64" rx="12" fill="#0b0e14"/>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 473 B After Width: | Height: | Size: 473 B |
|
|
@ -1,8 +1,8 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 64" role="img" aria-label="sirius.x">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 64" role="img" aria-label="Sirius.X">
|
||||
<path d="M32 12 L35.3 30.7 L54 34 L35.3 37.3 L32 56 L28.7 37.3 L10 34 L28.7 30.7 Z"
|
||||
fill="#d6ff3d"/>
|
||||
<text x="72" y="42" font-family="system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
||||
font-size="28" font-weight="600" fill="#e7eaf1" letter-spacing=".5">
|
||||
sirius<tspan fill="#d6ff3d">.x</tspan>
|
||||
Sirius<tspan fill="#d6ff3d">.X</tspan>
|
||||
</text>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 434 B After Width: | Height: | Size: 434 B |
|
|
@ -1,4 +1,4 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-label="sirius.x avatar">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-label="Sirius.X avatar">
|
||||
<!-- Square profile-picture avatar. Full-bleed dark background, single star
|
||||
centered and enlarged so it reads at 24px in a social feed. Corners are
|
||||
square (not rounded) so the platform can apply its own mask (Twitter,
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 579 B After Width: | Height: | Size: 579 B |
|
|
@ -1,37 +1,38 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 630" role="img" aria-label="sirius.x banner">
|
||||
<!-- 1200x630 = the OpenGraph / Twitter Card canonical size. Left half is the
|
||||
wordmark + tagline; right half is a large decorative star that survives
|
||||
aggressive cropping (Facebook, Slack and Discord all crop differently). -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 630" role="img" aria-label="Sirius.X banner">
|
||||
<!-- 1200x630 = the OpenGraph / Twitter Card canonical size. Centered
|
||||
layout: "Sirius.X" wordmark above; a horizontal divider that is the
|
||||
star's own horizontal arm, extended edge-to-edge; tagline below. -->
|
||||
<defs>
|
||||
<radialGradient id="glow" cx="70%" cy="50%" r="55%">
|
||||
<radialGradient id="glow" cx="50%" cy="55%" r="65%">
|
||||
<stop offset="0%" stop-color="#16202e"/>
|
||||
<stop offset="100%" stop-color="#0b0e14"/>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
<rect width="1200" height="630" fill="url(#glow)"/>
|
||||
|
||||
<!-- decorative giant star, right side -->
|
||||
<g opacity="0.95">
|
||||
<!-- 4-point star. The inner "waist" rectangle sits at x∈[885..915], y∈[300..330]:
|
||||
30x30, so vertical and horizontal arms taper at the same rate. An earlier
|
||||
100x30 waist made the vertical arms look bloated — see #brand review. -->
|
||||
<path d="M900 90 L915 300 L1160 315 L915 330 L900 540 L885 330 L640 315 L885 300 Z"
|
||||
<!-- The horizontal divider IS the star's horizontal arm. Left tip at (0,315),
|
||||
right tip at (1200,315), so the arm crosses the full banner width. The
|
||||
vertical arm is short and centered (top 230, bottom 400) so the star
|
||||
body reads as a compact 4-point mark sitting on the divider line. -->
|
||||
<path d="M600 230 L620 310 L1200 315 L620 320 L600 400 L580 320 L0 315 L580 310 Z"
|
||||
fill="#d6ff3d"/>
|
||||
</g>
|
||||
|
||||
<!-- wordmark, left column -->
|
||||
<g transform="translate(80, 250)">
|
||||
<text font-family="system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
||||
font-size="110" font-weight="700" fill="#e7eaf1" letter-spacing="-1">
|
||||
sirius<tspan fill="#d6ff3d">.x</tspan>
|
||||
<!-- Wordmark, centered above the divider -->
|
||||
<text x="600" y="185" text-anchor="middle"
|
||||
font-family="system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
||||
font-size="120" font-weight="700" fill="#e7eaf1" letter-spacing="-1">
|
||||
Sirius<tspan fill="#d6ff3d">.X</tspan>
|
||||
</text>
|
||||
<text y="70" font-family="system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
||||
font-size="30" font-weight="400" fill="#8b98a9">
|
||||
|
||||
<!-- Tagline, centered below the divider -->
|
||||
<text x="600" y="475" text-anchor="middle"
|
||||
font-family="system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
||||
font-size="34" font-weight="400" fill="#8b98a9">
|
||||
The home for names on Bitcoin Cash.
|
||||
</text>
|
||||
<text y="115" font-family="system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
||||
font-size="18" font-weight="500" fill="#5e6678" letter-spacing="1.5">
|
||||
<text x="600" y="525" text-anchor="middle"
|
||||
font-family="system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
||||
font-size="20" font-weight="500" fill="#5e6678" letter-spacing="4">
|
||||
REGISTER · RESOLVE · VERIFY
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.8 KiB |
|
|
@ -3,13 +3,13 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Brand — sirius.x</title>
|
||||
<meta name="description" content="sirius.x brand kit — logo, wordmark, avatar, banner, favicon, colour palette, and usage guidance. All assets served as SVG so they stay crisp at any size.">
|
||||
<title>Brand — Sirius.X</title>
|
||||
<meta name="description" content="Sirius.X brand kit — logo, wordmark, avatar, banner, favicon, colour palette, and usage guidance. All assets served as SVG so they stay crisp at any size.">
|
||||
<link rel="icon" href="./favicon.svg" type="image/svg+xml">
|
||||
<link rel="mask-icon" href="./favicon.svg" color="#d6ff3d">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="sirius.x">
|
||||
<meta property="og:title" content="sirius.x brand kit">
|
||||
<meta property="og:site_name" content="Sirius.X">
|
||||
<meta property="og:title" content="Sirius.X brand kit">
|
||||
<meta property="og:description" content="Logo, wordmark, avatar, banner, favicon, colour palette. All SVG, downloadable, MIT.">
|
||||
<meta property="og:url" content="https://silentmode.st/sirius-x/brand/">
|
||||
<meta property="og:image" content="https://silentmode.st/sirius-x/brand/banner.svg">
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
<body>
|
||||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="../">⭐ <span class="g">sirius.x</span></a>
|
||||
<a class="brand" href="../">⭐ <span class="g">Sirius.X</span></a>
|
||||
<a href="../#try">Try it</a>
|
||||
<a href="../docs/">📚 Docs</a>
|
||||
<a href="../theseus/">🧭 Theseus</a>
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
|
||||
<header class="hero">
|
||||
<div class="mark">🎨</div>
|
||||
<h1>sirius.x <span class="g">brand kit</span></h1>
|
||||
<h1>Sirius.X <span class="g">brand kit</span></h1>
|
||||
<p class="tag">Logo, wordmark, avatar, banner, favicon, and the colour palette. Every asset ships as
|
||||
SVG so it stays crisp at any size and reads correctly in light and dark contexts. Free to reuse
|
||||
with attribution.</p>
|
||||
|
|
@ -99,7 +99,7 @@
|
|||
|
||||
<section>
|
||||
<h2>Logo & wordmark</h2>
|
||||
<p class="lede">A 4-point sparkle star plus <b>sirius.x</b>, with the <code>.x</code> TLD picked out
|
||||
<p class="lede">A 4-point sparkle star plus <b>Sirius.X</b>, with the <code>.x</code> TLD picked out
|
||||
in acid green. The star alone works when you have no room for the wordmark; the full lockup is
|
||||
the default choice everywhere else.</p>
|
||||
<div class="grid">
|
||||
|
|
@ -143,7 +143,7 @@
|
|||
<div class="preview favicon"><img src="./favicon.svg" alt="sirius.x favicon"></div>
|
||||
<h3>Favicon <span class="meta">SVG · 64×64, 12px radius</span></h3>
|
||||
<p class="lede" style="margin-bottom:.6rem">Rounded browser-tab icon. Scales down to 16×16
|
||||
cleanly; used on every sirius.x page.</p>
|
||||
cleanly; used on every Sirius.X page.</p>
|
||||
<div class="row">
|
||||
<a class="btn acid" href="./favicon.svg" download>Download SVG</a>
|
||||
<a class="btn" href="./favicon.svg" target="_blank">Open</a>
|
||||
|
|
@ -169,7 +169,7 @@
|
|||
<section>
|
||||
<h2>Colour palette</h2>
|
||||
<p class="lede">Silent Mode family colours. Dark chromes are the default; acid green is the
|
||||
single accent that consistently signals "this is sirius.x".</p>
|
||||
single accent that consistently signals "this is Sirius.X".</p>
|
||||
<div class="swatches">
|
||||
<div class="sw"><div class="chip" style="background:#d6ff3d"></div><div class="info"><b>Acid</b>#d6ff3d — accent, links, active nav</div></div>
|
||||
<div class="sw"><div class="chip" style="background:#0b0e14"></div><div class="info"><b>Background</b>#0b0e14 — page canvas</div></div>
|
||||
|
|
@ -192,7 +192,7 @@
|
|||
<p style="margin:0;font-family:system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
|
||||
font-size:36px;font-weight:600;letter-spacing:-.5px">The quick brown fox</p>
|
||||
<p style="margin:.4rem 0 0;color:var(--mut);font-family:system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
|
||||
font-size:16px">jumps over the lazy dog · 0123456789 · sirius.x</p>
|
||||
font-size:16px">jumps over the lazy dog · 0123456789 · Sirius.X</p>
|
||||
<div class="meta" style="margin-top:12px">system-ui, -apple-system, Segoe UI, Roboto, sans-serif</div>
|
||||
</div>
|
||||
<div class="note">The wordmark's <code>.x</code> is a <code><tspan fill="#d6ff3d"></code> —
|
||||
|
|
@ -202,12 +202,12 @@
|
|||
|
||||
<section>
|
||||
<h2>Usage & licence</h2>
|
||||
<p class="lede">All assets are MIT. Reuse them for third-party tools that integrate with sirius.x
|
||||
<p class="lede">All assets are MIT. Reuse them for third-party tools that integrate with Sirius.X
|
||||
(wallets, indexers, explorers, blog posts about BCNR). Keep the star's proportions intact and
|
||||
don't recolour the acid to a similar-but-different green — palette drift is what makes brands
|
||||
look untrustworthy over time.</p>
|
||||
<ul style="color:var(--mut);font-size:14px;padding-left:1.2rem">
|
||||
<li><b style="color:var(--ink)">Do</b> use the mark to indicate "supports sirius.x" or "hosted on sirius.x".</li>
|
||||
<li><b style="color:var(--ink)">Do</b> use the mark to indicate "supports Sirius.X" or "hosted on Sirius.X".</li>
|
||||
<li><b style="color:var(--ink)">Do</b> shrink to the favicon at 16×16 — the SVG scales cleanly.</li>
|
||||
<li><b style="color:var(--ink)">Don't</b> imply endorsement of a specific product without asking.</li>
|
||||
<li><b style="color:var(--ink)">Don't</b> stretch, skew, or re-tint the star.</li>
|
||||
|
|
@ -217,7 +217,7 @@
|
|||
</div>
|
||||
|
||||
<footer>
|
||||
Brand kit for sirius.x ·
|
||||
Brand kit for Sirius.X ·
|
||||
<a href="../">back to sirius.x</a> ·
|
||||
<a href="https://silentmode.st/">silentmode.st</a>
|
||||
</footer>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 64" role="img" aria-label="sirius.x (monochrome)">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 64" role="img" aria-label="Sirius.X (monochrome)">
|
||||
<!-- Single-fill variant for print, embossing, one-colour merch. currentColor
|
||||
so the SVG inherits the surrounding text colour when inlined; pass
|
||||
style="color: #d6ff3d" to force the acid green. -->
|
||||
<g fill="currentColor">
|
||||
<path d="M32 12 L35.3 30.7 L54 34 L35.3 37.3 L32 56 L28.7 37.3 L10 34 L28.7 30.7 Z"/>
|
||||
<text x="72" y="42" font-family="system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
||||
font-size="28" font-weight="600" letter-spacing=".5">sirius.x</text>
|
||||
font-size="28" font-weight="600" letter-spacing=".5">Sirius.X</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 623 B After Width: | Height: | Size: 623 B |
|
|
@ -1,8 +1,8 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 64" role="img" aria-label="sirius.x">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 64" role="img" aria-label="Sirius.X">
|
||||
<path d="M32 12 L35.3 30.7 L54 34 L35.3 37.3 L32 56 L28.7 37.3 L10 34 L28.7 30.7 Z"
|
||||
fill="#d6ff3d"/>
|
||||
<text x="72" y="42" font-family="system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
||||
font-size="28" font-weight="600" fill="#e7eaf1" letter-spacing=".5">
|
||||
sirius<tspan fill="#d6ff3d">.x</tspan>
|
||||
Sirius<tspan fill="#d6ff3d">.X</tspan>
|
||||
</text>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 434 B After Width: | Height: | Size: 434 B |
|
|
@ -3,13 +3,13 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Docs — sirius.x</title>
|
||||
<title>Docs — Sirius.X</title>
|
||||
<meta name="description" content="How BCNR works: the TLD registry, name registration, records, resolver, and how to verify anything against the Bitcoin Cash chain.">
|
||||
<link rel="icon" href="../assets/favicon.svg" type="image/svg+xml">
|
||||
<link rel="mask-icon" href="../assets/favicon.svg" color="#d6ff3d">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="sirius.x">
|
||||
<meta property="og:title" content="sirius.x docs — how BCNR works">
|
||||
<meta property="og:site_name" content="Sirius.X">
|
||||
<meta property="og:title" content="Sirius.X docs — how BCNR works">
|
||||
<meta property="og:description" content="The TLD registry, name registration, records, resolver, mainnet pricing, and how to verify anything against the chain.">
|
||||
<meta property="og:url" content="https://silentmode.st/sirius-x/docs/">
|
||||
<meta property="og:image" content="https://silentmode.st/sirius-x/brand/banner.svg">
|
||||
|
|
@ -80,7 +80,7 @@
|
|||
<body>
|
||||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="../">⭐ <span class="g">sirius.x</span></a>
|
||||
<a class="brand" href="../">⭐ <span class="g">Sirius.X</span></a>
|
||||
<a href="../#try">Try it</a>
|
||||
<a href="./" class="here">📚 Docs</a>
|
||||
<a href="../theseus/">🧭 Theseus</a>
|
||||
|
|
@ -93,7 +93,7 @@
|
|||
|
||||
<header class="hero">
|
||||
<div class="mark">📚</div>
|
||||
<h1>sirius.x <span class="g">docs</span></h1>
|
||||
<h1>Sirius.X <span class="g">docs</span></h1>
|
||||
<p class="tag">How the pieces fit together: the TLD registry, name registration, records that
|
||||
tell the resolver where a site lives, the resolver itself, and how anyone can verify anything
|
||||
against the chain.</p>
|
||||
|
|
@ -208,7 +208,7 @@ node Argus/src/update.js myname.x '{"s3":"bns/myname/"}'</pre>
|
|||
node Argus/src/update.js myname.x '{"ip":"1.2.3.4","tls":"<sha256-of-leaf-cert>"}'</pre>
|
||||
|
||||
<h3>Pattern C — Dual host (Sia primary, VPS mirror)</h3>
|
||||
<p class="lede">What sirius.x itself uses. Sia is the chain-authoritative source (survives
|
||||
<p class="lede">What Sirius.X itself uses. Sia is the chain-authoritative source (survives
|
||||
if the VPS is down); the VPS serves the same content on <code>silentmode.st/<path></code>
|
||||
for users without a BCNR resolver installed. On the VPS side, extend the nginx vhost
|
||||
serving <code>silentmode.st</code> with a new <code>location</code> block that aliases
|
||||
|
|
@ -224,7 +224,7 @@ node Argus/src/update.js myname.x '{"ip":"1.2.3.4","tls":"<sha256-of-leaf-cer
|
|||
<code>https://myname.x/</code> via any BCNR resolver.</p>
|
||||
|
||||
<h3>The dual-host recipe, end to end</h3>
|
||||
<p class="lede">This is the exact sequence sirius.x itself uses on every publish. The
|
||||
<p class="lede">This is the exact sequence Sirius.X itself uses on every publish. The
|
||||
chain record stays constant; only file contents change, so no per-publish UPD is
|
||||
needed.</p>
|
||||
<ol class="steps">
|
||||
|
|
@ -423,7 +423,7 @@ process.exit(0);"</pre>
|
|||
</div>
|
||||
|
||||
<footer>
|
||||
Documentation for BCNR + the sirius.x stack ·
|
||||
Documentation for BCNR + the Sirius.X stack ·
|
||||
<a href="../">back to sirius.x</a> ·
|
||||
<a href="https://silentmode.st/tlds/">TLD registry snapshot</a> ·
|
||||
<a href="../register.html">register a name</a>
|
||||
|
|
|
|||
34
index.html
|
|
@ -3,21 +3,21 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>sirius.x — the home for names on Bitcoin Cash</title>
|
||||
<meta name="description" content="sirius.x is the operator-run entry point for BCNR: register a top-level domain, register a name under one, look up records, verify anything against the chain. Backed by Sia storage, mirrored on the operator's VPS, name published on the chain.">
|
||||
<title>Sirius.X — the home for names on Bitcoin Cash</title>
|
||||
<meta name="description" content="Sirius.X is the operator-run entry point for BCNR: register a top-level domain, register a name under one, look up records, verify anything against the chain. Backed by Sia storage, mirrored on the operator's VPS, name published on the chain.">
|
||||
<!-- sirius.x branding: SVG favicon at 16/32/any size (the star + dark rounded
|
||||
square scales cleanly); OpenGraph + Twitter Card so shared links preview
|
||||
with the right title, description, and mark. -->
|
||||
<link rel="icon" href="./assets/favicon.svg" type="image/svg+xml">
|
||||
<link rel="mask-icon" href="./assets/favicon.svg" color="#d6ff3d">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="sirius.x">
|
||||
<meta property="og:title" content="sirius.x — the home for names on Bitcoin Cash">
|
||||
<meta property="og:site_name" content="Sirius.X">
|
||||
<meta property="og:title" content="Sirius.X — the home for names on Bitcoin Cash">
|
||||
<meta property="og:description" content="Register a top-level domain, register a name under one, look up records, verify anything against the chain. Backed by Sia + VPS + on-chain.">
|
||||
<meta property="og:url" content="https://silentmode.st/sirius-x/">
|
||||
<meta property="og:image" content="https://silentmode.st/sirius-x/brand/banner.svg">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="sirius.x — the home for names on Bitcoin Cash">
|
||||
<meta name="twitter:title" content="Sirius.X — the home for names on Bitcoin Cash">
|
||||
<meta name="twitter:description" content="Register a TLD or a name, look up records, verify against the chain. Your keys, your names.">
|
||||
<style>
|
||||
:root{
|
||||
|
|
@ -91,7 +91,7 @@
|
|||
<body>
|
||||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="./">⭐ <span class="g">sirius.x</span></a>
|
||||
<a class="brand" href="./">⭐ <span class="g">Sirius.X</span></a>
|
||||
<a href="#try">Try it</a>
|
||||
<a href="./docs/">📚 Docs</a>
|
||||
<a href="./theseus/">🧭 Theseus</a>
|
||||
|
|
@ -106,7 +106,7 @@
|
|||
<header class="hero">
|
||||
<div class="mark">⭐</div>
|
||||
<h1>Names on the <span class="g">chain</span>.</h1>
|
||||
<p class="tag">sirius.x is the entry point for BCNR — Bitcoin Cash Name Registry.
|
||||
<p class="tag">Sirius.X is the entry point for BCNR — Bitcoin Cash Name Registry.
|
||||
Register a top-level domain, register a name under one, look up records,
|
||||
verify anything against the chain. Backed by Sia storage, mirrored on the
|
||||
operator's VPS, name published on chain — this page survives if any single
|
||||
|
|
@ -122,7 +122,7 @@
|
|||
<section id="try">
|
||||
<h2>Try it</h2>
|
||||
<p class="lede">Three things you can do right now. The registrar and TLD-registry UIs live at
|
||||
silentmode.st today; sirius.x is the canonical home and will consolidate them here.</p>
|
||||
silentmode.st today; Sirius.X is the canonical home and will consolidate them here.</p>
|
||||
<div class="grid">
|
||||
<div class="card">
|
||||
<h3><span class="dot d-chain"></span> Register a name</h3>
|
||||
|
|
@ -191,42 +191,42 @@
|
|||
resolver, plus the silentmode.st gateway for browsers without one.</p>
|
||||
<div class="grid">
|
||||
<div class="card">
|
||||
<h3><span class="dot d-chain"></span> ⛓️ silentmode.x</h3>
|
||||
<h3><span class="dot d-chain"></span> ⛓️ Silentmode.X</h3>
|
||||
<p>The project umbrella. Redirects to <code>silentmode.st</code> where every pillar
|
||||
has its own landing page + download hub.</p>
|
||||
<div class="cta"><a class="btn ghost" href="https://silentmode.st/bns/silentmode.x/" rel="noopener">Open →</a></div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3><span class="dot d-chain"></span> ⭐ sirius.x <span class="pill">you're here</span></h3>
|
||||
<h3><span class="dot d-chain"></span> ⭐ Sirius.X <span class="pill">you're here</span></h3>
|
||||
<p>Names on Bitcoin Cash — register, resolve, verify, manage. This site.</p>
|
||||
<div class="cta"><a class="btn ghost" href="./">Home →</a></div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3><span class="dot d-chain"></span> 🧭 theseus.x</h3>
|
||||
<h3><span class="dot d-chain"></span> 🧭 Theseus.X</h3>
|
||||
<p>The browser that speaks BCNR natively — Chromium build with the resolver baked in,
|
||||
no OS-level daemon or root-store install.</p>
|
||||
<div class="cta"><a class="btn ghost" href="./theseus/">Learn more →</a></div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3><span class="dot d-srv"></span> 🔥 hephaestus.x</h3>
|
||||
<h3><span class="dot d-srv"></span> 🔥 Hephaestus.X</h3>
|
||||
<p>The forge. Forgejo instance for the ecosystem's git repos, backed by BCH wallet
|
||||
auth. Sirius's own source lives here.</p>
|
||||
<div class="cta"><a class="btn ghost" href="https://code.silentmode.st/" rel="noopener">Open →</a></div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3><span class="dot d-sia"></span> 🔮 prometheus.x</h3>
|
||||
<h3><span class="dot d-sia"></span> 🔮 Prometheus.X</h3>
|
||||
<p>Fire from the chain. The project's foresight / experimentation layer.
|
||||
Redirects to <code>silentmode.st/prometheus/</code> today.</p>
|
||||
<div class="cta"><a class="btn ghost" href="https://silentmode.st/bns/prometheus.x/" rel="noopener">Open →</a></div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3><span class="dot d-sia"></span> ☀️ helios.x</h3>
|
||||
<h3><span class="dot d-sia"></span> ☀️ Helios.X</h3>
|
||||
<p>The public gaze. Analytics, dashboards, transparency reports.
|
||||
Redirects to <code>silentmode.st/helios/</code> today.</p>
|
||||
<div class="cta"><a class="btn ghost" href="https://silentmode.st/bns/helios.x/" rel="noopener">Open →</a></div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3><span class="dot d-srv"></span> ✉️ hermes.x</h3>
|
||||
<h3><span class="dot d-srv"></span> ✉️ Hermes.X</h3>
|
||||
<p>Messenger. Nostr-based messaging bound to a BCNR name via the <code>np</code>
|
||||
+ <code>nr</code> records. Redirects to <code>silentmode.st/hermes/</code>.</p>
|
||||
<div class="cta"><a class="btn ghost" href="https://silentmode.st/bns/hermes.x/" rel="noopener">Open →</a></div>
|
||||
|
|
@ -236,7 +236,7 @@
|
|||
|
||||
<section id="roadmap">
|
||||
<h2>What's coming</h2>
|
||||
<p class="lede">sirius.x consolidates docs and registration today; three larger pieces are on the roadmap.</p>
|
||||
<p class="lede">Sirius.X consolidates docs and registration today; three larger pieces are on the roadmap.</p>
|
||||
<div class="grid">
|
||||
<div class="card">
|
||||
<h3>Wallet & name portal <span class="pill soon">next</span></h3>
|
||||
|
|
@ -305,7 +305,7 @@ process.exit(0);"</pre>
|
|||
</div>
|
||||
|
||||
<footer>
|
||||
sirius.x — the Silent Mode name registry entry point ·
|
||||
Sirius.X — the Silent Mode name registry entry point ·
|
||||
<a href="https://silentmode.st/">silentmode.st</a> ·
|
||||
<a href="https://silentmode.st/tlds/">TLD registry</a> ·
|
||||
<a href="./register.html">register a name</a><br>
|
||||
|
|
|
|||
149
portal.html
|
|
@ -3,13 +3,13 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Portal — your names on sirius.x</title>
|
||||
<title>Portal — your names on Sirius.X</title>
|
||||
<meta name="description" content="Sign in with your Bitcoin Cash seed phrase to see every BCNR name your wallet holds and manage records. Your keys never leave the browser.">
|
||||
<link rel="icon" href="./assets/favicon.svg" type="image/svg+xml">
|
||||
<link rel="mask-icon" href="./assets/favicon.svg" color="#d6ff3d">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="sirius.x">
|
||||
<meta property="og:title" content="sirius.x portal — your BCNR names">
|
||||
<meta property="og:site_name" content="Sirius.X">
|
||||
<meta property="og:title" content="Sirius.X portal — your BCNR names">
|
||||
<meta property="og:description" content="Sign in with your seed phrase to see every name your wallet holds and manage records. Keys never leave the browser.">
|
||||
<meta property="og:url" content="https://silentmode.st/sirius-x/portal.html">
|
||||
<meta property="og:image" content="https://silentmode.st/sirius-x/brand/banner.svg">
|
||||
|
|
@ -112,7 +112,7 @@
|
|||
<body>
|
||||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="./">⭐ <span class="g">sirius.x</span></a>
|
||||
<a class="brand" href="./">⭐ <span class="g">Sirius.X</span></a>
|
||||
<a href="./#try">Try it</a>
|
||||
<a href="./docs/">📚 Docs</a>
|
||||
<a href="./theseus/">🧭 Theseus</a>
|
||||
|
|
@ -176,12 +176,20 @@
|
|||
<p>Use Cashonize 0.9+ or Paytaca via WizardConnect. The wallet signs record edits — the seed
|
||||
never touches this page.</p>
|
||||
<div class="row">
|
||||
<button class="btn ghost" id="wc-btn" disabled>WizardConnect
|
||||
<span class="badge b-warn" style="margin-left:6px">soon</span></button>
|
||||
<button class="btn acid" id="wc-btn">Connect wallet</button>
|
||||
</div>
|
||||
<p class="dim" style="margin-top:8px">Portal-side WizardConnect wiring is in progress; the
|
||||
<a href="./register.html">register.html</a> flow already ships the WizardConnect adapter, and
|
||||
the portal will reuse it.</p>
|
||||
<div id="wc-uri-box" class="hidden" style="margin-top:14px">
|
||||
<label>Open your wallet, scan or paste this URI, then approve the connection:</label>
|
||||
<div style="display:flex;gap:8px;align-items:center;margin-top:6px">
|
||||
<code id="wc-uri" style="flex:1;word-break:break-all;background:#0e131b;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-family:ui-monospace,monospace;font-size:12.5px;color:var(--ink)"></code>
|
||||
<button class="btn ghost" id="wc-copy" type="button">Copy</button>
|
||||
</div>
|
||||
<p class="dim" style="margin-top:8px">Waiting for your wallet…</p>
|
||||
<div class="row"><button class="btn ghost" id="wc-cancel" type="button">Cancel</button></div>
|
||||
</div>
|
||||
<div id="wc-err" class="err hidden"></div>
|
||||
<p class="dim" style="margin-top:8px">Record edits are approved on your device via the wallet's
|
||||
signing prompt. TLD registration still requires a built-in wallet for now.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="status" style="margin-top:14px">
|
||||
|
|
@ -302,6 +310,7 @@ function writeProfile(w) {
|
|||
localStorage.setItem("siriusProfile", JSON.stringify({
|
||||
address: w.address,
|
||||
tokenAddress: w.tokenAddress,
|
||||
source: w.source ?? "seed", // "seed" | "wc"
|
||||
signedInAt: Date.now(),
|
||||
}));
|
||||
} catch {}
|
||||
|
|
@ -377,7 +386,109 @@ $("new-signin-btn").addEventListener("click", async () => {
|
|||
await enterPortal();
|
||||
});
|
||||
|
||||
$("signout-btn").addEventListener("click", () => {
|
||||
// ---------- WizardConnect ----------
|
||||
// Ports the WC flow from register.html into a sign-in surface. The portal
|
||||
// doesn't need to mint — it only reads holdings and signs UPDs — so this is
|
||||
// simpler than the register flow: open a session, show the URI/QR, wait for
|
||||
// approval, wrap the returned addresses in a wallet-shaped object with a
|
||||
// `source: "wc"` flag so downstream code (record editor, sign-out) can
|
||||
// dispatch to the external-wallet path.
|
||||
$("wc-btn").addEventListener("click", async () => {
|
||||
const btn = $("wc-btn");
|
||||
const errBox = $("wc-err");
|
||||
const uriBox = $("wc-uri-box");
|
||||
errBox.classList.add("hidden");
|
||||
btn.disabled = true; btn.textContent = "Starting…";
|
||||
let session;
|
||||
try {
|
||||
const mod = await import("https://silentmode.st/js/wizardconnect.js");
|
||||
session = await mod.openWizardSession({
|
||||
dappName: BNS.REGISTRAR.wizardConnect.dappName,
|
||||
dappIcon: BNS.REGISTRAR.wizardConnect.dappIcon,
|
||||
prefix: BNS.REGISTRAR.addressPrefix,
|
||||
// libauth is only bundled once (in the main bundle); wizardconnect.js
|
||||
// needs these pubkey/hash helpers passed through.
|
||||
crypto: {
|
||||
pubkeyToAddress: BNS.pubkeyToAddress,
|
||||
pubkeyToLockingBytecode: BNS.pubkeyToLockingBytecode,
|
||||
binToHex: BNS.binToHex,
|
||||
txidOfHex: BNS.txidOfHex,
|
||||
},
|
||||
});
|
||||
} catch (e) {
|
||||
errBox.textContent = "Could not start WizardConnect: " + (e.message || e);
|
||||
errBox.classList.remove("hidden");
|
||||
btn.disabled = false; btn.textContent = "Connect wallet";
|
||||
return;
|
||||
}
|
||||
const uri = session.qrUri ?? session.uri;
|
||||
$("wc-uri").textContent = uri;
|
||||
uriBox.classList.remove("hidden");
|
||||
btn.textContent = "Waiting for wallet…";
|
||||
|
||||
try {
|
||||
await session.ready;
|
||||
} catch (e) {
|
||||
errBox.textContent = "Wallet did not approve: " + (e.message || e);
|
||||
errBox.classList.remove("hidden");
|
||||
uriBox.classList.add("hidden");
|
||||
btn.disabled = false; btn.textContent = "Connect wallet";
|
||||
try { await session.disconnect(); } catch {}
|
||||
return;
|
||||
}
|
||||
|
||||
let addresses;
|
||||
try { addresses = await session.getAddresses(); }
|
||||
catch (e) {
|
||||
errBox.textContent = "Wallet returned no addresses: " + (e.message || e);
|
||||
errBox.classList.remove("hidden");
|
||||
uriBox.classList.add("hidden");
|
||||
btn.disabled = false; btn.textContent = "Connect wallet";
|
||||
try { await session.disconnect(); } catch {}
|
||||
return;
|
||||
}
|
||||
if (!addresses?.length) {
|
||||
errBox.textContent = "The connected wallet exposed no addresses.";
|
||||
errBox.classList.remove("hidden");
|
||||
uriBox.classList.add("hidden");
|
||||
btn.disabled = false; btn.textContent = "Connect wallet";
|
||||
try { await session.disconnect(); } catch {}
|
||||
return;
|
||||
}
|
||||
|
||||
// Wallet-shaped wrapper — enough for holdings lookup and dispatching the
|
||||
// WC path in the record editor. External wallets don't expose keyFor(),
|
||||
// so any codepath that needs it (TLD mint via built-in path) is guarded
|
||||
// by `wallet.source !== "wc"`.
|
||||
wallet = {
|
||||
source: "wc",
|
||||
address: addresses[0],
|
||||
tokenAddress: BNS.toTokenAddress(addresses[0]),
|
||||
watchedAddresses: addresses,
|
||||
session,
|
||||
};
|
||||
writeProfile(wallet);
|
||||
uriBox.classList.add("hidden");
|
||||
btn.disabled = false; btn.textContent = "Connect wallet";
|
||||
await enterPortal();
|
||||
});
|
||||
|
||||
$("wc-cancel").addEventListener("click", async () => {
|
||||
if (wallet?.session) { try { await wallet.session.disconnect(); } catch {} }
|
||||
$("wc-uri-box").classList.add("hidden");
|
||||
$("wc-btn").disabled = false;
|
||||
$("wc-btn").textContent = "Connect wallet";
|
||||
});
|
||||
|
||||
$("wc-copy").addEventListener("click", () => {
|
||||
navigator.clipboard?.writeText($("wc-uri").textContent);
|
||||
});
|
||||
|
||||
$("signout-btn").addEventListener("click", async () => {
|
||||
// Close any live WC session before dropping the reference.
|
||||
if (wallet?.source === "wc" && wallet.session) {
|
||||
try { await wallet.session.disconnect(); } catch {}
|
||||
}
|
||||
wallet = null;
|
||||
clearProfile();
|
||||
$("me").classList.add("hidden");
|
||||
|
|
@ -389,6 +500,9 @@ $("signout-btn").addEventListener("click", () => {
|
|||
$("new-phrase").classList.add("hidden");
|
||||
$("new-ack").checked = false;
|
||||
$("new-signin-btn").disabled = true;
|
||||
// Reset the WC card too.
|
||||
$("wc-btn").disabled = false; $("wc-btn").textContent = "Connect wallet";
|
||||
$("wc-uri-box").classList.add("hidden");
|
||||
});
|
||||
|
||||
// ---------- ?mode= deep-link ----------
|
||||
|
|
@ -551,7 +665,12 @@ $("ed-save").addEventListener("click", async () => {
|
|||
try {
|
||||
el = await BNS.connect();
|
||||
push("connected to chipnet");
|
||||
const res = await BNS.setRecordsWithBuiltInWallet(el, {
|
||||
const res = wallet.source === "wc"
|
||||
? await BNS.setRecordsWithExternalWallet(el, {
|
||||
session: wallet.session, name: editorName, records,
|
||||
onProgress: (step) => push(step),
|
||||
})
|
||||
: await BNS.setRecordsWithBuiltInWallet(el, {
|
||||
wallet, name: editorName, records,
|
||||
onProgress: (step) => push(step),
|
||||
});
|
||||
|
|
@ -597,8 +716,14 @@ function validateTldLabel(label) {
|
|||
function updateTldButtons() {
|
||||
const label = $("tld-label").value.trim().toLowerCase();
|
||||
const valid = validateTldLabel(label);
|
||||
// TLD mint uses registerTldWithBuiltInWallet — no external-wallet variant
|
||||
// is exported yet, so WC-signed-in users can check availability but can't
|
||||
// submit. The label change explains why.
|
||||
const isWc = wallet?.source === "wc";
|
||||
$("tld-check").disabled = !valid || !wallet;
|
||||
$("tld-submit").disabled = !valid || !wallet;
|
||||
$("tld-submit").disabled = !valid || !wallet || isWc;
|
||||
if (isWc) $("tld-submit").title = "TLD registration via WizardConnect is not yet supported. Sign in with a built-in wallet to mint a TLD.";
|
||||
else $("tld-submit").removeAttribute("title");
|
||||
}
|
||||
|
||||
$("tld-label").addEventListener("input", () => {
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Register a name — sirius.x</title>
|
||||
<title>Register a name — Sirius.X</title>
|
||||
<meta name="description" content="Own a domain name on the Bitcoin Cash blockchain. Permanent, no renewal, censorship-resistant. Search availability, mint the name certificate to your own wallet, and pick decentralized hosting.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="sirius.x">
|
||||
<meta property="og:site_name" content="Sirius.X">
|
||||
<meta property="og:title" content="Register a name on Bitcoin Cash">
|
||||
<meta property="og:description" content="Search any label across every BCNR TLD. Mint a name certificate straight to your own wallet. No renewals, no registrar.">
|
||||
<meta property="og:url" content="https://silentmode.st/sirius-x/register.html">
|
||||
|
|
@ -158,7 +158,7 @@
|
|||
<body>
|
||||
|
||||
<nav class="topnav sirius">
|
||||
<a class="brand" href="./">⭐ <span class="g">sirius.x</span></a>
|
||||
<a class="brand" href="./">⭐ <span class="g">Sirius.X</span></a>
|
||||
<a href="./#try">Try it</a>
|
||||
<a href="./docs/">📚 Docs</a>
|
||||
<a href="./theseus/">🧭 Theseus</a>
|
||||
|
|
@ -254,7 +254,7 @@
|
|||
</div>
|
||||
|
||||
<footer>
|
||||
Register a name on <b>sirius.x</b> ·
|
||||
Register a name on <b>Sirius.X</b> ·
|
||||
<a href="./">back to sirius.x</a> ·
|
||||
<a href="./docs/">docs</a> ·
|
||||
<a href="./portal.html">portal</a><br>
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Theseus Navigator — the browser that speaks Bitcoin Cash names — sirius.x</title>
|
||||
<title>Theseus Navigator — the browser that speaks Bitcoin Cash names — Sirius.X</title>
|
||||
<meta name="description" content="Theseus Navigator is a Chromium-based browser with native .bch / BCNR name resolution built in — no OS-level daemon, no DNS shim, no root-store install. Download for Windows.">
|
||||
<link rel="icon" href="../assets/favicon.svg" type="image/svg+xml">
|
||||
<link rel="mask-icon" href="../assets/favicon.svg" color="#d6ff3d">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="sirius.x">
|
||||
<meta property="og:site_name" content="Sirius.X">
|
||||
<meta property="og:title" content="Theseus Navigator — the browser that speaks Bitcoin Cash names">
|
||||
<meta property="og:description" content="Native .bch and BCNR name resolution built into a Chromium browser. No OS-level daemon, no root-store install. Download for Windows.">
|
||||
<meta property="og:url" content="https://silentmode.st/sirius-x/theseus/">
|
||||
|
|
@ -80,7 +80,7 @@
|
|||
<body>
|
||||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="../">⭐ <span class="g">sirius.x</span></a>
|
||||
<a class="brand" href="../">⭐ <span class="g">Sirius.X</span></a>
|
||||
<a href="../#try">Try it</a>
|
||||
<a href="../docs/">📚 Docs</a>
|
||||
<a href="./" class="here">🧭 Theseus</a>
|
||||
|
|
@ -112,7 +112,7 @@
|
|||
<a class="btn acid" href="https://silentmode.st/bns/theseus.x/#download" rel="noopener">Open theseus.x downloads →</a>
|
||||
<a class="btn ghost" href="https://silentmode.st/bns/theseus.x/" rel="noopener">Full Theseus site</a>
|
||||
</div>
|
||||
<div class="note" style="margin-top:1.4rem"><b>Why not list versions here?</b> Theseus updates weekly; a hardcoded version on this page went stale within days last time. theseus.x is the single source of truth — its own operator ships the current build, and sirius.x links there instead of duplicating.</div>
|
||||
<div class="note" style="margin-top:1.4rem"><b>Why not list versions here?</b> Theseus updates weekly; a hardcoded version on this page went stale within days last time. theseus.x is the single source of truth — its own operator ships the current build, and Sirius.X links there instead of duplicating.</div>
|
||||
</section>
|
||||
|
||||
<section id="how">
|
||||
|
|
@ -163,7 +163,7 @@ sha256sum <downloaded-file>.exe</pre>
|
|||
</div>
|
||||
|
||||
<footer>
|
||||
Theseus Navigator on sirius.x ·
|
||||
Theseus Navigator on Sirius.X ·
|
||||
<a href="../">back to sirius.x</a> ·
|
||||
<a href="https://silentmode.st/tools/">Silent Mode Tools</a> ·
|
||||
<a href="https://silentmode.st/releases/">Release notes</a><br>
|
||||
|
|
|
|||