Todo contrato inteligente escrito en Solidity posee algunas características propias del lenguaje que debes conocer para comenzar a programar tu primer smart contract.
Características y configuraciones de Solidity
Las primeras líneas de un contrato inteligente suelen ser configuraciones y/o comentarios para que el compilador de Solidity funcione correctamente. La estructura básica de un contrato inteligente posee:
Licencia: Define qué permisos tendrá el usuario sobre el contrato, pues al ser código abierto, estará a la vista del público. Existen diversas licencias y dependiendo de la misma puede utilizar el contrato libremente, modificarlo o no, etc.
Pragma: Definen la versión del compilador que se usará. Puede ser una versión fija o un rango específico.
Contract: Esta palabra reservada se usa para indicar el cuerpo del contrato, por lo que todo el contenido debe ir dentro del bloque "contract".
Si bien, la licencia puede ser omitida en algunos casos, el resto de las líneas son obligatorias, pues en los casos de prueba, el despliegue de contratos puede hacerse con menos consideraciones, siempre y cuando se cumplan los requerimientos mínimos.
Los despliegues dentro de la red principal de Ethereum, son irreversibles, por lo que siempre se debe tener cuidado de estos detalles y conocer exactamente el propósito de cada elemento y probar bien tu aplicación antes de pasarla a producción.
La estructura de un contrato inteligente escrito en Solidity será siempre la misma para que el compilador no de problemas y tu contrato sea desplegado correctamente en la EVM y posteriormente ser utilizado.
Contribución creada por:Luis Enrique Herrera y Kevin Fiorentino (Platzi Contributors).
Permite definir que permisos tienen otros usuarios sobre nuestro código, ya que los Smart Contracts son de código abierto y cualquiera los puede ver.
Pragmas
Definen la versión del compilador compatible
Es solo para validación
Usan la misma sintaxis de npm <, = , >= , <=
Keyword Contract
Define cuando inicia o termina el contrato.
Buen aporte
Gracias.
Poderosa.
Quiero una jaja
Pragmas
Es solo para validacion
Ejemplo:
Si un contrato tiene un pragma >=0.7.0 <0.9.0; significa que
El contrato se puede compilar con versiones de solidity entre 0.7.0 hasta la anterior a la 0.9.0
Hey, en las diapositivas del profesor hay un pequeño error, se le olvidó añadir el greater than ">", si revisan la documentación de npm podrán confirmarlo, les dejo de nuevo el link aquí 💚
**Estructura del código del contrato en Solidity:
**Licencia: Que permisos tiene un usuario dentro de nuestro código.
Pragma: Define la versión del compilador compatible.
Keyword Contract: Cuando inicia y cuando termina el codigo.
RESUMEN CLASE 7:
ESTRUCTURA DE UN CONTRATO INTELIGENTE
I.- ESTRUCTURA DE UN CONTRACTO
Licencia
Pragmas
Keyword contract
II. LICENCIA
El código de un Contrato Inteligente es abierto.
III.- PRAGMAS
Definen la versión del compilador compatible.
Es solo para validación.
Usan la misma sintaxis de npm. <, = , >=, <=
IV.- KEYWORD CONTRACT
Se usa para definir el inicio y fin de un contrato.
Buenas, en los recursos, apartado Licencia comentas "misma puede utilizar el contrato libremente, modificarlo o no, etc." pero dos clases antes has comentado que un contrato no puede ser modificado, a que debo hacer caso ?
si solidity se utiliza para eth, cual se utiliza para solana?
¡Hola Mario! 😄
Para crear SmartContracts en Solana se usa el lenguaje de programación RUST
En la estructuración del es necesario saber:Los despliegues dentro de la red principal de Ethereum, son irreversibles, por lo que siempre se debe tener cuidado de estos detalles y conocer exactamente el propósito de cada elemento y probar bien tu aplicación antes de pasarla a producción.
Estructura de solidity:
Licencia (código abierto)
Pragma: valida la versión del compilador
Keyword Contract: define el inico y fin de contrato