<aside> ✅ Objetivo del día: Identificar los estándares (ERC-20, ERC-777, etc.) de programación de la blockchain de Ethereum y modificar contratos inteligentes desarrollados en Solidity.

</aside>

Índice

Remix y Remix debugger

Remix IDE:

Es una aplicación web y de escritorio de código abierto que permite desarrollar, implementar y administrar contratos inteligentes para la red de Ethereum, así como también funciona como una plataforma de aprendizaje.

Remix debugger:

El depurador (debugger) de remix es una herramienta que muestra el estado del contrato mientras se realiza una transacción. Se puede usar en transacciones creadas en Remix o proporcionando la dirección de una transacción. Este último asume que tiene el código fuente del contrato o que ha ingresado la dirección de un contrato verificado.

Uso de Remix

En el explorador de archivos (desde la sección del lado izquierdo) se pueden seleccionar o crear diferentes espacios de trabajo. Cuando se crea un nuevo espacio de trabajo se deberá asignar el nombre que desee y verá que por defecto se crean contratos, tests y scripts de ejemplo; puede eliminarlos y crear nuevos o simplemente cambiar los nombres de los archivos y trabajar sobre ellos.

Cuando se tiene un contrato inteligente redactado y revisado, puede hacer click en el ícono de ‘Solidity compiler’, seleccione la versión del compilador según la haya establecido en el contrato y clickee en compilar. Posterior a ello, puede ir al ícono de ‘Deploy and run transactions’ y seleccionar ‘JavaScript VM’ para hacer pruebas en local o ‘Injected Web3’ para hacer pruebas en una red; al seleccionar esta opción se abrirá Metamask, solicitando el ingreso de cuenta y se deberá seleccionar en el mismo Metamask la red con la que se desea trabajar, asegúrese de tener fondos al realizar estos pasos.

En las configuraciones iniciales el ‘Gas limit’ no se debe modificar salvo casos excepcionales donde se requiera aumentar, por lo que lo dejaremos en 3.000.000 y en la sección de ‘Value’ podemos establecer una cantidad de Ether o Wei para fondear el contrato, o para usar las funciones/métodos que requieran transferencias.

Untitled

Después de la configuración inicial, debemos seleccionar el contrato a desplegar, tener cuidado ya que esto es un error común que puede ser costoso si se trabaja en mainnet. Una vez seleccionado el contrato, en el campo aledaño al botón de ‘Deploy’ se colocan los parámetros que recibirá el constructor, en el caso de corresponder. Una vez se aprueba la transacción en Metamask y se despliega el contrato, aparecerá la dirección en la sección de ‘Deployed Contracts’ y clickeando en la flecha del costado podremos acceder a todos los métodos públicos del contrato, mostrándose en color naranja los que modifican el estado del mismo y en azul aquellos que solo consultan información.

Untitled

Los parámetros son ordenados en el mismo orden en que estén declarados en la función y separados por una coma, en caso de tratarse de un “string” se debe escribir entre comillas.

Como se observa en la imagen previa, en el cuadro inferior se pueden ver los datos de cada una de las transacciones realizadas, tanto si es exitosa o no, o la emisión eventos de la EVM. Además podremos ver otros datos como la dirección que firmó la transacción, el gas utilizado e información del hash empelado, mismo que podemos copiarlo y pegarlo en el explorador de Aurora para ver más detalles de la misma transacción.

A continuación se proporciona la documentación de Remix, ya que se encuentra en actualizaciones constantes y además da la posibilidad de instalar complementos (plugins) con funcionalidades realmente diversas. Por otro lado, en este enlace se encontrará la comunidad de Remix, donde en un foro abierto, los usuarios puede hacer preguntas y continuar aprendiendo.

Estándares más usados:

Para la implementación de tokens o diversas herramientas dentro de un contrato inteligente, existen estándares de programación o estructuras básicas que deberemos utilizar, (en algunos casos de manera obligatoria), ya que dan la pauta de funcionamiento para acciones especificas que se desean implementar