Link de Hardhat:
https://hardhat.org/tutorial
Ethereum Developer Program: plan de estudio
Qué es el Ethereum Developer Program
¿Cómo convertirse en blockchain developer?
Ethereum Developer Program: plan de estudio
Ethereum Fundamentals
Importancia del Manejo de Memoria en desarrollo Web3
Importancia del Manejo de Memoria: Actividades
Cómo se almacenan los datos en Ethereum
Week 1: Kick off the program
Sesión de Bienvenida al Ethereum Developer Program
Configuración del entorno con Hardhat y contratos inteligentes
Week 2: Smart Contracts: Upgradables with Oracles
Smart Contracts with OpenZeppelin and Oracles
Aplicación de oráculos en un contrato inteligente con Chainlink
Week 3: Ethereum Virtual Machine
Criptografía y Ethereum Virtual Machine
Week 4: Mastering Solidity
Mastering Solidity: Events and Security
Memory vs. Storage en Solidity
Consideraciones de seguridad para smart contracts
Week 5: QA Solidity
Sesión de proyectos de ejemplo con Angela Ocando
Week 6: Descentralized applications
Introducción al desarrollo de aplicaciones descentralizadas
Week 7: Fleek and Pocket
Infraestructura Blockchain: Pocket Network
Week 8: MakerDAO
MakerDAO: construir organizaciones descentralizadas
Week 9: Push Notifications
Push Protocol: sobrepasando los límites de usabilidad en Web3
Week 10: IPFS and ENS
Introducción a Zero Knowledge Proof con Starkware
Week 11: layer 2
Infraestructura Web3 con Lens Protocol
Week 12: Modular Blockchains
Capa de ejecución Modular con Fuel Labs
Week 13: Zero Knowledge
Layer 2 en Blockchain: Lo que necesitas saber
Week 14: Community projects
Talent Fest: Presentación de proyectos en Blockchain
Contenido complementario
Tokens y Tokenización
Monetización para Blockchain Developers
Quiz: Contenido complementario
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
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.
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:
Instala HardHat como dependencia de desarrollo:
npm install --save-dev hardhat
Esto asegura que el entorno de desarrollo se mantenga limpio y organizado.
Inicia tu proyecto con HardHat:
npx hardhat
Crea la estructura de carpetas:
contracts/
para tus smart contracts.test/
para las pruebas de tus contratos.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);
});
});
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.
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.
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:
console.log
del código de producción.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
Link de Hardhat:
https://hardhat.org/tutorial
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?