/**
* The pages Prometheus.X renders.
*
* Each export is `(req?) => {title, description, body}`. The server is the one
* that wraps them in the layout — these just return the inner content.
*
* The copy was lifted from site/prometheus/index.html (the ICANN teaser) and
* split by concern so each page is one topic a reader opened on purpose. The
* single-scroll version lives at silentmode.st/prometheus and will stay there
* as the SEO-friendly mirror.
*/
import { renderCategoriesGrid, countsByCategory } from './pages-browse.js';
import { countActive } from './db.js';
/**
* The "Browse by category" section used on the home page. Lives here so the
* home page's inline template reads cleanly, but delegates the actual grid to
* pages-browse.js so a single row of counts drives both surfaces.
*/
function renderHomeBrowseSection() {
const total = countActive();
return ` On a conventional store, one company decides which shelf an app
belongs on. Here the publisher labels their own listing, and your trust list
decides whether to show it. The categories below are the initial shape; a new
one gets proposed by publishing a listing against it. A home for apps, programs, dApps, and libraries — listed on the
Bitcoin Cash chain, hosted on Sia, endorsed by signature. Anyone can publish.
Nobody can gatekeep. Named for the one who gave fire to humans and did not ask
the gods first.Browse by category
APS1) is in
progress; in the meantime the site, the scanner, the publisher-signed
listing endpoint and the publishers' walkthrough are up. First real
listings appear in this grid as they publish.Prometheus.X
APS1
record to Bitcoin Cash — same protocol shape as a BNS name registration,
different prefix. The payload is a hash pointing at a full manifest stored
on Sia. Nobody approves the record; the transaction is the publish.Pick a name, host the binary, write the manifest, sign the listing, verify it resolves, ship an update when it's time. Here's the whole shape.
Publishing an app on Prometheus is a sequence of signed records pointing at files stored where you keep them. The whole thing — identity, hosting, the listing itself — is yours; nothing here grants anyone else permission to pull your app down, raise your price, or take a cut of what people pay you for it.
Steps are tagged available today or designed so it is clear what you can do now and what is waiting on the APS1 record format landing.
Any name registered through Sirius works. The name is what signs the listing, so it is also what readers trust the listing by. Fractions of a cent to register, no monthly bill.
Prometheus can host for you — upload here and we put it on Sia, signed and scanned. If you'd rather self-host on your own URL, the listing just records the URL and the hash and will fetch from wherever you say.
The private key for the BNS name. If the name is in a wallet you already use for Bitcoin Cash, that key already exists; publishing re-uses it.
One listing is one transaction. The transaction fee is cents, denominated in sats. During the free wave, that is the only cost. Later, a flat listing fee covers the Sia storage.
sha256, and the signing-cert fingerprint when
the binary itself is signed (it should be, if the platform supports it).
Icons are referenced by URL, not embedded. A 2 KB manifest with a 500 KB
icon beside it is the right shape; a 500 KB manifest is not.A listing is one signed record. An endorsement is another — a short on-chain statement from any name saying "I vouch for this app." Readers whose trust list includes the endorser's name will see your listing marked as endorsed by them; readers who do not follow that name will not. Endorsements are not reviews, and the client does not aggregate them into a star rating. They are statements: who said what, when, signed.
One Bitcoin Cash transaction. Fractions of a cent at current rates. Paid once, lives on chain.
Another transaction. Same shape, same cost. There is no "update bundle" discount because there is no central party to collect one.
Free during the opening wave while Prometheus underwrites the storage. Afterwards, a flat per-listing fee (planned around $1 at current rates) covers Sia storage for the typical binary. Your own HTTPS host costs what it costs you.
Zero to the directory. The reader pulls the binary from wherever the manifest points; Prometheus never meters the traffic.
APS1 record
format and the client-side browse/install flow are being wired. This page
describes the end state; the first live listings will go up as soon as the
submit path lands on this site and the Ariadne clients learn to read it.Signed listings on chain, scan reports attached, your trust list decides what to render.
${totalLabel}
${renderCategoriesGrid({ verbose: false })}Upload, scan, sign, publish. Four screens; your key stays with you.
Pick any file to send through the scanner. The upload is accepted, SHA-256'd, and either kept (clean) or discarded (infected or error). Nothing is published; this is just the scan step.
What this directory is not, and why.
A permissionless app directory earns the right to call itself permissionless by being honest about what that costs. Here is the shape of the trade.
Prometheus does not decide what is on it. Malware can be published — as it can on any store. The scan report tells your client to warn; the trust lists you subscribe to filter the view. If nobody you trust endorses it, your client says so.
Content that is illegal in your jurisdiction is your responsibility to avoid, same as any other permissionless network. Silent Mode operates infrastructure; it does not decide what runs on it.
Payments in an app go publisher-to-reader. The listing may carry a BCH receive address or a wallet-connect URL; Prometheus never routes a transaction. There is no refund desk because there is no middleman to issue a refund.
The only identity on Prometheus is the BNS name a listing is signed by. Readers decide which names count via their own trust lists. There is no Prometheus account, no "verified publisher" badge, no sign-in flow for readers.
Our ClamAV + VirusTotal pipeline runs on every binary we host. The signed report is attached to the listing. We cannot stop a listing from being on chain; we can tell readers what we found.
Silent Mode's Sia bucket. Operators can refuse to host something and require the publisher to self-host at their own URL. The listing still exists; the scan report says we did not host it.
What the Browse page shows first is a choice. We publish the sort order and let clients override it. The chain holds the data; the directory is one lens.
Three modes exist (append-only, scan-first-blocking, human-review). Operators pick which one is active per category. The current mode is always visible on this page; a change is announced before it takes effect.
Sia hosting is inexpensive but not free — publishers pay for the bytes their apps take. There is no advertising model, no data harvesting, no subscription. Storage is the only cost, and it is small. During the opening wave Silent Mode absorbs it; afterwards it is a flat per-listing fee paid in BCH.
Nothing lives at ${escapeHtml(req?.url || '')}.
Try the home page, the browse or the publishers' walkthrough.