Remixd : Accédez à votre système de fichiers local
Pour donner à l’IDE Remix (l’application web) l’accès à un dossier sur votre ordinateur, vous devez utiliser Remixd - le plugin ainsi que remixd - le module cli/npm.
Le plugin Remixd peut être activé à partir du gestionnaire de plugins ou de l’explorateur de fichiers** - voir l’image ci-dessous. L’option connect to localhost - activera le plugin Remixd.
Une fois que vous cliquez sur connect to localhost ou que vous activez Remixd depuis le Plugin Manager, une fenêtre modale s’affiche :
Le plugin Remixd est un plugin websocket et il n’a pas d’interface utilisateur autre que cette boîte de dialogue modale - vous ne verrez donc pas d’icône Remixd dans le panneau d’icônes.
Avant de cliquer sur Connect, vous devez installer le [module NPM remixd] (https://www.npmjs.com/package/@remix-project/remixd) et lancer la commande remixd.
Le code de remixd
est here .
Installation remixd
remixd est un module NPM et peut être installé globalement en utilisant la commande suivante : npm install -g @remix-project/remixd
Vous pouvez également l’installer dans le répertoire de votre choix en supprimant le drapeau -g : npm install @remix-project/remixd
NOTE: Lorsque le module NPM remixd est installé, il installe également Slither, solc-select et met solc à la dernière version, c’est-à-dire 0.8.15 actuellement.
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
Trouvez votre version de remixd
La commande : remixd -v
ou remixd --version
vous renverra votre numéro de version.
**Si cette commande ne fonctionne pas, c’est que votre version est obsolète.
Mise à jour vers la dernière version remixée
Comme remixd crée un pont entre le navigateur et votre système de fichiers local, il est important que vous disposiez de la dernière version du script.
Pour les utilisateurs qui ont installé la version de remixd à partir de la TRES vieille adresse NPM ou pour les utilisateurs qui ne savent pas à partir de quelle adresse NPM ils l’ont installée, exécutez ces 2 étapes :
désinstallez l’ancien : npm uninstall -g remixd
installez le nouveau : npm install -g @remix-project/remixd
Pour la plupart des utilisateurs qui savent qu’ils ont une version de remixd installée depuis @remix-project/remixd, exécutez simplement :
npm install -g @remix-project/remixd
commande remixd
La commande remixd sans options utilise le répertoire courant du terminal comme répertoire partagé et le domaine Remix partagé sera https://remix.ethereum.org
, https://remix-alpha.ethereum.org
, ou https://remix-beta.ethereum.org
La commande remixd est la suivante :
remixd
Si vous utilisez Remix depuis localhost ou si vous n’exécutez pas la commande depuis votre répertoire de travail, vous devrez utiliser la commande avec des drapeaux.
options 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
NOTE : remixd -i slither
peut être utilisé pour installer Slither avec ses dépendances.
HTTP vs HTTPS dans la commande remixd
Si votre navigateur est sur https://remix.ethereum.org (secure http), utilisez https dans la commande :
remixd -s <absolute-path-to-the-shared-folder> --remix-ide https://remix.ethereum.org
Ou si vous utilisez http dans le navigateur, utilisez http dans la commande remixd.
Autorisation de lecture/écriture et mode lecture seule
Le dossier est partagé en utilisant une connexion websocket entre Remix IDE
et remixd
.
Assurez-vous que l’utilisateur qui exécute remixd
a les droits de lecture/écriture sur le dossier.
Alternativement, il y a une option pour exécuter remixd en mode lecture seule, utilisez le drapeau --read-only
.
Utilisation des ports
remixd
fonctionne en établissant des connexions websocket avec Remix IDE sur différents ports. Les ports sont définis en fonction d’objectifs spécifiques. Les détails de l’utilisation des ports sont les suivants :
65520 : Pour l’auditeur websocket
remixd
, partager le système de fichiers local avec Remix IDE. Le dossier partagé sera chargé dans l’espace de travailFile Explorers
de Remix IDE nommélocalhost
.65522 : Pour le websocket listener
hardhat
, activer la compilation Hardhat en utilisant le pluginSolidity Compiler
de Remix IDE, si le dossier partagé est un projet Hardhat.65523 : Pour l’écouteur websocket
slither
, activer l’analyse Slither en utilisant le pluginSolidity Static Analysis
de l’IDE Remix.65524 : Pour l’écouteur websocket
truffle
, activer la compilation Truffle en utilisant le pluginSolidity Compiler
de Remix IDE, si le dossier partagé est un projet Truffle.
Note: Assurez-vous que votre système est suffisamment sécurisé et que ces ports ne sont pas ouverts ou transférés.
Attention !
remixd
fournit un accès complet en lecture et en écriture au dossier donné pour toute application qui peut accéder auTCP port 65520
sur votre hôte local.Pour minimiser le risque, Remixd peut Seulement faire le pont entre votre système de fichiers et les URLs de l’IDE Remix - y compris :
https://remix.ethereum.org
https://remix-alpha.ethereum.org
https://remix-beta.ethereum.org
package://a7df6d3c223593f3550b35e90d7b0b1f.mod
package://6fd22d6fe5549ad4c4d8fd3ca0b7816b.mod
https://ipfsgw.komputing.org
(les urls package:// dans la liste ci-dessus sont pour le remix desktop)
Cliquez sur Connecter dans la fenêtre modale.
En cliquant sur le bouton Connect de la fenêtre modale de Remixd (voir l’image ci-dessus), vous tenterez de démarrer une session dans laquelle votre navigateur pourra accéder au dossier spécifié sur le système de fichiers de votre ordinateur.
Si remixd
ne tourne pas en arrière-plan, une autre fenêtre modale s’ouvrira et dira :
Cannot connect to the remixd daemon.
Please make sure you have the remixd running in the background.
Si vous n’obtenez pas la deuxième fenêtre modale, votre connexion au démon remixd est réussie. Le dossier partagé sera visible dans l’espace de travail de l’explorateur de fichiers sous localhost.
Création et suppression de dossiers et de fichiers
En cliquant sur l’icône nouveau dossier ou nouveau fichier sous localhost, vous créez un nouveau fichier ou dossier dans le dossier partagé. De même, si vous cliquez avec le bouton droit de la souris sur un fichier ou un dossier, vous pouvez renommer ou supprimer le fichier.
Clôture d’une session remixée
Dans le terminal où remixd s’exécute, taper ctrl-c
fermera la session. Remix IDE affichera alors une fenêtre modale indiquant que remixd a cessé de fonctionner.