Lição 2

Conceptos básicos de Ethereum y Solidez

Ethereum es una plataforma basada en blockchain que admite contratos inteligentes y aplicaciones descentralizadas (dApps).

Descripción general de Ethereum

Ethereum es una plataforma de software distribuido de código abierto basada en blockchain que se ha convertido en un importante desafío para Bitcoin. Ethereum fue propuesto por primera vez en 2013 por el investigador de criptomonedas Vitalik Buterin, quien sugirió agregar un lenguaje de script para programar a Bitcoin. Fue lanzado el 30 de julio de 2015. El desarrollo de Ethereum fue patrocinado por una venta colectiva en línea, un tipo de crowdsourcing en el que se emitían tokens de criptomonedas.

Leer más: ¿Qué es Ethereum?

La criptomoneda nativa de Ethereum se llama Ether (ETH) y presenta un lenguaje de programación conocido como Solidity. Blockchain, la tecnología subyacente de Ethereum, es un libro de contabilidad distribuido que mantiene una lista de registros permanente y a prueba de manipulaciones. Esta arquitectura descentralizada permite a los desarrolladores crear una amplia gama de aplicaciones descentralizadas (dApps), aprovechando el sólido ecosistema y la versatilidad de la plataforma.

Una de las características principales de Ethereum es su soporte para contratos inteligentes, que son contratos digitales que se ejecutan automáticamente en función de condiciones predefinidas, como mencionamos en la Lección 1. Estos contratos inteligentes permiten un entorno sin confianza donde las transacciones se pueden realizar de forma segura y transparente sin necesidad de intermediarios. Los mineros de la red Ethereum estaban produciendo tokens Ether, que sirven no sólo como moneda sino también como medio para pagar las tarifas de uso en la plataforma; Después de "The Merge", Ethereum pasó a un mecanismo de prueba de participación (PoS), donde los validadores (no los mineros) validan las transacciones y crean nuevos bloques. En lugar de producir tokens Ether, los validadores ganan tarifas de transacción y bloquean recompensas en Ether por su participación en la red. Ether todavía sirve como medio para pagar las tarifas de uso en la plataforma, pero su emisión y distribución son diferentes del mecanismo de Prueba de Trabajo (PoW) anterior.

La capacidad de Ethereum para alojar dApps y contratos inteligentes ha atraído un gran interés por parte de desarrolladores y organizaciones, lo que la convierte en una plataforma líder para crear soluciones innovadoras en diversas industrias, incluidas las finanzas, la cadena de suministro y los juegos, entre otras. A medida que el ecosistema Ethereum continúa evolucionando, permanece a la vanguardia de la tecnología blockchain, impulsando la innovación y fomentando una próspera comunidad de desarrolladores y usuarios por igual.

Leer más: ¿ Qué es The Merge?

Leer más: ¿ Qué es DApp?

Introducción al lenguaje de programación Solidity

Solidity es un lenguaje de programación de tipo estático de alto nivel diseñado específicamente para escribir contratos inteligentes en la cadena de bloques Ethereum. Desarrollado por el equipo central de Ethereum, la sintaxis de Solidity está influenciada por JavaScript, lo que lo hace familiar y accesible para una amplia gama de desarrolladores. El lenguaje es Turing completo, lo que permite a los desarrolladores crear una lógica compleja e implementar diversas funcionalidades en sus contratos inteligentes. Solidity se compila en el código de bytes de Ethereum Virtual Machine (EVM), que se ejecuta en la red Ethereum.

En Solidity, los desarrolladores pueden definir estructuras de datos personalizadas, crear funciones definidas por el usuario e implementar mecanismos de control de acceso, entre otras características. Con Solidity, es posible crear una amplia gama de aplicaciones descentralizadas, incluidas plataformas de finanzas descentralizadas (DeFi), tokens no fungibles (NFT), organizaciones autónomas descentralizadas (DAO) y más.

Estructura de un contrato de Solidez: Ejemplo

Un contrato de Solidity es un código autónomo que consta de variables, funciones, eventos y modificadores, entre otros elementos. La estructura básica de un contrato de Solidity es la siguiente:

  1. Directiva Pragma: esta línea especifica la versión compatible del compilador Solidity para el contrato inteligente. Por ejemplo:

    Solidez 
     pragma solidez ^0.8.0;
    
  2. Definición del contrato: esta línea declara el contrato y su nombre. \
    Por ejemplo:

    Contrato de solidez 
     SimpleToken {
    
  3. Variables de estado: son variables que almacenan el estado del contrato en blockchain. Por ejemplo, puedes almacenar el suministro total de un token:

    Solidez 
     uint256 oferta total pública;
    
  4. Funciones: Las funciones definen el comportamiento del contrato y pueden ser invocadas por usuarios externos u otros contratos. Aquí hay una función simple para transferir tokens:

    Transferencia de función de solidez 
     (destinatario de la dirección, monto uint256) pública {
     // ... transfer logic ...
    }
    
  5. Eventos: los eventos se utilizan para registrar acciones específicas en el contrato y pueden ser monitoreados por usuarios o contratos externos. Por ejemplo, un evento de Transferencia en un contrato simbólico:

    Transferencia de evento de solidez 
     (dirección indexada desde, dirección indexada hacia, valor uint256);
    
  6. Modificadores: los modificadores se utilizan para modificar el comportamiento de funciones, generalmente para control de acceso o comprobaciones de condiciones previas. Por ejemplo, un modificador para comprobar si el remitente tiene suficientes tokens para transferir:

    El modificador de JavaScript 
     tiene EnoughTokens (cantidad uint256) {
     require(balanceOf[msg.sender] >= amount, "Insufficient balance");
     _;
    }
    
  7. Constructor: el constructor es una función especial que inicializa las variables de estado del contrato cuando se implementa. Por ejemplo, inicializando el suministro total de un token:

    Constructor de JavaScript 
     (uint256 _totalSupply) {
     totalSupply = _totalSupply;
     balanceOf[msg.sender] = _totalSupply;
    }
    

En conjunto, un contrato de Solidity simple para un token podría verse así:

Solidez pragma de TypeScript 
 ^0.8.0; 

 contrato SimpleToken { 
 uint256 public totalSupply; 
 mapeo (dirección => uint256) balance público de; 

 transferencia de eventos (dirección indexada desde, dirección indexada hacia, valor uint256); 

 modificador hasEnoughTokens(cantidad uint256) {
        require(balanceOf[msg.sender] >= amount, "Insufficient balance");
        _;
    }
}

Reflejos
Ethereum es una plataforma basada en blockchain que admite contratos inteligentes y aplicaciones descentralizadas (dApps).
La criptomoneda nativa de Ethereum es Ether (ETH).
Solidity es un lenguaje de programación de alto nivel que se utiliza para escribir contratos inteligentes en Ethereum.
Los contratos inteligentes en Ethereum se ejecutan automáticamente según condiciones predefinidas.
Ethereum ha pasado a un mecanismo de prueba de participación (PoS) para validar transacciones y crear nuevos bloques.
Solidity permite a los desarrolladores definir estructuras de datos, crear funciones, implementar control de acceso y más.
El ecosistema de Ethereum atrae a desarrolladores y organizaciones de diversas industrias.
Los contratos de solidez constan de pragmas, definición de contrato, variables de estado, funciones, eventos, modificadores y constructores.
Los contratos de solidez se pueden utilizar para crear plataformas DeFi, NFT, DAO y más.

Exclusão de responsabilidade
* O investimento em criptomoedas envolve riscos significativos. Prossiga com cuidado. O curso não pretende ser um conselho de investimento.
* O curso é criado pelo autor que se juntou ao Gate Learn. Qualquer opinião partilhada pelo autor não representa o Gate Learn.
Catálogo
Lição 2

Conceptos básicos de Ethereum y Solidez

Ethereum es una plataforma basada en blockchain que admite contratos inteligentes y aplicaciones descentralizadas (dApps).

Descripción general de Ethereum

Ethereum es una plataforma de software distribuido de código abierto basada en blockchain que se ha convertido en un importante desafío para Bitcoin. Ethereum fue propuesto por primera vez en 2013 por el investigador de criptomonedas Vitalik Buterin, quien sugirió agregar un lenguaje de script para programar a Bitcoin. Fue lanzado el 30 de julio de 2015. El desarrollo de Ethereum fue patrocinado por una venta colectiva en línea, un tipo de crowdsourcing en el que se emitían tokens de criptomonedas.

Leer más: ¿Qué es Ethereum?

La criptomoneda nativa de Ethereum se llama Ether (ETH) y presenta un lenguaje de programación conocido como Solidity. Blockchain, la tecnología subyacente de Ethereum, es un libro de contabilidad distribuido que mantiene una lista de registros permanente y a prueba de manipulaciones. Esta arquitectura descentralizada permite a los desarrolladores crear una amplia gama de aplicaciones descentralizadas (dApps), aprovechando el sólido ecosistema y la versatilidad de la plataforma.

Una de las características principales de Ethereum es su soporte para contratos inteligentes, que son contratos digitales que se ejecutan automáticamente en función de condiciones predefinidas, como mencionamos en la Lección 1. Estos contratos inteligentes permiten un entorno sin confianza donde las transacciones se pueden realizar de forma segura y transparente sin necesidad de intermediarios. Los mineros de la red Ethereum estaban produciendo tokens Ether, que sirven no sólo como moneda sino también como medio para pagar las tarifas de uso en la plataforma; Después de "The Merge", Ethereum pasó a un mecanismo de prueba de participación (PoS), donde los validadores (no los mineros) validan las transacciones y crean nuevos bloques. En lugar de producir tokens Ether, los validadores ganan tarifas de transacción y bloquean recompensas en Ether por su participación en la red. Ether todavía sirve como medio para pagar las tarifas de uso en la plataforma, pero su emisión y distribución son diferentes del mecanismo de Prueba de Trabajo (PoW) anterior.

La capacidad de Ethereum para alojar dApps y contratos inteligentes ha atraído un gran interés por parte de desarrolladores y organizaciones, lo que la convierte en una plataforma líder para crear soluciones innovadoras en diversas industrias, incluidas las finanzas, la cadena de suministro y los juegos, entre otras. A medida que el ecosistema Ethereum continúa evolucionando, permanece a la vanguardia de la tecnología blockchain, impulsando la innovación y fomentando una próspera comunidad de desarrolladores y usuarios por igual.

Leer más: ¿ Qué es The Merge?

Leer más: ¿ Qué es DApp?

Introducción al lenguaje de programación Solidity

Solidity es un lenguaje de programación de tipo estático de alto nivel diseñado específicamente para escribir contratos inteligentes en la cadena de bloques Ethereum. Desarrollado por el equipo central de Ethereum, la sintaxis de Solidity está influenciada por JavaScript, lo que lo hace familiar y accesible para una amplia gama de desarrolladores. El lenguaje es Turing completo, lo que permite a los desarrolladores crear una lógica compleja e implementar diversas funcionalidades en sus contratos inteligentes. Solidity se compila en el código de bytes de Ethereum Virtual Machine (EVM), que se ejecuta en la red Ethereum.

En Solidity, los desarrolladores pueden definir estructuras de datos personalizadas, crear funciones definidas por el usuario e implementar mecanismos de control de acceso, entre otras características. Con Solidity, es posible crear una amplia gama de aplicaciones descentralizadas, incluidas plataformas de finanzas descentralizadas (DeFi), tokens no fungibles (NFT), organizaciones autónomas descentralizadas (DAO) y más.

Estructura de un contrato de Solidez: Ejemplo

Un contrato de Solidity es un código autónomo que consta de variables, funciones, eventos y modificadores, entre otros elementos. La estructura básica de un contrato de Solidity es la siguiente:

  1. Directiva Pragma: esta línea especifica la versión compatible del compilador Solidity para el contrato inteligente. Por ejemplo:

    Solidez 
     pragma solidez ^0.8.0;
    
  2. Definición del contrato: esta línea declara el contrato y su nombre. \
    Por ejemplo:

    Contrato de solidez 
     SimpleToken {
    
  3. Variables de estado: son variables que almacenan el estado del contrato en blockchain. Por ejemplo, puedes almacenar el suministro total de un token:

    Solidez 
     uint256 oferta total pública;
    
  4. Funciones: Las funciones definen el comportamiento del contrato y pueden ser invocadas por usuarios externos u otros contratos. Aquí hay una función simple para transferir tokens:

    Transferencia de función de solidez 
     (destinatario de la dirección, monto uint256) pública {
     // ... transfer logic ...
    }
    
  5. Eventos: los eventos se utilizan para registrar acciones específicas en el contrato y pueden ser monitoreados por usuarios o contratos externos. Por ejemplo, un evento de Transferencia en un contrato simbólico:

    Transferencia de evento de solidez 
     (dirección indexada desde, dirección indexada hacia, valor uint256);
    
  6. Modificadores: los modificadores se utilizan para modificar el comportamiento de funciones, generalmente para control de acceso o comprobaciones de condiciones previas. Por ejemplo, un modificador para comprobar si el remitente tiene suficientes tokens para transferir:

    El modificador de JavaScript 
     tiene EnoughTokens (cantidad uint256) {
     require(balanceOf[msg.sender] >= amount, "Insufficient balance");
     _;
    }
    
  7. Constructor: el constructor es una función especial que inicializa las variables de estado del contrato cuando se implementa. Por ejemplo, inicializando el suministro total de un token:

    Constructor de JavaScript 
     (uint256 _totalSupply) {
     totalSupply = _totalSupply;
     balanceOf[msg.sender] = _totalSupply;
    }
    

En conjunto, un contrato de Solidity simple para un token podría verse así:

Solidez pragma de TypeScript 
 ^0.8.0; 

 contrato SimpleToken { 
 uint256 public totalSupply; 
 mapeo (dirección => uint256) balance público de; 

 transferencia de eventos (dirección indexada desde, dirección indexada hacia, valor uint256); 

 modificador hasEnoughTokens(cantidad uint256) {
        require(balanceOf[msg.sender] >= amount, "Insufficient balance");
        _;
    }
}

Reflejos
Ethereum es una plataforma basada en blockchain que admite contratos inteligentes y aplicaciones descentralizadas (dApps).
La criptomoneda nativa de Ethereum es Ether (ETH).
Solidity es un lenguaje de programación de alto nivel que se utiliza para escribir contratos inteligentes en Ethereum.
Los contratos inteligentes en Ethereum se ejecutan automáticamente según condiciones predefinidas.
Ethereum ha pasado a un mecanismo de prueba de participación (PoS) para validar transacciones y crear nuevos bloques.
Solidity permite a los desarrolladores definir estructuras de datos, crear funciones, implementar control de acceso y más.
El ecosistema de Ethereum atrae a desarrolladores y organizaciones de diversas industrias.
Los contratos de solidez constan de pragmas, definición de contrato, variables de estado, funciones, eventos, modificadores y constructores.
Los contratos de solidez se pueden utilizar para crear plataformas DeFi, NFT, DAO y más.

Exclusão de responsabilidade
* O investimento em criptomoedas envolve riscos significativos. Prossiga com cuidado. O curso não pretende ser um conselho de investimento.
* O curso é criado pelo autor que se juntou ao Gate Learn. Qualquer opinião partilhada pelo autor não representa o Gate Learn.