Día 11: Leer y Escribir Variables de Estado en Contratos Inteligentes

Tabla de contenidos

¡Hoy es nuestro undécimo día #SolidityDe0a100! En esta entrega, exploraremos el fascinante concepto de lectura y escritura en una variable de estado en Solidity. Como sabemos, Solidity es un poderoso lenguaje de programación diseñado específicamente para desarrollar contratos inteligentes en plataformas Blockchain como Ethereum.

Las variables de estado son fundamentales en Solidity, ya que son variables declaradas dentro de un contrato que conservan sus valores entre distintas llamadas a funciones. Esto significa que los datos almacenados en estas variables persisten a lo largo del tiempo y pueden ser accedidos y modificados por diversas funciones dentro del contrato.

Vamos a examinar cómo se actualiza una variable de estado enviando una transacción a la cadena de bloques y cómo se puede leer su valor sin incurrir en tarifas de transacción.

Entendiendo las Variables de Estado

 

En Solidity, las variables de estado se declaran dentro de un contrato y representan el almacenamiento del contrato. Estas variables contienen datos que pueden ser accedidos y modificados por las funciones del contrato. A continuación, se presenta un ejemplo sencillo de un contrato llamado “SimpleStorage” que utiliza variables de estado:

En el código anterior, hemos declarado una variable de estado llamada num, la cual es un entero sin signo (uint) y está marcada como public. La visibilidad public nos permite automáticamente generar una función de acceso (getter) para la variable num, lo que facilita leer el valor de num sin necesidad de definir una función de acceso separada.

Escribiendo en una Variable de Estado

 

Para actualizar el valor de una variable de estado, es necesario enviar una transacción a la cadena de bloques. En el contrato SimpleStorage, tenemos una función llamada set que acepta un parámetro de entrada _num y asigna su valor a la variable de estado num. A continuación se muestra la función set en detalle:

La función set está declarada como public, lo que permite que sea llamada tanto desde dentro del contrato como desde otros contratos o cuentas de usuario externas. Al invocar la función set, proporcionamos el valor deseado como argumento, lo que actualiza el contenido de la variable de estado num. Esta operación de actualización requiere el envío y ejecución de una transacción en la cadena de bloques, lo que conlleva una pequeña tarifa conocida como tarifa de transacción o tarifa de gas.

Leyendo desde una Variable de Estado

 

A diferencia de la escritura en una variable de estado, leer su valor es gratuito y no requiere ninguna tarifa de transacción. En el contrato SimpleStorage, disponemos de una función llamada get que simplemente devuelve el valor de la variable de estado num:

La función get está declarada como public y view. La palabra clave view asegura que la función no modifica el estado del contrato. Al llamar a la función get, podemos obtener el valor actual de num sin incurrir en ningún costo de transacción.

Esperamos que esta explicación te haya ayudado a comprender mejor el funcionamiento de las variables de estado en Solidity. En próximos posts, profundizaremos en otros aspectos interesantes de este poderoso lenguaje de programación para contratos inteligentes. Recuerda siempre compilar e implementar el contrato en una red de desarrollo de Ethereum para interactuar con él.

¡Te invito a que te unas a esta fascinante experiencia en el desarrollo de Smart Contracts en Ethereum!

Ver Video Completo

Más sobre Blockchain & Web3

You cannot copy content of this page

Scroll al inicio

Aplica para el proceso de admisión del programa master emprendimiento blockchain architecture & networks programming

¿Estas preparado para ver como tu carrera profesional se acelera más que nunca? Envíanos tus datos y agendamos tu entrevista. ¡Las plazas son muy limitadas!

Aplica para el proceso de admisión del programa MASTER INGENIERO BLOCKCHAIN FROM WEB2 TO WEB3

¿Estas preparado para ver como tu carrera profesional se acelera más que nunca? Envíanos tus datos y agendamos tu entrevista. ¡Las plazas son muy limitadas!

Próxima Promoción: Abril 2023