/** * Who made this, and how to say thanks. * * The QR is **generated in the browser from the same string the page prints**, * never shipped as an image. A supplied PNG and the text beneath it are two * independent claims about where money should go, and nothing on the page could * tell you if they ever stopped agreeing — a mismatch sends funds somewhere * unrecoverable. Generated, they cannot disagree: there is one address, and the * code is a rendering of it. */ import qrcode from 'qrcode-generator' import robPortrait from '../assets/rob.png' /** Where donations go. Also the string the QR is built from — see above. */ export const DONATION_ADDRESS = 'qzkQq9ybiPm7gQR9E1ViQbW9RhqA2Rex9ZQkScU5zdJqjrre4' const MINER_REPO = 'https://git.lair.cafe/blackbeard/miner' const OBSERVER_REPO = 'https://git.lair.cafe/blackbeard/observer' const AUTHOR_NAME = 'Rob Thijssen' const AUTHOR_SITE = 'https://rob.tn' /** * The address as a QR, drawn as one SVG path. * * Error-correction level `M` and an automatic version: the address is 49 * characters, which fits comfortably and leaves the code readable at the size * a phone is held from a screen. Rendered as a single path of rectangles rather * than a grid of elements — one node instead of a thousand, and it scales to * whatever box the layout gives it. */ function AddressQr({ value }: { value: string }) { const qr = qrcode(0, 'M') qr.addData(value) qr.make() const count = qr.getModuleCount() // A four-module quiet zone, which the spec requires and scanners rely on. const quiet = 4 const size = count + quiet * 2 let path = '' for (let row = 0; row < count; row += 1) { for (let col = 0; col < count; col += 1) { if (qr.isDark(row, col)) { path += `M${col + quiet} ${row + quiet}h1v1h-1z` } } } return ( {/* The light modules are drawn, not left transparent: a QR on a dark surface with a transparent background does not scan, and this site has a dark theme. */} ) } export function AboutPanel() { return ( <>

About

who made this

blackbeard.observer is a mining leaderboard and block explorer for the Quantus network. It is built and its source provided freely by a member of the Quantus user community — not by the Quantus project, and with no standing behind it beyond the code being open and the numbers being checkable.

The same author maintains a{' '} CUDA performance-optimised miner , also free and open source. Between them they are the reason a good deal of this site exists: a miner needs somewhere to see whether it is winning.

Everything the observer shows is derived from public block headers, chain state and the network's own telemetry feed. The code that derives it is at{' '} git.lair.cafe/blackbeard/observer , so any figure here can be traced to the read that produced it.

{/* Imported rather than served from `public/`: Vite hashes it by content, so a replaced photograph invalidates its own cache instead of being served stale from behind a year-long max-age. */} {AUTHOR_NAME}

Donations

entirely optional

If the observer or the miner have been useful and you are inclined, donations toward development, maintenance and hosting are gratefully accepted in QTC at:

{DONATION_ADDRESS}

Nothing here is gated behind it, and nothing about the site changes if you do. The code above is generated in your browser from the address printed beside it, so the two cannot drift apart — scan it or copy the text, whichever you trust more.

) }