Ethereum Developer Program: plan de estudio

1

Qué es el Ethereum Developer Program

2

¿Cómo convertirse en blockchain developer?

3

Ethereum Developer Program: plan de estudio

Ethereum Fundamentals

4

Importancia del Manejo de Memoria en desarrollo Web3

5

Importancia del Manejo de Memoria: Actividades

6

Cómo se almacenan los datos en Ethereum

Week 1: Kick off the program

7

Sesión de Bienvenida al Ethereum Developer Program

8

Configuración del entorno con Hardhat y contratos inteligentes

Week 2: Smart Contracts: Upgradables with Oracles

9

Smart Contracts with OpenZeppelin and Oracles

10

Aplicación de oráculos en un contrato inteligente con Chainlink

Week 3: Ethereum Virtual Machine

11

Criptografía y Ethereum Virtual Machine

Week 4: Mastering Solidity

12

Mastering Solidity: Events and Security

13

Memory vs. Storage en Solidity

14

Consideraciones de seguridad para smart contracts

Week 5: QA Solidity

15

Sesión de proyectos de ejemplo con Angela Ocando

Week 6: Descentralized applications

16

Introducción al desarrollo de aplicaciones descentralizadas

Week 7: Fleek and Pocket

17

Infraestructura Blockchain: Pocket Network

Week 8: MakerDAO

18

MakerDAO: construir organizaciones descentralizadas

Week 9: Push Notifications

19

Push Protocol: sobrepasando los límites de usabilidad en Web3

Week 10: IPFS and ENS

20

Introducción a Zero Knowledge Proof con Starkware

Week 11: layer 2

21

Infraestructura Web3 con Lens Protocol

Week 12: Modular Blockchains

22

Capa de ejecución Modular con Fuel Labs

Week 13: Zero Knowledge

23

Layer 2 en Blockchain: Lo que necesitas saber

Week 14: Community projects

24

Talent Fest: Presentación de proyectos en Blockchain

Contenido complementario

25

Tokens y Tokenización

26

Monetización para Blockchain Developers

Quiz: Contenido complementario

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Ethereum Developer Program

Ethereum Developer Program

Amazon Web Services (AWS)

Amazon Web Services (AWS)

Configuración del entorno con Hardhat y contratos inteligentes

8/26
Recursos

¿Cómo se inicia con el desarrollo en Ethereum usando HardHat?

El mundo del desarrollo en Ethereum y Web3 puede parecer complejo, pero con la herramienta adecuada, puedes navegar este entorno con mayor facilidad. HardHat es ese framework poderoso diseñado especialmente para simplificar el proceso de desarrollo de contratos inteligentes y aplicaciones descentralizadas en Ethereum. ¿Por qué HardHat es crucial? Te permite configurar un entorno de desarrollo en Node.js y probar tus contratos antes de desplegarlos en un ambiente real. Esta habilidad es vital para ahorrar tiempo y recursos al detectar errores a nivel local.

¿Cómo se configura un proyecto en HardHat?

El primer paso para iniciar tu proyecto es asegurarte de tener Node.js instalado, preferiblemente la versión 18. Posteriormente, puedes usar el comando npm init para generar un archivo package.json, lo cual es esencial para manejar las dependencias de tu proyecto. Sigue estos pasos:

  1. Instala HardHat como dependencia de desarrollo:

    npm install --save-dev hardhat
    

    Esto asegura que el entorno de desarrollo se mantenga limpio y organizado.

  2. Inicia tu proyecto con HardHat:

    npx hardhat
    
  3. Crea la estructura de carpetas:

    • contracts/ para tus smart contracts.
    • test/ para las pruebas de tus contratos.

¿Por qué es importante probar los contratos inteligentes?

Al crear contratos inteligentes, es crucial realizar pruebas exhaustivas para garantizar su correcto funcionamiento y optimización del consumo de gas. El gas en Ethereum es el costo que requiere ejecutar operaciones en la blockchain, por lo tanto, mientras más eficiente sea tu contrato, menos gas consumirás y, en consecuencia, menos dinero gastarás.

  • Utiliza librerías de testing como Chai para validar comportamientos esperados.

  • Ejemplo de prueba en JavaScript con Chai:

    const { expect } = require("chai");
    const { ethers } = require("hardhat");
    
    describe("Pokémon Contract Functions", function () {
      it("No debería tener Pokémons al inicio", async function () {
        const PokémonFactory = await ethers.getContractFactory("PokémonFactory");
        const PokémonContract = await PokémonFactory.deploy();
        await PokémonContract.deployed();
    
        const pokémons = await PokémonContract.getAllPokémons();
        expect(pokémons.length).to.equal(0);
      });
    });
    

¿Cómo se realiza el debugging de contratos en HardHat?

Una de las ventajas de HardHat es la capacidad de usar console.log para debuggear tu código durante el desarrollo. Aunque esto no debería utilizarse en producción, es extremadamente útil para identificar errores y comportamientos inesperados en la fase de desarrollo.

console.log("Debugging info:", variable);

Haz uso de console.log exclusivamente en el ambiente de desarrollo ya que puede aumentar innecesariamente el tamaño del contrato y elevar costos en la blockchain.

¿Qué papel juegan los eventos en Solidity?

Los eventos en Solidity son cruciales para emitir logs que las aplicaciones de frontend pueden escuchar. Estos eventos no se pueden probar fácilmente sin una interfaz que los detecte, pero su implementación es vital para la comunicación efectiva entre contratos y aplicaciones.

  • Ejemplo de definición e implementación de un evento:

    event NewPokémon(uint indexed id, string name);
    
    function createPokémon(string memory _name) public {
        uint _id = pokemons.length;
        pokemons.push(Pokémon(_id, _name));
        emit NewPokémon(_id, _name);
    }
    

Este ejemplo muestra cómo emitir un evento cada vez que se crea un nuevo Pokémon, lo que permite a las interfaces de usuario reaccionar a cambios en el estado de la blockchain.

¿Qué debes tener en cuenta al probar y desplegar contratos?

Es esencial asegurar que todos los componentes del contrato estén correctamente probados antes de su despliegue en la red Ethereum para optimizar el consumo de gas y garantizar la seguridad del contrato. Sigue estos consejos:

  • Mantén los tests actualizados y revisa continuamente los contratos por eficiencia.
  • Asegúrate de eliminar los console.log del código de producción.
  • Considera las mejores prácticas de desarrollo como el uso de linters y revisiones de código.

Adentrarse en el desarrollo de Ethereum es una experiencia emocionante llena de oportunidades de aprendizaje y crecimiento. Aprovecha cada recurso, sé curioso y no dudes en buscar más información. ¡El viaje en el mundo de la blockchain apenas comienza!

Aportes 1

Preguntas 0

Ordenar por:

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