/live on Devnet 3 (Josh's word through main, 7 October 2026): /api/live reads the dn3_ tables by default (dn3_live_blocks, dn3_live_state, dn3_live_events, dn3_live_checkpoints, dn3_live_proofs: the igneum-observer-dn3 unit on build-1 writes them to the same Neon database; LIVE_TABLE_PREFIX still overrides, an empty value reads the first devnet's), and the page's devnet pill names igneum-devnet-3 and chain id 4463; nothing else on the site changes. The observer's RPC ports are loopback on build-1 and ufw opens only the p2p port 26651, so the feed stays on Neon; the page shows no observer address. Deployed site-only from the box by the build-server lane after the first finality lock

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-josh 2026-10-07 19:19:02 +01:00
parent 9ab30a2163
commit f449119e94
2 changed files with 4 additions and 3 deletions

View file

@ -2,11 +2,12 @@
// {now, state (incl. height = chain block number), blocks (last 90 s, or ?window=N up to 1800, at most 1,800 blocks), miners (last 10 min), events (last 30), finality (checkpoints, newest lock),
// proving (activation and 10-minute counts; every chain block carries shards: [{i, state, prover, lag, payout}])}.
// Five queries, all on indexed columns. Cached one second at the edge.
// LIVE_TABLE_PREFIX (default empty) reads a test observer's tables (fintest_live_*, provtest_live_*) instead of the devnet's.
// LIVE_TABLE_PREFIX (default dn3_: Devnet 3, the igneum-observer-dn3 unit on build-1, chain id 4463, igneum-devnet-3, from
// 7 October 2026 evening on Josh's word) reads another observer's tables (empty = the first devnet's, fintest_live_*, provtest_live_*).
// Zero dependencies: Neon's HTTP SQL endpoint over Node's built-in fetch.
const STALE_AFTER_S = 30;
const T = (process.env.LIVE_TABLE_PREFIX || '').replace(/[^a-z0-9_]/gi, '');
const T = (process.env.LIVE_TABLE_PREFIX === undefined ? 'dn3_' : process.env.LIVE_TABLE_PREFIX).replace(/[^a-z0-9_]/gi, '');
function neon() {
const url = process.env.DATABASE_URL;

View file

@ -222,7 +222,7 @@ details.tablebar summary{display:flex;align-items:center}
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
<span class="word">IGNEUM</span>
</a>
<span class="devnet" id="nav-devnet" title="Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state">devnet</span></span>
<span class="devnet" id="nav-devnet" title="igneum-devnet-3, chain id 4463. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state">devnet</span></span>
<div class="nav-groups" id="nav-groups" role="list">
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" data-active aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>