Chain Integrate

Guida • Verifica Certificato (QR)

QR → mobile • lettura pubblica • riepilogo pubblico
Uso: QR / Mobile / Desktop

Cos’è questa pagina

Questa pagina è la “verifica rapida” pensata per il QR. Il QR apre un link che include il tokenId (bytes32) nella querystring (tipicamente ?t=0x...).

Obiettivo
  • Mostrare uno snapshot on-chain (source of truth)
  • Mostrare un riepilogo pubblico “leggibile” (da JSON)
  • Gestire casi: inesistente / revocato / sostituito
Nota privacy
  • Il riepilogo può contenere dati mascherati (parziali)
  • La verifica hash completa (campi umani → hash) è su un’altra pagina

1) Come deve essere fatto il QR

Il QR deve puntare a un URL che include il tokenId in querystring con parametro t (oppure tokenId).

Esempio

Requisito tecnico: bytes32 valido
Formato accettato:
0x + 64 caratteri esadecimali

Esempio:
0x0123... (in totale 66 char)

2) Apertura da QR: cosa succede automaticamente

Se arrivi senza QR
Puoi incollare manualmente il tokenId nel campo
e premere “Carica riepilogo”.

3) “Carica riepilogo”: cosa fa davvero (ordine corretto)

Questo bottone fa due cose, in un ordine preciso: prima on-chain, poi JSON pubblico.

3.1 STEP A — Snapshot on-chain (source of truth)

3.2 STEP B — Riepilogo pubblico da JSON

Perché prima on-chain e poi JSON?
Perché lo stato “vero” (valido/revocato/sostituito)
e le relazioni (supersededBy) devono arrivare dalla chain.

Il JSON è “solo presentazione pubblica”:
leggibile, mascherato, comodo per l’utente.

4) Interpretare lo stato (pill in alto + badges)

La UI deriva dallo status on-chain. In pratica:

4.1 Cosa significa “Metadata Frozen”

5) Caso token sostituito: aprire il sostitutivo

Se il certificato è stato sostituito, il contratto può restituire un tokenId “nuovo” tramite supersededBy(tokenId).

Cosa vedi nella pagina

Nota importante
Se supersededBy è 0x00..00 (bytes32 zero),
la pagina mostra “Valido” nel campo “Sostituito da”.

6) Caso token inesistente (non mintato)

7) Sezione Explorer (Blockscout)

Per tokenId bytes32 spesso non c’è una pagina “instance” diretta. Qui hai due azioni:

Perché “Cerca tokenId” può non trovarti una pagina dedicata
Perché molti explorer gestiscono bene i tokenId numerici,
ma con bytes32 spesso devi passare dalla ricerca o dagli eventi.

8) “Clear”

Checklist rapida (mobile)