Día 2: Explorando Tipos de Variables en Solidity

Tabla de contenidos

Bienvenidos al segundo día de #SolidityDe0a100, hoy continuaremos explorando Solidity, el lenguaje de programación utilizado para desarrollar contratos inteligentes en la blockchain de Ethereum. En nuestra jornada de aprendizaje, nos adentraremos en dos aspectos fundamentales: las variables y las estructuras de control.

Las variables son elementos clave en el almacenamiento y manipulación de datos en Solidity. Encontramos tres tipos de variables: estado, local y global. Cada una tiene su propósito y alcance dentro de un contrato, y entender cómo funcionan nos permitirá crear soluciones más robustas.

Por otro lado, las estructuras de control son herramientas esenciales para controlar el flujo de ejecución en nuestros contratos. Mediante el uso de sentencias if-else, bucles for y while, podemos tomar decisiones y repetir acciones de forma eficiente.

Variables en Solidity

 

En Solidity, las variables desempeñan un papel crucial en el almacenamiento y manipulación de datos. Existen tres tipos de variables: estado, local y global.

  1. Variables de Estado

Las variables de estado se declaran dentro de un contrato y almacenan datos en la blockchain. Esto significa que sus valores persisten en diferentes llamadas de función y transacciones. Al utilizar variables de estado, los desarrolladores pueden crear almacenamiento persistente para sus contratos inteligentes.

  1. Variables Locales

Las variables locales, como su nombre lo indica, solo son accesibles dentro de la función en la que se definen. Solo existen temporalmente y dejan de existir una vez que se completa la ejecución de la función. Los parámetros de función son un tipo de variable local. Su alcance se limita a la función en la que se declaran.

Para ilustrar la diferencia entre variables de estado y variables locales, considera el siguiente fragmento de código en Solidity:

  1. Variables Globales

Las variables globales proporcionan información sobre la blockchain y las propiedades de las transacciones. Estas variables especiales existen en el espacio de trabajo global y se pueden acceder desde cualquier parte del contrato. Sin embargo, es crucial utilizar las variables globales con cuidado y con un entendimiento adecuado, ya que algunas de ellas pueden tener implicaciones de seguridad si se usan incorrectamente.

Aquí hay algunos ejemplos de variables globales en Solidity:

  • block.timestamp: Representa la marca de tiempo del bloque actual en segundos desde la época de Unix.
  • gasleft(): Devuelve el gas restante.
  • msg.sender: Se refiere al remitente del mensaje (llamada actual).
  • msg.value: Indica la cantidad de wei enviados con el mensaje.
  • tx.gasprice: Representa el precio del gas de la transacción.

Estructuras de Control en Solidity

 

Las estructuras de control en Solidity permiten a los desarrolladores controlar el flujo de ejecución en sus contratos inteligentes. Veamos algunas estructuras de control comúnmente utilizadas en Solidity.

  1. Sentencias if-else

Similar a JavaScript, Solidity utiliza sentencias if-else para ejecutar diferentes bloques de código según ciertas condiciones. Además, Solidity ofrece una versión abreviada de la sentencia if-else conocida como operador ternario, que es útil para condiciones simples y concisas.

  1. Bucles for y while

Solidity admite los bucles for y while para ejecutar repetidamente un bloque de código. Sin embargo, se recomienda mantener el número de iteraciones corto para optimizar el uso de gas en los contratos inteligentes.

Para demostrar el uso de las estructuras de control en Solidity, considera el siguiente fragmento de código:

Al emplear variables y estructuras de control de manera efectiva, los desarrolladores pueden crear contratos inteligentes sólidos y flexibles en Solidity.

Recuerda que es fundamental comprender estos conceptos a fondo para garantizar la seguridad y eficiencia de tus aplicaciones descentralizadas. Sumérgete en Solidity, experimenta con diferentes escenarios y aprovecha sus capacidades poderosas para construir soluciones blockchain innovadoras.

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