La credenziale non ha nemmeno avuto la possibilità di essere sbagliata.
Questa era la parte che mi era sfuggita all'inizio.
Ho incolpato il portafoglio. Poi il gas. Poi le mie stesse mani, onestamente, perché era tardi e avevo già cliccato attraverso lo stesso flusso di Sign abbastanza volte da sentire il vetro del telefono caldo contro il mio pollice. Lo schema sembrava normale. Il payload di attestazione sembrava normale. Dall'esterno era solo un altro percorso di emissione all'interno di Sign. Compila i campi. Invia il record. Fatto.
Tranne che non è mai arrivato a "fatto."
Nessuna attestazione. Nessun successo parziale. Nessun brutto stato intermedio da ispezionare dopo.
Solo un fermo brusco da qualche parte che non riuscivo ancora a vedere.
E su Sign, quel luogo nascosto può essere il gancio dello schema. I documenti di Sign sono espliciti qui: uno schema può contenere un ISPHook, e quel gancio può eseguire Solidity personalizzato quando un'attestazione viene creata o revocata. I costruttori possono usarlo per liste bianche, pagamenti, o qualsiasi logica personalizzata vogliano. Se il gancio torna indietro, l'intera chiamata di attestazione torna indietro con esso.
Questa è una superficie molto più grande di quanto sembri.
Perché ora il livello di evidenza sembra ancora semplice dall'esterno, schema, emittente, attestazione, verifica, mentre il vero sì o no potrebbe vivere in un contratto secondario di cui nessuno pensa fino a quando l'emissione inizia a morire lì. I documenti ti permettono persino di passare extraData nel gancio specificamente per quella logica, e quei dati extra non sono memorizzati onchain con l'attestazione stessa.
Quindi lo schema mantiene la faccia istituzionale pulita.
Il gancio decide se il record può esistere.
E una volta che ciò accade, "emissione di credenziali" inizia a suonare come il nome sbagliato per ciò che stai guardando. Su Sign, l'attestazione potrebbe essere l'artefatto visibile.
Il vero custode può essere il callback che aspetta dietro di esso.
#SignDigitalSovereignInfra $SIGN @SignOfficial $SIREN $M