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:

  1. L’indirizzo di un contratto distribuito su una rete pubblica

  2. Lo stesso contratto compilato in Remix

  3. 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:

  1. Tagliare l’indirizzo del contratto di implementazione dalla casella Contract Address (Indirizzo del contratto).

  2. Fare clic sulla casella di controllo «È un indirizzo di contratto proxy».

  3. Incollare l’indirizzo del contratto di implementazione verificato nella casella Expected Implementation Address (Indirizzo di implementazione previsto).

  4. 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.