Hardhat

(Supportato a partire dalla versione IDE Remix v0.12.0 e Remixd v0.3.6)

Remixd e Hardhat

Nota: Se non si è mai usato remixd prima d’ora, leggi di più su di esso qui

Se remixd è in esecuzione localmente sul tuo dispositivo e la cartella condivisa è un progetto Hardhat, un plugin websocket aggiuntivo sarà in ascolto sulla porta 65522. Secondo la sua documentazione,

I progetti hardhat sono progetti npm con installato il pacchetto hardhat e un file hardhat.config.js o hardhat.config.ts.

Remixd cerca il file hardhat.config.js o hardhat.config.ts nella cartella condivisa e, se lo trova, esegue il processo websocket di Hardhat.

Il processo websocket di Hardhat è un plugin websocket simile a remixd e viene usato per eseguire azioni specifiche di Hardhat con l’IDE Remix.

Non ha bisogno di alcuna installazione separata, poiché viene fornito con il modulo [NPM remixd] (https://www.npmjs.com/package/@remix-project/remixd).

Abilitare la compilazione di Hardhat

Prerequisiti

Per utilizzare in modo efficiente la compilazione di Hardhat con l’IDE Remix:

  1. Hardhat deve essere installato localmente sul sistema https://hardhat.org/getting-started/#installation

  2. La cartella condivisa dovrebbe essere un progetto Hardhat contenente hardhat.config.js o hardhat.config.ts

  3. Il processo websocket di Hardhat per Remixd dovrebbe essere in esecuzione alla porta 65522

Come si usa

Se un progetto hardhat è condiviso tramite remixd e l’area di lavoro localhost è caricato nell’IDE Remix, nel plugin Solidity Compiler (Compilatore Solidity) sarà visualizzata una casella di controllo aggiuntiva con l’etichetta Enable Hardhat Compilation (abilita la compilazione Hardhat).

There is an info icon alongside the label which redirects to a specific section of Remix official documentation that explains how to use Hardhat compilation.

Si può selezionare la casella Enable Hardhat Compilation (Abilita la compilazione Hardhat) per eseguire la compilazione di Hardhat insieme a Remix usando la configurazione del compilatore nel plugin Solidity Compiler (Compilatore Solidity).

Cliccando sul pulsante Compile (Compila), viene creato un file dal nome remix-compiler.config.js nella radice del progetto, che memorizza la configurazione del compilatore impostata nel plugin Solidity Compiler (Compilatore Solidity) di Remix. Esso viene passato ad Hardhat per la compilazione.

Il risultato della compilazione sarà mostrato nel terminale dell’IDE Remix

ed anche nel terminale remixd.

Fornitore Hardhat

In Hardhat, i contratti vengono distribuiti avviando un nodo locale. Per saperne di più, consultare Documentazione di Hardhat

Il Hardhat Provider (Fornitore Hardhat) è un plugin dell’IDE Remix che consente agli utenti di distribuire il contratto sulla rete «localhost» di Hardhat. Questo può essere scelto dal menu a tendina ENVIRONMENT (AMBIENTE) del plugin Deploy and Run Transactions (Distribuisci e Avvia transazioni).

Non appena si seleziona Hardhat Provider (Fornitore Hardhat), si apre una finestra che chiede lo Hardhat JSON-RPC Endpoint(Endpoint JSON-RPC di Hardhat).

Se il nodo Hardhat è in esecuzione con le opzioni predefinite, il valore dell’endpoint predefinito nella maschera non necessita di modifiche. Se l’host e la porta del nodo Hardhat sono diversi, l’endpoint JSON-RPC deve essere aggiornato nella casella di testo.

Una volta inserito l’endpoint corretto nella maschera, è sufficiente cliccare su OK e gli account del nodo Hardhat verranno caricati nella sezione ACCOUNT. Inoltre verrà mostrato anche l’identificativo (id) della rete.

Ora, si può iniziare a distribuire il contratto dall’IDE Remix al nodo locale di Hardhat come di consueto.

console.log nell’IDE Remix

(Supportato a partire dalla versione IDE Remix v0.17.0)

L’IDE Remix supporta la libreria della console hardhat quando si utilizza Remix VM. Può essere utilizzata durante una transazione o l’esecuzione di test unitari.

Distribuzione ed esecuzione delle transazioni

Per provarlo, è necessario inserire una dichiarazione di import ed usare console.log per stampare il valore come mostrato nell’immagine.

Inoltre, una volta eseguito il metodo changeOwner, il valore della dichiarazione nella console verrà mostrato nel terminale di Remix dopo i dettagli della transazione, come indicato di seguito:

Unit test di Solidity

Allo stesso modo, console.log può essere usato durante l’esecuzione di test unitari usando il plugin Remix Solidity Unit Testing (Unit test di Remix per Solidity). Si veda l’immagine qui sotto.

Per i test che includono un messaggio di accesso, questo verrà visualizzato nel terminale Remix in corrispondenza del nome del test.