Development Update — 2026-08-22

by Jamie

Development Update — 2026-08-22

Share

Overview: Where Development Is Heading

Recent backend development is centered on maturing the chainWatch multi-chain monitoring system, with

Overview: Where Development Is Heading

Recent frontend development is centered on improving site discoverability and developer-facing tooling, with significant work refining sitemap functionality including mobile-responsive layouts, multi-locale prefixed variants, and dynamic JSON-LD localization for server-rendered pages, alongside the addition of a minimal MCP JSON-RPC server that exposes site search and sitemap access tools. The team is also maintaining core infrastructure alignment, with recent updates to official Monad testnet/mainnet chain data and configuration of secure, firewall-restricted Tailscale remote access for the project's MariaDB instance.

Project Direction — Both repos are converging on a stable, production-ready NFT marketplace. The backend is hardening core systems while the frontend improves architecture and user experience.

Backend Commits

e645ebf 2026-08-22 03:10:44
feat(chainWatch): import ERC-721/1155/404/6909 + record standard

3009349 2026-08-22 02:56:02
feat(chainWatch): track TX/collection stats and print on SIGINT

db831df 2026-08-22 02:49:37
perf(chainWatch): reuse per-chain client in importToken instead of re-dialing

216aec0 2026-08-22 02:35:52
fix(chainWatch): consume new-heads for ALL registered chains, not just 0-4

a9dcd18 2026-08-22 02:27:42
feat:
add popScore column to collections

26318e9 2026-08-22 02:24:30
fix(chainWatch): drop non-existent 'activity' column from collections UPDATE

e7c4edd 2026-08-22 02:20:01
feat(chainWatch): register all WS chains; store real chain ID + isListed=1

31ddb22 2026-08-22 02:14:11
fix:
allow NULL site_userid on watcher-imported collections

9020afc 2026-08-22 02:00:13
fix(chainWatch): fail loud on missing DB env; add env-sourcing launcher

128f716 2026-08-22 01:50:24
fix(chainWatch): use WebSocket RPCs for FLR/SGB so eth_subscribe works

8415650 2026-08-22 01:37:35
fix(chainWatch): source MySQL DSN from env instead of hard-coded creds

c9c26fa 2026-08-22 01:34:15
test(chainWatch): verify every WS chain RPC connects and streams live blocks

8f8cb79 2026-08-22 01:26:45
feat(chainWatch): register free public WebSocket RPCs for all chains.js chains

30fcae6 2026-08-22 01:17:03
feat(chainWatch): add Monad WS RPC + non-fatal RPC connection handling

5886570 2026-08-22 01:03:29
feat:
Etherscan V2 fetch client + per-chain explorerApi in chains.js

b2bf936 2026-08-22 00:20:10
refactor:
derive explorer registry from chains.js at runtime; add missing explorers

aa98c2a 2026-08-22 00:12:16
feat:
add Monad + Monad Testnet to fetch script explorer registry

dd7ad38 2026-08-22 00:09:09
refactor:
share rate limiter across fetch scripts; harden blockscoutFetcher

9bd9f04 2026-08-22 00:03:30
refactor:
make fetchAllContracts.mjs importable + CLI with self-tuning rate limiter

7447912 2026-08-21 23:52:43
docs:
add utils/ README describing each helper module

37bc67d 2026-08-21 23:50:03
sync chains.js with viri-nft-market/src/chains.ts

2b08d9c 2026-08-10 00:08:24
fix:
show plain/html as alternative inside signed PGP/MIME

e97908d 2026-08-10 00:07:04
fix:
ensure signed payload contains mail headers, not blank body

66aad0b 2026-08-10 00:04:35
fix:
wrap base64 at 76 chars and generate RFC-compliant Message-ID

9fb3a2e 2026-08-10 00:02:10
fix:
restore proper multipart/signed wrapper without forwarded text

Frontend Commits

3ca396c80 2026-08-20 17:09:39
chore:
update Monad testnet/mainnet chain data from official docs/RPC

09a7de22e 2026-08-20 01:18:56
feat:
expose mariadb on 0.0.0.0 with firewall allowlist for tailscale0 and lo

61d452d8a 2026-08-18 15:43:00
feat:
add minimal MCP JSON-RPC server at /mcp with site.search and sitemap.urls tools

f4d33326d 2026-08-18 14:10:09
feat:
add prefixed sitemap variants and duplicate index entries

aba03743b 2026-08-18 13:52:19
feat:
add sitemap index, XSL fallback, and dynamic JSON+LD localization

392f5a66c 2026-08-17 20:07:42
feat:
localize SSR meta tags and JSON-LD with English fallback

bb3264de1 2026-08-17 19:27:12
fix:
include centralized JSON-LD for locale-prefixed SSR pages

512e25892 2026-08-17 18:36:53
fix:
right-align mobile sitemap cell data beside floated labels

418a5d968 2026-08-17 18:30:21
fix:
right-align mobile sitemap cell data beside floated labels

f6a727e48 2026-08-17 18:25:29
fix:
align mobile sitemap languages with other cells and remove label gap

85dd9c3e5 2026-08-17 18:16:25
fix:
copy updated sitemap.xsl into dist/client so SSR serves current stylesheet

cff471c57 2026-08-17 17:49:49
fix:
prevent languages column from stretching on mobile sitemap

76afb8804 2026-08-17 17:45:31
chore:
regenerate sitemap.xml after mobile layout fix

c4cf6615d 2026-08-17 17:44:00
fix:
use orientation-aware card layout for sitemap on narrow/portrait screens

4a41e791e 2026-08-17 17:41:05
fix:
improve sitemap mobile layout with card-style rows under 720px

28dd09b41 2026-08-17 17:35:26
fix:
prevent sitemap page and timestamp overflow on mobile

120025311 2026-08-17 17:31:42
fix:
truncate last generated timestamp with ellipsis on mobile

582d6f366 2026-08-17 17:29:27
fix:
prevent lastmod timestamp overflow in mobile stats

6765d16e8 2026-08-17 17:28:33
fix:
improve sitemap.xsl mobile styling

3deb67292 2026-08-17 17:16:51
feat:
include all supported locales in sitemap generator

17efb3ae7 2026-08-17 17:14:32
fix:
remove duplicate style attribute in sitemap.xsl legend

95547d59d 2026-08-17 17:13:36
fix:
put xml declaration before stylesheet PI in sitemap.xml

e441e9324 2026-08-17 17:11:31
feat:
add sitemap XSLT and serve /sitemap.xsl

20c9c8a80 2026-08-17 02:17:40
feat:
add 10 new locales from top-15 world languages

666946315 2026-08-17 01:47:54
fix:
translate remaining untranslated strings in non-English locales