Remixd: Accedere al tuo filesystem locale

versione npm

Per dare all’IDE Remix (l’applicazione web) l’accesso a una cartella sul tuo computer, è necessario usare Remixd - il plugin con remixd - il modulo cli/npm.

Il plugin Remixd può essere attivato dal gestore dei plugin o da Esplora file - vedere l’immagine qui sotto. Il comando connect to localhost (connetti al localhost) attiverà il plugin Remixd.

Una volta cliccato su connect to localhost (connetti a localhost) o attivato Remixd dal Gestore di Plugin, si aprirà una finestra di dialogo:

Il plugin Remixd è un plugin websocket e non ha un’interfaccia utente se non questa finestra di dialogo - quindi non vedrete un’icona Remixd nel pannello delle icone.

Prima di premere Connect (Comnetti), è necessario installare il [modulo NPM remixd] (https://www.npmjs.com/package/@remix-project/remixd) ed eseguire il comando remixd.

Il codice di remixd è qui .

installazione di remixd

remixd è un modulo NPM e può essere installato globalmente con il seguente comando: npm install -g @remix-project/remixd`

Oppure installatelo semplicemente nella directory di vostra scelta, rimuovendo il flag -g: npm install @remix-project/remixd

NOTA: Quando il modulo NPM remixd viene installato, installa anche Slither, solc-select and sets solc alla versione più recente, per esempio, la 0.8.15 corrente.

ALSO NOTE: Python3.6+ (pip3) needs to already be installed on the System. (This packaging of Slither with the remixd module is supported since Remixd v0.6.3). In case of any discrepancy, Slither can also be installed along with other dependencies using command remixd -i slither

Trova la tua versione di remixd

Il comando: remixd -v o remixd --version restituirà il numero della tua versione.

**Se questo comando non funziona, avete una versione non aggiornata

Aggiornamento all’ultimo remixd

Poiché remixd crea un ponte dal browser al tuo filesystem locale, è importante disporre dell’ultima versione dello script.

Per gli utenti che hanno installato la versione di remixd da un indirizzo NPM MOLTO vecchio o per gli utenti che non sanno da quale indirizzo NPM l’hanno installata, eseguire questi 2 passaggi:

  1. disinstallare il vecchio: npm uninstall -g remixd

  2. installare il nuovo: npm install -g @remix-project/remixd

Per la maggioranza degli utenti che sanno di avere una versione di remixd installata da @remix-project/remixd, basta eseguire:

npm install -g @remix-project/remixd

comandi di remixd

Il comando remixd senza opzioni utilizza la directory corrente del terminale come directory condivisa e il dominio Remix condiviso sarà https://remix.ethereum.org, https://remix-alpha.ethereum.org o https://remix-beta.ethereum.org

Il comando remixd è:
remixd

Se si utilizza Remix da localhost o non si esegue il comando dalla propria directory di lavoro, è necessario utilizzare il comando con i flag.

opzioni di remixd

Usage: remixd [options]

Establish a two-way websocket connection between the local computer and Remix IDE for a folder

Options:
  -v, --version               output the version number
  -u, --remix-ide  <url>      URL of remix instance allowed to connect
  -s, --shared-folder <path>  Folder to share with Remix IDE (Default: CWD)
  -i, --install <name>        Module name to install locally (Supported: ["slither"])
  -r, --read-only             Treat shared folder as read-only (experimental)
  -h, --help                  output usage information

Example:

    remixd -s ./shared_project -u http://localhost:8080

NOTA: remixd -i slither può essere usato per installare Slither insieme alle sue dipendenze

HTTP vs HTTPS nel comando remixd

Se il browser è su https://remix.ethereum.org (secure http), usare https nel comando:
remixd -s <absolute-path-to-the-shared-folder> --remix-ide https://remix.ethereum.org

Oppure, se si usa http nel browser, usare http nel comando remixd.

Permessi di lettura/scrittura & Modalità di sola lettura

La cartella viene condivisa utilizzando una connessione websocket tra l”IDE Remix e remixd.

Assicurarsi che l’utente che esegue remixd abbia i permessi di lettura/scrittura sulla cartella.

In alternativa, c’è un’opzione per eseguire remixd in modalità di sola lettura, usando il flag --read-only.

Utilizzo Porte

remixd funziona effettuando connessioni websocket con l’IDE Remix su diverse porte. Le porte sono definite in accordo con lo scopo specifico. I dettagli sull’uso delle porte sono i seguenti:

  • 65520 : per il listener websocket remixd, per condividere il file system locale con l’IDE Remix. La cartella condivisa sarà caricata nell’area di lavoro Esplora File dell’IDE Remix, denominata localhost

  • 65522 : per il listener websocket hardhat, per abilitare la compilazione Hardhat usando il plugin Solidity Compiler (Compilatore Solidity) dell’IDE Remix, se la cartella condivisa è un progetto Hardhat.

  • 65523 : per il listener websocket slither, per abilitare l’analisi di Slither usando il plugin Solidity Static Analysis (Analisi statica Solidity) dell’IDE Remix

  • 65524 : per il listener websocket truffle, per abilitare la compilazione Truffle usando il plugin Solidity Compiler (Compilatore Solidity) dell’IDE Remix, se la cartella condivisa è un progetto Truffle.

Nota: Assicurarsi che il tuo sistema sia sufficientemente protetto e che queste porte non siano aperte o inoltrate.

Attenzione!

  • remixd fornisce accesso completo in lettura e scrittura alla cartella data per qualsiasi applicazione che possa accedere alla porta TCP 65520 sul tuo host locale.

  • Per minimizzare il rischio, Remixd può SOLO fare da ponte tra il vostro filesystem e gli URL dell’IDE di Remix - inclusi:

  https://remix.ethereum.org
  https://remix-alpha.ethereum.org
  https://remix-beta.ethereum.org
  package://a7df6d3c223593f3550b35e90d7b0b1f.mod
  package://6fd22d6fe5549ad4c4d8fd3ca0b7816b.mod
  https://ipfsgw.komputing.org

(il pacchetto:// url nella lista sopra sono per remix desktop)

Cliccando Connetti nella finestra di dialogo.

Cliccando sul pulsante Connect (Connetti) nella finestra di dialogo di Remixd (vedi immagine sopra), si tenterà di avviare una sessione dove il tuo browser potrà accedere alla cartella specificata nel filesystem del tuo computer.

Se non c’è remixd in esecuzione in background - si aprirà un’altra finestra di dialogo che dirà:

Cannot connect to the remixd daemon. 
Please make sure you have the remixd running in the background.

Assumendo che non venga visualizzata la seconda finestra di dialogo, la connessione al daemon remixd è riuscita. La cartella condivisa sarà visibile nell’area di lavoro di Esplora file sotto localhost.

Creazione & cancellazione di cartelle e file

Cliccando sull’icona new folder (nuova cartella) o new file (nuovo file) sotto localhost si crea un nuovo file o una nuova cartella nella cartella condivisa. Allo stesso modo, cliccando con il tasto destro su un file o una cartella è possibile rinominare o eliminare il file.

Chiusura di una sessione di remixd

Nel terminale in cui remixd è in esecuzione, digitando ctrl-c si chiuderà la sessione. L’IDE Remix visualizzerà un messaggio modale che indicherà che remixd ha smesso di funzionare.