Add a browser version of the probe - #20
Merged
Merged
Conversation
A single self-contained page that runs the same checks against a live node and fills in the results as they resolve. No build step, no dependencies, deployable to GitHub Pages by pointing it at web/. It is a JavaScript reimplementation, not this binary — a browser cannot execute a Rust program — and the page says so in its first paragraph rather than implying otherwise. What it does share is the substance: the same request ids, the same five pipelined calls, per-step deadlines rather than per-frame, the same eight failure kinds, the same rule that an unprovable requirement fails rather than passes, and a report printed on failure too with absent fields omitted rather than nulled. Verified in Chrome against the live network: a clean Polkadot run (84 peers, block 32,265,733, 67 ms, three heads followed at +1 each), and a genesis mismatch against Kusama, which aborts before querying and marks the remaining steps unreached — matching the CLI. No console errors; both colour schemes checked. Connections go straight from the browser to the node named; nothing is proxied. A local dev node needs the file opened from disk, since a page on https cannot open ws:// to 127.0.0.1 — noted in the page and README. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A single self-contained page —
web/index.html— that runs the same checks against a live node from a browser, filling in results as they resolve. No build step, no dependencies; deployable by pointing GitHub Pages atweb/.What it is, and isn't
It's a JavaScript reimplementation, not this binary — a browser cannot execute a Rust program. The page says so in its first paragraph rather than implying otherwise.
What it does share is the substance:
chain_getBlockHash0, identity 1–4, subscribe 5/6, header 7)Verified in Chrome, against the live network
Clean Polkadot run — 84 peers, block 32,265,733, 67 ms round trip, three heads followed at +1 block each; all five checks pass and the JSON matches the CLI's shape field for field.
Genesis mismatch — pointed at Kusama while requiring Polkadot's hash: connect passes, chain identity fails with a
GENESIS_MISMATCHchip, and the remaining three steps are marked Not reached — mirroring the CLI, which aborts before querying a node on the wrong chain.No console errors. Both colour schemes checked.
Notes
Connections go straight from the browser to the node named — nothing is proxied, no data leaves the machine. A page served over
httpscan't openws://to127.0.0.1(mixed content), so probing a local dev node means opening the file from disk or using the CLI; that's called out both in the page and the README.No Rust changed. 28 tests + 1 ignored still pass.
🤖 Generated with Claude Code