Chain Integrate

Guida • Verifica Certificato (LINK Desktop)

link condiviso → tokenId • lettura pubblica • verifica hash pepperati
Uso: Desktop

Cos’è e quando si usa

Questa pagina serve a verificare un certificato aprendo un link condiviso (tipicamente su desktop). Il link contiene il tokenId (bytes32) nella querystring.

Senza login
  • Leggi on-chain (pubblico) via RPC
  • Vedi stato/esito/date/documentHash/documentURI
  • Puoi fare “Verifica (OK/NO)” se inserisci i campi umani
Con login admin (opzionale)
  • Autofill campi da JSON protetti (qr_cert_details.php)
  • Abilita “Apri PDF” (nel tuo flusso è gated da sessione)

1) Come deve essere fatto il link condiviso

Il link deve contenere t (oppure tokenId) con un bytes32 valido: 0x + 64 caratteri esadecimali.

Esempio

Problemi tipici quando il link “non funziona”
- tokenId tagliato (manca una parte)
- tokenId non è bytes32 (lunghezza diversa)
- param sbagliato (t mancante)
- copiato con spazi o caratteri extra

2) Apertura pagina: cosa succede in automatico

3) “Leggi on-chain” (snapshot pubblico)

Questo step non richiede login. Serve a controllare: esistenza token, owner e dati principali registrati nel contratto.

3.1 Sequenza logica

3.2 Se token non esiste

3.3 Dati che vedrai in tabella

Nota sulle sostituzioni (“Apri certificato sostitutivo”)
Se il contratto risponde con supersededBy(tokenId)=0x... (non zero),
la pagina mostra:
- tokenId del sostituto
- link interno per aprire lo stesso viewer col token sostitutivo: ?t=NUOVO_TOKEN

4) Admin (opzionale): Connetti wallet + Firma e Login

Questo blocco è pensato per uso interno (desktop con wallet disponibile). Serve per: leggere JSON protetti e precompilare i campi umani, e per sbloccare “Apri PDF”.

4.1 Flusso

4.2 Cosa cambia dopo login

5) “Apri PDF” (solo dopo login)

Nel tuo codice attuale, “Apri PDF” è volutamente gated: funziona solo se: sei loggato e hai già letto on-chain (serve documentURI).

5.1 Requisiti

Tipi URI supportati
- ipfs://CID/path  -> convertito su gateway Pinata
- https://...       -> aperto diretto
- CID "nudo"        -> convertito su gateway (caso raro)

6) “Verifica (OK/NO)” (hash pepperati)

Questa è la verifica “forte”: confronta gli hash pepperati calcolati dal server con quelli registrati on-chain. Funziona bene quando hai almeno: Numero certificato (umano) + uno o più campi umani compilati.

6.1 Cosa devi inserire

6.2 Cosa succede quando premi “Verifica (OK/NO)”

Interpretazione “N/D”
N/D significa: campo non compilato → non verificato.
Quindi non “abbassa” il punteggio, semplicemente non entra nel confronto.

7) “Clear”

Checklist rapida (desktop)