Día 13: Arrays en Solidity: Cómo Usarlos Eficazmente
¡Bienvenidos al octavo día de la saga #SolidityDe0a100! En esta edición, nos sumergiremos en el fascinante mundo de las declaraciones
Hoy es el tercer día en nuestro emocionante viaje hacia el desarrollo de Smart Contracts en Solidity, nos adentraremos en las Funciones en Solidity. Una función es básicamente un grupo de código que puede ser reutilizado en cualquier parte del programa. En Solidity, una función es un conjunto de instrucciones que pueden ser ejecutadas y llamadas por otras partes del contrato o por contratos o cuentas externas. Las funciones en Solidity son similares a las funciones en otros lenguajes de programación; pueden recibir entradas, realizar cálculos y devolver resultados.
A continuación, mostramos un ejemplo de una función simple en Solidity:
En este ejemplo, la función setNumero toma un parámetro de entrada _numero de tipo uint y establece el valor de la variable de estado pública miNumero con ese valor de entrada. La función está marcada como pública, lo que significa que puede ser llamada por cualquier cuenta o contrato externo.
Otro ejemplo básico de una función en el archivo Function.sol es una función que suma dos números. Recibe dos parámetros de entrada y devuelve la suma.
La visibilidad de una variable, función o contrato describe hasta dónde se puede acceder desde más allá de la sección del código donde fue definido. Según la documentación de Solidity, hay dos tipos de llamadas de función: externas, que crean una llamada de mensaje real en el EVM, e internas, que no lo hacen. Además, las funciones internas pueden hacerse inaccesibles para contratos derivados. Esto da lugar a cuatro tipos de visibilidad para las funciones: external, public, internal y private.
A continuación, mostramos un ejemplo de visibilidad de funciones y cómo se utiliza en el código:
En Solidity, las funciones pueden ser marcadas como “view” o “pure” para indicar que no modifican el estado del contrato. Una función “view” puede ser llamada internamente por otras funciones o externamente por cuentas o contratos externos, y no requiere gas para su ejecución cuando es llamada externamente. Las funciones “view” pueden leer datos de la blockchain, mientras que las funciones “pure” no leen nada de la blockchain. Las funciones “pure” no modifican ni escriben nada en la blockchain, solo realizan cálculos locales.
El siguiente código muestra ejemplos de funciones “pure” y “view”:
Un modificador es un fragmento de código que se puede ejecutar automáticamente antes o después de ejecutar la función principal si el modificador se aplica a la función. Los modificadores se pueden utilizar para cambiar el comportamiento de las funciones de manera declarativa. Por ejemplo, se puede usar un modificador para verificar automáticamente una condición antes de ejecutar la función. Proporcionan una forma de agregar funcionalidad o restricciones adicionales a las funciones sin duplicar el código.
A continuación, presentamos un ejemplo de un modificador de función y cómo se utiliza en el código:
Los modificadores son propiedades heredables de los contratos y pueden ser anulados por contratos derivados, pero solo si están marcados como “virtual”.
Los modificadores de funciones pueden anularse entre sí. Esto funciona de la misma manera que la anulación de funciones (excepto que no hay sobrecarga de modificadores). Se debe usar la palabra clave “virtual” en el modificador anulado y la palabra clave “override” en el modificador que lo anula. Los modificadores también pueden ser heredados de contratos padre. En general, se usan como una forma de evitar repetir el código, extrayendo funcionalidades comunes y colocándolas en un modificador que se puede reutilizar en todo el código base.
“¡Continuamos nuestro emocionante viaje de aprendizaje en Solidity! Exploraremos las funciones y su visibilidad, las funciones pure y view, y cómo utilizar modificadores para agregar funcionalidades adicionales a nuestras funciones sin duplicar código. Te recomiendo probar cada uno de los fragmentos que hemos visto hasta ahora en Remix, para que experimentes de primera mano su funcionamiento. Además, te sugiero que agregues nuevas variables y modifiques la funcionalidad del código proporcionado, ya que así es como realmente se aprende a programar.
¡Acompáñanos en esta fascinante experiencia hacia el desarrollo de Smart Contracts en Ethereum!”
¡Bienvenidos al octavo día de la saga #SolidityDe0a100! En esta edición, nos sumergiremos en el fascinante mundo de las declaraciones
¡Bienvenidos al octavo día de la saga #SolidityDe0a100! En esta edición, nos sumergiremos en el fascinante mundo de las declaraciones
¡Bienvenidos al octavo día de la saga #SolidityDe0a100! En esta edición, nos sumergiremos en el fascinante mundo de las declaraciones
You cannot copy content of this page