Standalone static rebuild of the validator dashboard shown at https://infinitybloc.io/validators.
requirements.mddocuments the behavior and data contract derived from the live page and source repository.index.html,styles.css, andapp.jsimplement the standalone app.ifchecker/implements the Spring/Savanna instant finality readiness checker at/ifchecker/.netlify/functions/exposes live IF checker API routes through Netlify Functions.validation/ifchecker/latest.jsonstores the latest cached IF checker snapshot.scripts/validate_bps.pygeneratesvalidation/latest.jsonandvalidation/history.json.- The app tries local
validation/*.jsonfirst, then localdata/*.json. - CPU timing history is also merged from
https://infinitybloc.io/validation/history.jsonso benchmark data can continue coming from the original repo while its GitHub secret remains there. .github/workflows/validate.ymlrefreshes validation snapshots every 15 minutes and can also be run manually from GitHub Actions.
Serve the folder with any static HTTP server:
python3 -m http.server 4173Then open:
http://127.0.0.1:4173/
The app fetches JSON files over HTTP, so opening index.html directly from the filesystem may not work in all browsers.
The IF checker is served from:
/ifchecker/
It uses live API routes:
/api/networks
/api/readiness/testnet
/api/readiness/mainnet
The page first loads validation/ifchecker/latest.json so results are immediately visible on arrival. The scheduled validation workflow refreshes that snapshot, and the page can still run a live refresh through the API routes.
Readiness includes a public live P2P gate for scheduled BPs. A BP passes that gate only when its published BP metadata P2P endpoint completes an Antelope peer handshake on the expected Telos chain. Private host checks such as exact vote-threads = 4, finalizer key custody, relay vote propagation, and safety.dat protection remain operator-attested checks because public RPC and public P2P handshakes do not expose local node config.
The IF checker table also shows active standby BPs below a divider for operator visibility. Standby rows are checked for published API/P2P health, but scheduled finalizer readiness gates and top-level pass counts are based on the active schedule only.
For Netlify-parity local testing:
netlify dev --offline --port 8889Then open:
http://localhost:8889/ifchecker/