Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Curso de Introducción a Solidity

Curso de Introducción a Solidity

Sebastián Leonardo Perez

Sebastián Leonardo Perez

Estructura de un contrato

3/21
Recursos

Aportes 33

Preguntas 13

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Estructura de un contrato:

// Version puede representar un rango. Ej >=0.7.0 <9.0.0
pragma solidity <version>;

// Declaración de un contrato, similar a una clase
contract <name> { // Name puede ser cualquier cosa
  
  // Función de inicialización de un contrato
  constructor() {
    // Código de inicialización
  }
}

Si te interesa interiorizarte mas en Ethereum Foundation the dejo este link! Research es un foro semi-publico donde se puede colaborar en diferentes topicos.

hola a todos, personalmente me esta funcionando mucho ir junto con estos cursos meter los ejercicios y practicas de https://cryptozombies.io/es/

si tiendes dudas de las licencias puedes encontraras enlistadas con sus respectivo nombre e identificador
https://spdx.org/licenses/

dejo el apartado de documentación para conocer mas sobre solidity y cambios https://docs.soliditylang.org/en/v0.8.13/structure-of-a-contract.html

Remix es una herramienta online para crear smatrt contracts https://remix.ethereum.org/

Pragma: Indica las versiones del compilador de Solidity que se podrán usar para compilar.

pragma solidity >=0.7.0 <0.9.0;

Contract: es el área donde se agregará el contenido del contrato (programa).

contract HelloWorld {
    string public greet = "Hello World!";
}

Constructor: Similar a la Programación Orientada a objetos, el constructor es una función especial, esu uso es opcional y sirve para inicializar variables de estado del contrato.

contract Test {
   constructor() public {}
}

es bueno saber que es buena practica el escribir la licencia, creo que lo formaliza mas de como si solo se publicara sin una

Me da la impresion que este curso está repetido. Vengo de aprobar este curso y este parece que es lo mismo “Clases del Curso de Introducción al Desarrollo Blockchain: Smart Contracts”

Emoción al 1000000 c:

El Ide https://remix.ethereum.org/ tarda unos segundos en cargar

gracias platzi por este curzaso!

Esperaba con ansias este curso.

Uyuyuy! Esto se pone caliente

Hola se que igual no es aquí el comentario, pero seria genial que hicieran un tutorial del DEX BISQ, esta increíble el como funciona y creo que seria muy útil ver a alguien de primer nivel mostrando su funcionamiento.

La recmendación es CREAR 1 CONTRATO por Archivo

// Se nombra el archivo .sol con el nombre del contrato
nombreContrato.sol

// La definicion del contrato es muy similar a la definicion de una class en JAVA.

contract NombreContrato {
    constructor(){
    }
}

// Encabezado del archivo .sol

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0:

Ahora si empieza lo bueno …

Genial!!

Si desean hacer uso de console.log() como en javascript, pueden agregar la siguiente línea:
import “hardhat/console.sol”;

Después de la línea de la versión de solidity y antes de iniciar el contrato.

pragma solidity >= 0.7.0 <0.9.0;
import "hardhat/console.sol";

La impresión la podrán ver en la terminal, al click en la flecha que está a lado del botón de Debug.

++Pragma: ++
Todos los contratos comienzan con la sentencia pragma el cual señala la versión de Solidity a utilizar. Puede hacerse referencia a una versión puntual o a un rango de versiones.

Contract:
Para comenzar la declaración del contrato debemos utilizar el keyword contract.
Todo lo que se encuentre en el entorno de este keyword será parte del mismo contrato.

Constructor
Al igual que en la programación orientada a objetos, cada contrato cuenta con una función opcional constructor la cual se ejecuta por única vez cuando se crea el contrato.

Estructura básica de un contrato con licencia MIT
Y openzeppelin

<// SPDX-License-Identifier: MIT

pragma solidity >=0.7.0 <0.9.0;
import "@openzeppelin/contracts/access/Ownable.sol";

contract Template {

    constructor(){
        
    }
}> 

pragma Señala la versión de Solidity a utilizar

después de variós cursos sobre smart contracts, por fin un curso donde el contenido central es el propio lenguaje de Solidity!! 😃

muy buen curso

gracias x la explicacion

// SPDX-License-Identifier: GPL - 3.0

//el comentario de la fila 1 es necesario!
// GPL -> General Public License!

pragma solidity >=0.7.0 <0.9.0;
// rango maximo de 2 versiones (cubre todas las versiones y debemos ir chequeando las versiones nuevas)
// Ej entre 7 y 9
// importante : el nombre del contrato debe ser el mismo que el nombre del archivo

contract Estructura {
// Declaración de un contrato, similar a una clase
// contract <Name> { Name puede ser cualquier cosa
// 1 contrato por archivo

constructor(){
    // funcion opcional que se realiza solo una vez
}

}

RESUMEN CLASE 3:
ESTRUCTURA DE
UN CONTRATO

I.- PRAGMA

Todos los contratos comienzan con la sentencia pragma el cual señala la versión de Solidity a utilizar.

Puede hacerse referencia a una versión puntual o a un rango de versiones.

II.- CONTRACT

Para comenzar la declaración del contrato debemos utilizar el keyword contract.

Todo lo que se encuentre en el entorno de este keyword será parte del mismo contrato.

III.- CONSTRUCTOR

Al igual que en la programación orientada a objetos, cada contrato cuenta con una función opcional constructor la cual se ejecuta por única vez cuando se crea el contrato.

REMIX

// SPDX-License-Identifier: GLP-3.0

pragma solidity >=0.7.0 <0.9.0;

contract Estructura {

    constructor() {
        
    }
}

Pragma

Todos los contratos comienzan con la sentencia pragma, el cual señala la versión de Solidity a utilizar. Puede hacerse referencia a una versión puntual o a un rango de versiones.

Contract

Para comenzar la declaración del contrato debemos utilizar el keyword contract. Todo lo que se encuentre en el entorno de este keyword será parte del mismo contrato.

Constructor

Al igual que en la programación orientada a objetos, cada contrato cuenta con una función opcional constructor, la cual se ejecuta por única vez cuando se crea el contrato.

Ejemplo

// SPDX-License-Identifier: GPL-3.0
 pragma solidity >=0.7.0 <0.9.0;
 
 contract Estructura {
     constructor() {
         
     }
 }

Para ver la version actual de Solidity:
https://docs.soliditylang.org
Ese enlace da acceso a la documentación del lenguaje y al no especificar alguna versión en la URL, redirecciona automáticamente a la más reciente.
En la parte superior del índice a mano izquierda, aparece la versión.
Para ver otras versiones, bajar hasta el final en el índice a mano izquierda, y hacer clic en RDT.

Me da la impresión que este curso debió ir antes del “Curso de Introducción al Desarrollo Blockchain: Smart Contracts”, veo que hay mucho contenido repetido

Bueno, que tremenda herramienta es REMIX, no la conocía.