1. Estructura de los Contratos Inteligentes
Los contratos inteligentes son conjuntos predefinidos de reglas matemáticas. Estas reglas pueden estar condicionadas a ciertos contextos, por ejemplo: sólo ejecutar si es X día del año, o solo ejecutar cada 3 días, etc…
Son realmente infinitas las posibilidades de lo que puedes hacer con ellos, pero su funcionamiento se resume en:
# Definiendo la versión del lenguaje.
El comando pragma es utilizado para definir cuál será la versión de solidity a ser implementada en el contrato.
pragma solidity 0.8.11; //Define la versión del lenguaje
Observe el parámetro .8, entre .0 y .11. Este indica la versión principal, significando que un compilador que ejecute la versión 0.8.12 también funcionará, así como 0.8.12 o .13.
# Importación de bibliotecas y reutilización de código.
import 'código_escrito_por_otros_devs.sol';
En el mundo del desarrollo estamos siempre reutilizando código listo e implementado, y deberías acostumbrarte a ello. Pero ten en cuenta que cada lenguaje tiene su propio estándar de cómo importar el código.
Para una explicación más detallada sobre cómo importar y reutilizar contratos, consulte la sección 23. Bibliotecas (Libraries).
# Código del contrato.
contract MiContrato{
address mi_cartera = 0xCf48d9ae072758c125804791Cf8c4D390B460c19;
function transferencia() external {}
modifier únicamenteAdministrador() {}
...
}
Dentro del contrato se encuentran todas las reglas y condiciones del mismo.