Verifica del Contratto
In Remix ci sono due servizi di verifica dei contratti, Sourcify ed Etherscan e la famiglia Etherscan estesa di esploratori di blocchi.
Sourcify
La documentazione di Sourcify si trova qui.
Etherscan
Il plugin di Etherscan si chiama: CONTRACT VERIFICATION - ETHERSCAN* (VERIFICA DEL CONTRATTO - ETHERSCAN).
È possibile accedervi dal Gestore dei Plugin.
Il plugin ha 3 pagine, la pagina *verification (verifica), la pagina receipts (ricevute) e la pagina settings (impostazioni).
Quando si accede al plugin per la prima volta, la pagina delle impostazioni viene caricata per l’inserimento della chiave API.
Chiave API Etherscan - pagina delle impostazioni
Etherscan è un esploratore di blocchi per la rete principale (mainnet) di Ethereum e fa l’esploratore di blocchi anche per altre catene.
Per le reti di test di Ethereum come Goerli o Sepolia, funziona la stessa chiave API.
Se si sta cercando di verificare su catene L2 come Optimism, è necessaria una chiave API diversa per il loro esploratore di blocchi. Non tutti gli esploratori di blocchi realizzati da Etherscan hanno le chiavi API. Il plugin Remix di Verifica Contratti - Etherscan funziona solo dove è possibile accedere a quell’esploratore di blocchi per ottenere la chiave API.
Una volta inserita la chiave API, si apre la pagina di verifica (la homepage).
Pagina di verifica
La rete NON è selezionata nel plugin Etherscan. La rete viene scelta nel plugin Distribuisci & Avvia e nel portafoglio del browser (se in uso).
I prerequisiti per la verifica sono:
L’indirizzo di un contratto distribuito su una rete pubblica
Lo stesso contratto compilato in Remix
I parametri del costruttore uguali a quelli utilizzati durante la distribuzione (se necessari)
Pagina delle ricevute
Le ricevute di verifica si trovano nella pagina delle ricevute.
Verifica con gli argomenti del costruttore
Quando un contratto ha gli argomenti nel costruttore, viene mostrata una casella di testo per inserire gli stessi input del costruttore del contratto distribuito.
Verifica di un contratto proxy
Prima di verificare un contratto proxy, il contratto di implementazione associato deve essere già verificato.
Solo per informazione, il contratto di implementazione è quello scritto o adattato da voi ed il proxy è, ad esempio, un ERC1967Proxy.
Non selezionare la casella del proxy quando si verifica l’implementazione. Poi, dopo aver verificato il contratto di implementazione:
Tagliare l’indirizzo del contratto di implementazione dalla casella Contract Address (Indirizzo del contratto).
Fare clic sulla casella di controllo «È un indirizzo di contratto proxy».
Incollare l’indirizzo del contratto di implementazione verificato nella casella Expected Implementation Address (Indirizzo di implementazione previsto).
Incolla l’indirizzo del contratto proxy nella casella Indirizzo del Contratto.
To explain this visually, verify the implementation contract:
Seleziona quindi la casella di controllo «È un contratto proxy» e taglia e incolla l’indirizzo di implementazione dall’indirizzo del contratto alla casella del contratto di implementazione:
E poi incolla l’indirizzo del contratto proxy nella casella Indirizzo del Contratto.
Generate Verification Scripts
Facendo clic su Genera Script di Verifica nella pagina di Verifica, verrà creata una cartella denominata etherscan nella cartella script dell’Area di lavoro, contenente i file .ts per la verifica e la restituzione dello stato di ricezione.