Leçon 2

Conceptos básicos de los contratos inteligentes de Solidity

¡Bienvenidos a la Lección 2! Hoy nos vamos a sumergir en el fascinante mundo de la programación de Solidity y la creación de contratos inteligentes. Exploraremos la sintaxis fundamental de Solidity, tipos de datos, variables y funciones. Además, escribiremos nuestro primer contrato inteligente simple y lo implementaremos en Nile Testnet usando TronIDE y nuestra billetera TronLink. ¡Vamos a entrar!

Introducción al lenguaje de programación Solidity para contratos inteligentes

Solidity es el principal lenguaje de programación para crear contratos inteligentes en Tron y otras cadenas de bloques basadas en Ethereum. La sintaxis de Solidity es similar a JavaScript, lo que hace que sea más fácil de aprender para las personas con experiencia en JavaScript.

Actividad 1: Dedique unos 20 minutos a revisar la documentación de Solidity (https://docs.soliditylang.org/). Anota cualquier similitud o diferencia que notes entre Solidity y otros lenguajes de programación que conozcas.

Sintaxis, tipos de datos, variables y funciones en Solidity

En Solidity, tenemos varios tipos de datos, incluidos uint, dirección, bool y cadena. Definimos variables para almacenar datos y escribimos funciones para manipular estos datos. Creemos un contrato inteligente muy básico. Crearemos un contrato que almacena un número y nos permite recuperar y cambiar ese número.

Abra TronIDE y cree un nuevo espacio de trabajo. En el primer contrato llamado Storage.sol puedes encontrar este código:

Solidez 
 // Identificador de licencia SPDX: GPL-3.0 

 pragma solidez >=0.7.0 <0.9.0; 

 /** 
 * @title Almacenamiento 
 * @dev Almacenar y recuperar valor en una variable 
 */ 
 contrato Almacenamiento { 

 uint256 número; 

 /** 
 * @dev Almacenar valor en la variable 
 * @param num valor a almacenar 
 */ 
 function store(uint256 num) public {
        number = num;
    }

    /** 
 * @dev Valor de retorno 
 * @return valor de 'número' 
 */ 
 función recuperar() vista pública devuelve (uint256){
        return number;
    }
}

En este contrato declaramos:

  • Un number de variable de estado de tipo uint256 (entero sin signo de 256 bits)
  • Una función store() que actualiza el valor del number
  • Una función retrieve() que devuelve el valor actual del number

Escritura e implementación de un contrato inteligente de Tron simple en Nile Testnet

Ahora que tenemos nuestro contrato, implementémoslo en Nile Testnet.

  • Paso 1: Compile el contrato en TronIDE haciendo clic en el segundo icono desde la parte superior de la barra lateral izquierda (Compilar).
  • Paso 2: asegúrese de que su billetera TronLink esté conectada a Nile Testnet.

  • Paso 3: Haga clic en el tercer ícono desde la parte superior de la barra lateral izquierda en TronIDE (Implementar y ejecutar transacciones), seleccione su contrato en el menú desplegable y haga clic en 'Implementar'.

¡Voilá! ¡Su primer contrato ya está disponible en Nile Testnet!

Interactuar con el contrato implementado

Después de implementar con éxito su contrato inteligente en Nile Testnet a través de TronIDE, siga estos pasos:

  • Paso 1: abra la pestaña "Implementar y ejecutar transacciones" en TronIDE. Este es el tercer ícono desde arriba en la barra lateral izquierda.
  • Paso 2: En la sección "Contratos implementados" a continuación, verá una lista de los contratos que ha implementado. Busque el contrato denominado "Almacenamiento". Haga clic en él para expandirlo y ver las funciones del contrato.
  • Paso 3: Verá dos funciones enumeradas, store() y retrieve().
  • Paso 4: Para almacenar un número, ingrese el número deseado en el campo al lado de la función store() . Asegúrese de que el número esté dentro del rango aceptable para uint256 (entre 0 y aproximadamente 1,15x10^77). Después de haber ingresado el número, haga clic en el botón store() . Se iniciará una transacción.

  • Paso 5: Aparecerá una notificación de TronLink solicitando su confirmación para realizar esta transacción. Confirma la transacción.
  • Paso 6: Una vez confirmada la transacción (puede verificar el estado en el historial de transacciones de su billetera TronLink), puede llamar a la función retrieve() . Haga clic en el botón retrieve() . No es necesario ingresar ningún valor para esta función.
  • Paso 7: La llamada a la función retrieve() no creará una nueva transacción ya que es una función view (no modifica el estado del contrato). Debería ver el resultado mostrado en la pestaña "consola" en la parte inferior de la pantalla de TronIDE. El número que ve debe ser el mismo que almacenó usando la función store() .

¡Eso es todo! Ha interactuado con su contrato implementado. Esta interacción forma la parte central de cómo los usuarios interactúan con sus dApps.

Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.
Catalogue
Leçon 2

Conceptos básicos de los contratos inteligentes de Solidity

¡Bienvenidos a la Lección 2! Hoy nos vamos a sumergir en el fascinante mundo de la programación de Solidity y la creación de contratos inteligentes. Exploraremos la sintaxis fundamental de Solidity, tipos de datos, variables y funciones. Además, escribiremos nuestro primer contrato inteligente simple y lo implementaremos en Nile Testnet usando TronIDE y nuestra billetera TronLink. ¡Vamos a entrar!

Introducción al lenguaje de programación Solidity para contratos inteligentes

Solidity es el principal lenguaje de programación para crear contratos inteligentes en Tron y otras cadenas de bloques basadas en Ethereum. La sintaxis de Solidity es similar a JavaScript, lo que hace que sea más fácil de aprender para las personas con experiencia en JavaScript.

Actividad 1: Dedique unos 20 minutos a revisar la documentación de Solidity (https://docs.soliditylang.org/). Anota cualquier similitud o diferencia que notes entre Solidity y otros lenguajes de programación que conozcas.

Sintaxis, tipos de datos, variables y funciones en Solidity

En Solidity, tenemos varios tipos de datos, incluidos uint, dirección, bool y cadena. Definimos variables para almacenar datos y escribimos funciones para manipular estos datos. Creemos un contrato inteligente muy básico. Crearemos un contrato que almacena un número y nos permite recuperar y cambiar ese número.

Abra TronIDE y cree un nuevo espacio de trabajo. En el primer contrato llamado Storage.sol puedes encontrar este código:

Solidez 
 // Identificador de licencia SPDX: GPL-3.0 

 pragma solidez >=0.7.0 <0.9.0; 

 /** 
 * @title Almacenamiento 
 * @dev Almacenar y recuperar valor en una variable 
 */ 
 contrato Almacenamiento { 

 uint256 número; 

 /** 
 * @dev Almacenar valor en la variable 
 * @param num valor a almacenar 
 */ 
 function store(uint256 num) public {
        number = num;
    }

    /** 
 * @dev Valor de retorno 
 * @return valor de 'número' 
 */ 
 función recuperar() vista pública devuelve (uint256){
        return number;
    }
}

En este contrato declaramos:

  • Un number de variable de estado de tipo uint256 (entero sin signo de 256 bits)
  • Una función store() que actualiza el valor del number
  • Una función retrieve() que devuelve el valor actual del number

Escritura e implementación de un contrato inteligente de Tron simple en Nile Testnet

Ahora que tenemos nuestro contrato, implementémoslo en Nile Testnet.

  • Paso 1: Compile el contrato en TronIDE haciendo clic en el segundo icono desde la parte superior de la barra lateral izquierda (Compilar).
  • Paso 2: asegúrese de que su billetera TronLink esté conectada a Nile Testnet.

  • Paso 3: Haga clic en el tercer ícono desde la parte superior de la barra lateral izquierda en TronIDE (Implementar y ejecutar transacciones), seleccione su contrato en el menú desplegable y haga clic en 'Implementar'.

¡Voilá! ¡Su primer contrato ya está disponible en Nile Testnet!

Interactuar con el contrato implementado

Después de implementar con éxito su contrato inteligente en Nile Testnet a través de TronIDE, siga estos pasos:

  • Paso 1: abra la pestaña "Implementar y ejecutar transacciones" en TronIDE. Este es el tercer ícono desde arriba en la barra lateral izquierda.
  • Paso 2: En la sección "Contratos implementados" a continuación, verá una lista de los contratos que ha implementado. Busque el contrato denominado "Almacenamiento". Haga clic en él para expandirlo y ver las funciones del contrato.
  • Paso 3: Verá dos funciones enumeradas, store() y retrieve().
  • Paso 4: Para almacenar un número, ingrese el número deseado en el campo al lado de la función store() . Asegúrese de que el número esté dentro del rango aceptable para uint256 (entre 0 y aproximadamente 1,15x10^77). Después de haber ingresado el número, haga clic en el botón store() . Se iniciará una transacción.

  • Paso 5: Aparecerá una notificación de TronLink solicitando su confirmación para realizar esta transacción. Confirma la transacción.
  • Paso 6: Una vez confirmada la transacción (puede verificar el estado en el historial de transacciones de su billetera TronLink), puede llamar a la función retrieve() . Haga clic en el botón retrieve() . No es necesario ingresar ningún valor para esta función.
  • Paso 7: La llamada a la función retrieve() no creará una nueva transacción ya que es una función view (no modifica el estado del contrato). Debería ver el resultado mostrado en la pestaña "consola" en la parte inferior de la pantalla de TronIDE. El número que ve debe ser el mismo que almacenó usando la función store() .

¡Eso es todo! Ha interactuado con su contrato implementado. Esta interacción forma la parte central de cómo los usuarios interactúan con sus dApps.

Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.