Node sales pages

A node benchmarks itself, publishes one JSON document, and gets a URL that sells it. There is no account: a write costs 22 bits of proof of work, about a second of one core.

The address

There is no program to install. The image is the program, and every tool the checks need is already built into it, so a run downloads test payloads and nothing else.

ghcr.io/yinyue123/hqnode:benchmark

Your container needs a /data disk. Everything the run keeps lives there, including the one key that can ever change the page again, and /data is the only thing a reinstall does not erase. Without one you publish once and can never edit it.

Two ways to get onto it, and they are the same operation.

1 · On the container's page

Reinstall… opens this. The tab that takes an address is an image of my own; the confirmation box wants the container's own name back.

Reinstall bench An image of my own The market An archive on this host Wipes /. /data is a separate disk and is kept. Image reference ghcr.io/yinyue123/hqnode:benchmark What it downloads counts against this container’s traffic — 42 MB. Type bench to confirm bench Cancel Reinstall, keep /data

A minute later the container is back on the benchmark image with the run already going — it starts itself on the first boot after an install, once, and never again on a machine that has already published a page.

2 · Or from a shell inside the container

reinstall is a command the container carries right now, before it becomes this image:

reinstall ref ghcr.io/yinyue123/hqnode:benchmark

Watch it, or come back in half an hour. The log's last line is the URL, and nq-shop show prints it at any time after that.

tail -f /data/nodequality/first-boot.log

Your prices, and changing them later

SSH into the container and you do not get a shell. You get the page's own editor: what it is called, what the plans are, what they cost and how somebody reaches you, asked one question at a time.

  Node report

  page     https://shop.hqno.de/r/m9Te5tPag6
  langs    ?lang=zh · en · fr · de
  state    published

  What you can change
   1  Node name   HKT Hong Kong residential node
   2  Tags        AS4760 HKT · PCCW IMS · Native IP · Residential
   3  Plans       1C / 1 GB ¥49 · 2C / 2 GB ¥89 · 4C / 4 GB ¥169
   4  Contacts    @nodedeck · sales@example.com · +852 5000 0000
   5  Hours       Daily 10:00-22:00 HKT · 5 minutes after payment
   6  Notes       the wording the page ships with
   7  Language    zh

  What to do
   p  save and publish  (in the background; closing SSH is fine)
   b  run the benchmark again  (20-50 minutes, a few GB)
   s  a shell
   q  quit

That address is a real page: the demo node, every section filled, in English, Chinese, French and German. It is what your own page will look like with your numbers in it.

Type a new value to change something; press Enter to keep what is there. That is the whole rule, at every prompt, and every answer is written to disk the moment you give it — there is no save step to forget. It also handles the three things the file underneath would otherwise teach you the hard way: prices are numbers so the yearly saving can be worked out, one answer fills all four languages, and a Telegram handle keeps its @ instead of being read as a lookup key.

p publishes. The measurements are not re-run and the URL does not change — the token is in /data, so the second publish lands on the first page. It runs in the background, detached from your SSH session, so you can close the terminal; log back in and the screen says how far the proof of work got.

Then turn the container off. The page lives here, not on your machine, so a stopped container costs you nothing and still has everything — your answers, your measurements, and the one key that can replace the page. Start it again when a price changes.

A published page

/r/<id>the page — add ?lang=zh en fr de to pick a language, or leave it and let the browser choose
/r/<id>.jsonthe document behind it: every number on the page, and where it came from