Usando Remix

**Remix** es un IDE en línea que puedes usar para desarrollar y desplegar rápidamente contratos inteligentes. Si eres nuevo en contratos inteligentes, es una excelente herramienta que te permite sumergirte de inmediato sin necesidad de configurar un editor local o lidiar con problemas de configuración del entorno antes de comenzar.

Remix contiene una simulación de una cadena de bloques que puedes usar para desplegar y probar rápidamente tus contratos. Esta simulación solo existe dentro de tu navegador, por lo que no puedes compartirla con otros ni usar herramientas externas o una interfaz para interactuar con ella. Sin embargo, también puedes desplegar en una variedad de testnets desde Remix. Hacerlo te permitirá compartir tu contrato con otros, a costa de hacerlo público.

En este artículo, te daremos una visión general de Remix y te mostraremos cómo desplegar un contrato en la testnet Base Goerli.

INFO

Para despliegues en producción/mainnet, los pasos a continuación en esta guía serán casi idénticos, sin embargo, querrás asegurarte de haber seleccionado Base (mainnet) como la red en lugar de Base Goerli (testnet).

Si ya estás familiarizado con Remix, probablemente quieras saltarte hasta aquí.

Objetivos

Al final de esta lección deberías poder:

  • Enumerar las características, pros y contras de usar Remix como un IDE.

  • Desplegar y probar el contrato demo Storage.sol en Remix.

  • Usar Remix para desplegar un contrato en la testnet Base @ Goerli y interactuar con él en Etherscan.

Vista general de la ventana Remix

Comienza abriendo una ventana del navegador y navegando a [remix.ethereum.org]. Haz clic a través de los consejos introductorios, luego revisa el editor. Debería parecerte familiar.

Panel del Editor

El panel del editor se carga con la pantalla de inicio de Remix, que contiene noticias, enlaces útiles y advertencias sobre estafas comunes. Puedes cerrar la pestaña de inicio si lo deseas, luego abrir 1_Storage.sol, ubicado dentro de la carpeta de contratos del default_workspace.

Editarás tu código en el panel del editor. También tiene la mayoría de las características que esperas, como resaltado de sintaxis y errores. Ten en cuenta que en Remix, los errores no están subrayados. En su lugar, verás un ❗ al lado del número de línea donde está presente el error.

En la parte superior, verás una gran flecha verde similar al botón Ejecutar en otros editores. En Solidity, esto compila tu código, pero no lo ejecuta porque primero debes desplegar tu código en la cadena de bloques simulada.

Terminal de Remix Debajo del panel del editor, encontrarás el terminal.

Usarás principalmente este panel para observar los registros de transacciones de tus contratos inteligentes. También es una forma de acceder a las potentes herramientas de depuración de Remix.

Panel Izquierdo Como en muchos otros editores, el panel izquierdo en Remix tiene varias pestañas verticales que te permiten cambiar entre diferentes herramientas y funciones. Puedes explorar los archivos en tu espacio de trabajo actual, crear y cambiar entre espacios de trabajo, buscar en tu código y acceder a varios plugins.

Plugins La mayoría de las características en Remix son plugins y los que usarás más están activos por defecto. Puedes ver y gestionar plugins haciendo clic en el botón de enchufe en la esquina inferior izquierda, justo encima del engranaje de configuración. Puedes activarlos y desactivarlos haciendo clic en activar/desactivar, y algunos, como el plugin de depuración, se activarán automáticamente a través de otras partes del editor.

Compilador Solidity El primer plugin predeterminado (después de la función de búsqueda) es el Compilador Solidity. Asegúrate de marcar la opción Auto compile. Los contratos inteligentes casi siempre están en archivos muy pequeños, por lo que esto no debería causar nunca un problema de rendimiento mientras editas el código.

El botón Compilar y Ejecutar script en este plugin es un poco engañoso. Esta no es la forma en que normalmente ejecutarás tu contrato a través de las pruebas. Puedes hacer clic en el botón I para obtener más información sobre esta característica.

Finalmente, si tienes errores en tus contratos, el texto completo de cada error aparecerá en la parte inferior del panel. Pruébalo introduciendo algunos errores tipográficos en 1_Storage.sol.

Desplegar y Ejecutar Transacciones El plugin "Deploy & Run Transactions" es lo que usarás para desplegar tus contratos e interactuar con ellos. En la parte superior hay controles para seleccionar qué máquina virtual usar, simular carteras de usuarios con Ether de prueba y un menú desplegable para seleccionar el contrato que deseas desplegar y probar.

Corrige cualquier error que hayas introducido en 1_Storage.sol y haz clic en el botón naranja "Deploy". Verás tu contrato aparecer abajo como STORAGE AT <dirección>.

PRECAUCIÓN Hay un par de trampas que pueden ser muy confusas al desplegar contratos en Remix.

Primero, cada vez que presionas el botón "Deploy", se despliega una nueva copia de tu contrato, pero las implementaciones anteriores permanecen. A menos que estés comparando o depurando entre diferentes versiones de un contrato, o desplegando varios contratos a la vez, debes hacer clic en el botón "Trash" para borrar los despliegues antiguos antes de desplegar de nuevo.

En segundo lugar, si tu código no compila, ¡hacer clic en el botón de despliegue no generará un error! En su lugar, se desplegará la última versión compilada. Verifica visualmente y confirma que no hay errores indicados por un número en un círculo rojo en la parte superior del plugin "Compiler".

Prepararse para el Despliegue Las testnets operan de manera similar, pero no exactamente igual que las redes principales a las que imitan. Necesitas una cartera con el token apropiado para interactuar con ellas al desplegar un nuevo contrato o al llamar funciones en un contrato desplegado.

Configurar una Cartera Si ya tienes una cartera configurada exclusivamente para el desarrollo, puedes saltarte a la siguiente sección. De lo contrario, ¡ahora es el momento de sumergirse!

PELIGRO ¡Es muy peligroso usar una cartera con activos valiosos para el desarrollo! Podrías escribir fácilmente un código con un error que transfiera la cantidad incorrecta del token incorrecto a la dirección incorrecta. ¡Las transacciones no pueden ser revertidas una vez enviadas!

Sé seguro y usa carteras separadas para propósitos separados.

Primero, añade la cartera de Coinbase o Metamask a tu navegador y configura una nueva cartera. Como desarrollador, ¡necesitas ser doblemente cuidadoso con la seguridad de tu cartera! Muchas dApps otorgan poderes especiales a la dirección de la cartera que es propietaria del contrato, como permitir la retirada de todo el Ether que los clientes han pagado al contrato o cambiar configuraciones críticas.

Una vez que hayas completado la configuración de la cartera, habilita las configuraciones de desarrollador y activa las testnets (Configuraciones de Coinbase, [Configuraciones de Metamask]).

Añadir la Red Base Goerli a tu Cartera Para esta guía, estarás desplegando un contrato en la red de prueba Base Goerli. Puedes financiar tu cartera con ETH de Base Goerli utilizando las siguientes opciones:

Coinbase Faucet | Base Goerli Coinbase Wallet Faucets

Para pasos más detallados sobre cómo financiar tu cartera con ETH de Base Goerli, consulta Faucets de la Red.

Obtener Ether de Testnet Los tokens de testnet no tienen valor real, pero el suministro no es ilimitado. Puedes usar un grifo (faucet) para obtener una pequeña cantidad de Ether Goerli para pagar las tarifas de gas para las pruebas. La mayoría de los grifos te permiten pedir una pequeña cantidad cada día, y algunos no te enviarán más si tu saldo es demasiado alto.

Puedes encontrar muchos grifos buscando en línea, y es bueno tener algunos marcados porque tienen la tendencia a caer de vez en cuando. Los proveedores de grifos están constantemente combatiendo a actores maliciosos y a veces necesitan desactivar sus grifos mientras lo hacen.

La Cartera de Coinbase tiene grifos integrados. Encuéntralos haciendo clic en Configuración -> Configuraciones de desarrollador -> Grifos de testnet(red de prueba).

También puedes acceder a los grifos en la web.

Una vez que tengas Ether de testnet Base Goerli, puedes ver tu saldo en la pestaña Testnets en la cartera de Coinbase, o seleccionando la testnet en el menú desplegable de la red en Metamask. ¡Lamentablemente, en realidad no vale la cantidad que se muestra!

Desplegando en Testnet ¡Una vez que tengas Ether de testnet, puedes desplegar el contrato Storage!

Seleccionando el Entorno Abre la pestaña "Deploy & Run Transactions". Bajo "Environment", selecciona "Injected Provider". Mostrará Coinbase, Metamask o cualquier otra cartera que hayas activado aquí.

Conectando tu Cartera a Remix

La primera vez que hagas esto, tu cartera te pedirá que confirmes si deseas conectar esta dApp (Remix) a tu cartera.

Una vez que estés conectado, verás el nombre de la red debajo del menú desplegable "Environment".

Para Base Goerli, deberías ver Custom (84531) network (nota: si estás desplegando en mainnet en lugar de testnet, deberías ver Custom (8453) network).

Si no ves la red correcta, cambia la red activa en tu cartera.

Desplegar el Contrato Haz clic en el botón naranja "Deploy". Debido a que cuesta gas desplegar un contrato, se te pedirá revisar y confirmar una transacción.

PRECAUCIÓN

Siempre revisa cuidadosamente todas las transacciones, confirmando el costo de la transacción, los activos transferidos y la red. Como desarrollador, te acostumbrarás a aprobar transacciones regularmente. Haz todo lo posible para evitar acostumbrarte a hacer clic en Confirmar sin revisar cuidadosamente la transacción. Si sientes presión para Confirmar antes de que se acabe el tiempo, es casi seguro que es una estafa.

Después de hacer clic en el botón Confirmar, regresa a Remix y espera a que se despliegue la transacción. Copia su dirección y navega a goerli.basescan.org. Nota: Si desplegaste en mainnet, navegarás a basescan.org en su lugar.

Verificar el Contrato

INFORMACIÓN No necesitas verificar el contrato si has desplegado uno idéntico a un contrato que ya ha sido verificado.

Puedes interactuar con tu contrato desplegado usando Remix, igual que antes, pero también es posible interactuar con él a través de Etherscan. Pega tu dirección en el campo de búsqueda para encontrarlo.

En esta página, puedes revisar el saldo, la información sobre y todas las transacciones que hayan ocurrido con tu contrato.

Haz clic en la pestaña Contrato en el panel principal. Si has desplegado un contrato único, en la parte superior hay un mensaje pidiéndote que Verifiques y Publiques el código fuente de tu contrato.

Verificar tu contrato mapea los nombres de tus funciones y variables al código de bytes compilado, lo que hace posible interactuar con el contrato usando una interfaz legible para humanos.

Haz clic en el enlace. La dirección de tu contrato ya está ingresada.

Bajo Por favor selecciona Tipo de Compilador elige _Solidity (Archivo único)

Para Por favor Selecciona Versión del Compilador selecciona la versión que coincide con la pragma en la parte superior de tu archivo fuente. Nuestros ejemplos actualmente están usando v0.8.17+commit.8df45f5f.

Para Por favor selecciona Tipo de Licencia de Código Abierto elige la licencia que coincide con lo que seleccionaste para tu contrato como el SPDX-License-Identifier. Elige Ninguno si seguiste la práctica recomendada por Solidity de usar UNLICENSED.

En la siguiente página, copia y pega el código fuente en la ventana. Verifica que no eres un robot y haz clic en Verificar y Publicar. Deberías ver un mensaje de éxito.

Haz clic en la dirección vinculada a tu contrato para regresar a la página del contrato. ¡Ahora verás tu código!

Interactuar con el Contrato Ahora puedes interactuar con tu contrato usando Etherscan. Haz clic en el botón Leer Contrato. Ambas funciones estarán listadas aquí y pueden ser probadas usando la interfaz web.

No tendrás nada bajo Escribir Contrato porque este contrato no tiene funciones que guarden datos en el estado.

Conclusión ¡Ahora tienes el poder de poner contratos inteligentes en la blockchain! ¡Solo has desplegado en una red de prueba, pero el proceso para redes reales es exactamente el mismo, solo que más caro!

Last updated