Remixd: Acceda a su sistema de archivos local

versión npm

Para dar acceso al IDE Remix (la aplicación web) a una carpeta de su ordenador, necesita utilizar Remixd - el plugin junto con remixd - el módulo cli/npm.

El plugin Remixd puede activarse desde el gestor de plugins o en el Explorador de archivos - vea la imagen inferior. El connect to localhost - activará el plugin Remixd.

Una vez que haga clic en conectar a localhost o active Remixd desde el Administrador de plugins, aparecerá un modal:

El plugin Remixd es un plugin de conexión web y no tiene más interfaz de usuario que este cuadro de diálogo modal, por lo que no verá un icono Remixd en el panel de iconos.

Antes de pulsar Conectar, debe instalar el módulo NPM remixd y ejecutar el comando remixd.

El código de remixd es here .

Instalación remixd

remixd es un módulo NPM y puede instalarse globalmente mediante el siguiente comando: npm install -g @remix-project/remixd

O simplemente instálelo en el directorio de su elección eliminando la bandera -g: npm install @remix-project/remixd.

NOTA: Cuando se instala el módulo NPM remixd, también se instala Slither, solc-select y se establece solc a la última versión, es decir, 0.8.15 actualmente.

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

Encuentre su versión de remixd

El comando remixd -v o remixd --version le devolverá su número de versión.

¡Si este comando no funciona, es que tiene una versión obsoleta!

Actualización al último remixd

Dado que remixd crea un puente desde el navegador hasta su sistema de archivos local, es importante que disponga de la última versión del script.

Para los usuarios que habían instalado la versión de remixd desde la dirección NPM MUY antigua o para los usuarios que no saben desde qué dirección NPM lo habían instalado, ejecute estos 2 pasos:

  1. desinstale el antiguo npm uninstall -g remixd

  2. instale lo nuevo: npm install -g @remix-project/remixd

Para la mayoría de los usuarios que saben que tienen una versión remixd instalada desde @remix-project/remixd entonces sólo tiene que ejecutar:

npm install -g @remix-project/remixd

comando remixd

El comando remixd sin opciones utiliza el directorio actual del terminal como directorio compartido y el dominio Remix compartido será https://remix.ethereum.org, https://remix-alpha.ethereum.org, o https://remix-beta.ethereum.org.

El comando remixd es:
remixd

Si está utilizando Remix desde localhost o no está ejecutando el comando desde su directorio de trabajo, tendrá que utilizar el comando con banderas.

opciones 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 se puede utilizar para instalar Slither junto con sus dependencias

HTTP vs HTTPS en el comando remixd

Si su navegador está en https://remix.ethereum.org (secure http) entonces utilice https en el comando:
remixd -s <absolute-path-to-the-shared-folder> --remix-ide https://remix.ethereum.org

O si está utilizando http en el navegador, entonces utilice http en el comando remixd.

Permiso de lectura/escritura y modo de sólo lectura

La carpeta se comparte mediante una conexión websocket entre Remix IDE y remixd.

Asegúrese de que el usuario que ejecuta remixd tiene permiso de lectura/escritura en la carpeta.

Alternativamente, existe una opción para ejecutar remixd en modo de sólo lectura, utilice la bandera --read-only.

Uso de los puertos

remixd funciona realizando conexiones websocket con Remix IDE en diferentes puertos. Los puertos se definen según un propósito específico. Los detalles de uso de los puertos son los siguientes:

  • 65520 : Para remixd websocket listener, para compartir el sistema de archivos local con Remix IDE. La carpeta compartida se cargará en el espacio de trabajo File Explorers del IDE Remix con el nombre localhost.

  • 65522 : Para hardhat websocket listener, para habilitar la Compilación Hardhat utilizando Remix IDE Solidity Compiler plugin, si la carpeta compartida es un proyecto Hardhat.

  • 65523 : Para slither websocket listener, para habilitar el análisis Slither utilizando Remix IDE Solidity Static Analysis plugin

  • 65524 : Para truffle websocket listener, para habilitar la Compilación Truffle usando Remix IDE Solidity Compiler plugin, si la carpeta compartida es un proyecto Truffle.

Nota: Por favor, asegúrese de que su sistema está suficientemente protegido y de que estos puertos no están abiertos ni reenviados.

¡Atención!

  • remixd proporciona acceso completo de lectura y escritura a la carpeta dada para cualquier aplicación que pueda acceder al puerto TCP 65520 en su host local.

  • Para minimizar el riesgo, Remixd puede ÚNICAMENTE hacer de puente entre su sistema de archivos y las URL del IDE Remix - incluyendo:

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

(las urls package:// de la lista anterior son para remix desktop)

Haga clic en Conectar en el modal.

Al hacer clic en el botón Conectar del modal Remixd (véase la imagen superior), se intentará iniciar una sesión en la que su navegador pueda acceder a la carpeta especificada en el sistema de archivos de su ordenador.

Si no tiene remixd ejecutándose en segundo plano - se abrirá otro modal que dirá:

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

Suponiendo que no le aparezca el segundo modal, su conexión con el demonio remixd ha tenido éxito. La carpeta compartida será visible en el espacio de trabajo del Explorador de archivos bajo localhost.

Creación y eliminación de carpetas y archivos

Si hace clic en el icono nueva carpeta o nuevo archivo bajo localhost creará un nuevo archivo o carpeta en la carpeta compartida. Del mismo modo, si hace clic con el botón derecho en un archivo o carpeta podrá renombrar o eliminar el archivo.

Cerrar una sesión remixd

En el terminal donde se esté ejecutando remixd, tecleando ctrl-c cerrará la sesión. Remix IDE pondrá entonces un modal diciendo que remixd ha dejado de ejecutarse.