Panoramica
Che cos’è e cosa non èMint Index è un archivio operativo lato server che raccoglie i metadati dei mint effettuati. La pagina legge il file: /develop/data/mint_index.json.
Non è un explorer on-chain. Non interroga la blockchain per ricostruire la storia: mostra solo ciò che è stato scritto nel JSON dal flusso di mint (es. dal tuo mint.js + endpoint di append/update).
È pensato per: audit rapido, ricerca di un certificato, copia di hash e tx, apertura PDF, accesso veloce alla pagina “Verifica”.
Indice rapido
Passaggi principali1) Da dove arrivano i dati
File e responsabilitàLa schermata carica il JSON con fetch("./data/mint_index.json") con cache-busting (parametro ?_=<timestamp>). Se il file non è leggibile o non esiste, la pagina non può mostrare risultati.
Campi tipici per voce
- ts: timestamp di inserimento/operazione
- status: 0 valid, 1 revoked, 2 superseded
- certificateId: identificatore umano (se presente)
- tokenId: id on-chain (bytes32)
- documentURI: tipicamente ipfs://CID
- documentHash: hash del PDF
- mintTxHash / setTxHash: tx usate
Perché è utile
- ti evita di “andare a memoria” quando devi ritrovare un mint;
- ti permette di copiare velocemente hash/tx per post, audit o assistenza;
- fa da ponte verso la pagina di verifica (prefill di cert o tokenId).
2) Filtri, ricerca e ordinamento
Uso operativoRicerca testuale “Cerca”
Filtra in tempo reale su più campi: certificateId, tokenId, txHash, documentHash, recipient, contract, ecc.
- Usa prefissi parziali (es. prime 10 cifre di un hash).
- Puoi incollare un tokenId o una txHash completa.
Ordinamento
- Più recenti → più vecchi: vista standard (operativa).
- Più vecchi → più recenti: utile per ricostruzioni storiche.
- Status: raggruppa per stato (audit rapido).
Suggerimento: tieni “Più recenti → più vecchi” quando lavori su attività in corso.
Chips di filtro stato
- Tutti: mostra tutte le voci (audit/ricerca).
- Valid: la vista operativa principale.
- Revoked: controllo revoche.
- Superseded: controllo sostituzioni.
3) Status (0/1/2)
Significato e usoVALID
Stato 0. Certificato considerato “attivo” nel tuo modello. È quello che normalmente vuoi vedere in una vista operativa.
REVOKED
Stato 1. Certificato revocato: non dovrebbe essere considerato valido. Tipicamente resta in elenco per audit e tracciabilità.
SUPERSEDED
Stato 2. Certificato sostituito da uno più recente. L’operatività “corrente” si sposta sul certificato sostitutivo (che trovi dalla pagina verifica).
N/A
Stato non riconosciuto o mancante. Di solito indica voci incomplete o formati non coerenti nel JSON.
Importante: qui lo status è quello registrato nel JSON. La fonte di verità “definitiva” resta la blockchain, che verifichi tramite la pagina “Verifica certificati”.
4) Tabella: lettura e azioni
Cosa puoi fare riga per rigaColonne principali
- Data (UTC): timestamp in formato ISO UTC (diagnosi eventi).
- Status: badge colorato + chainId.
- Certificate ID: l’id “umano” (se presente) + recipient abbreviato.
- TokenId: id on-chain (abbreviato) con pulsante “Copia”.
- Document: link “Apri PDF” (via gateway) + documentHash (abbreviato) con “Copia hash”.
- Tx: mintTx e setTx (copia rapida).
Azioni disponibili
- Apri PDF: apre il documento su gateway Pinata (se presente documentURI).
- Copia: tokenId / hash / txHash per incollarli in altri strumenti.
- Copia JSON: copia la riga completa (pretty JSON) per debug o supporto.
- Apri Verifica: porta alla pagina di verifica con link precompilato.
Nota sul gateway: la pagina trasforma ipfs://CID in https://<gateway>/ipfs/<CID>. Se il PDF non si apre, spesso è un problema di gateway o URI.
5) “Apri Verifica” (link precompilato)
Come funziona il prefillIl pulsante “Apri Verifica” costruisce un URL verso la pagina di verifica (variabile VERIFY_PAGE nel tuo JS). Se la riga ha certificateId viene usato quello: ?cert=.... Altrimenti usa il tokenId: ?tokenId=....
Quando usarlo: ogni volta che vuoi controllare stato e dati “veri” on-chain (incluso “sostituito da / sostituisce” e verifica hash PDF). Il Mint Index è la tua “rubrica”; la Verifica è la tua “fonte di verità”.
6) Problemi comuni
Diagnosi veloceErrore: impossibile leggere mint_index.json
- File non esistente (prima esecuzione) o path errato (INDEX_URL).
- Permessi server: la cartella /develop/data non è leggibile (403) o non scrivibile (non si aggiorna).
- .htaccess che blocca l’accesso a JSON nella cartella.
Test rapido: usa “Apri JSON” e verifica che il browser lo carichi senza 403/404.
La pagina mostra dati vecchi
- Il file non viene aggiornato dal flusso di mint (endpoint non chiamato o fallisce).
- Cache aggressiva (meno probabile perché usi cache-busting e meta no-cache).
- Il server scrive su un file diverso da quello letto (path relativi non allineati).
Controlla updatedAt nel JSON e confronta con l’ora del tuo ultimo mint.
Apri PDF non appare
- documentURI mancante o vuota.
- documentURI non in formato ipfs://.
- Gateway errato/non raggiungibile.
“Apri Verifica” non compare
- VERIFY_PAGE vuoto o non corretto.
- Mancano sia certificateId sia tokenId (riga incompleta).
In quel caso usa “Copia JSON” e guarda cosa manca nella voce.
Best practice operativa: usa chip “Valid” + ordinamento “Più recenti” durante lavoro quotidiano. Passa a “Tutti” o “Status” solo quando fai audit o debugging.