Material muy valioso, este programa está muy bien estructurado y con objetivos claros.
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
Convierte tus certificados en títulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Angela Ocando
Lectura
Web3 es una visión de internet en la que los usuarios tienen más opciones, control y propiedad. Es un nuevo paradigma tecnológico y social en el que los datos pueden registrarse en cadenas de bloques -blockchain-, tokenizarse o administrarse y accederse a ellos en redes descentralizadas, de código abierto y de persona a persona.
El movimiento cripto está atrayendo a muchos desarrolladores, y es fácil entender por qué. Los salarios de los desarrolladores de web3 son atractivos y la oportunidad de generar un impacto es incomparable.
¿Te gustaría ser parte? Este post te ayudará a entender el panorama que existe.
Puedes tomar diferentes caminos para convertirte en un blockchain developer y, por lo tanto, no hay una secuencia exacta de pasos a seguir. También hay mucha información para digerir, así que para evitar abrumarte, es mejor tomar las cosas poco a poco.
👇🏼 Así es como se ve el camino básico.
Fuente imagen: chainsafe
En web3 no hay barrera de entrada. Cualquier persona motivada puede aprender, sin embargo, debe tenerse en cuenta que una buena aptitud matemática, habilidades analíticas y la capacidad para resolver problemas de manera creativa pueden brindarte una ventaja.
Para trabajar en el espacio, necesitarás saber sobre estructuras de datos y algoritmos. Debes conocer los conceptos básicos de programación y tecnología blockchain.
El término “blockchain” abarca una amplia gama de innovaciones relacionadas que afectan a muchos aspectos diferentes de la sociedad. Pero en resumen, una blockchain o cadena de bloques es una base de datos descentralizada gobernada por sus usuarios.
Bitcoin es la primera y más famosa blockchain, por lo que leer el whitepaper de Bitcoin es el primer paso que puedes tomar para aprender más sobre la tecnología.
Después de eso, debes conocer Ethereum, la cadena de bloques programable.
Dado que las blockchains funcionan con un modelo de red descentralizado de persona a persona; no hay un solo servidor o nodo. En este contexto, un nodo es una pieza de software en una computadora conectada a una red que mantiene una copia de los cambios actuales e históricos a un registro distribuido.
Si bien los nodos de la blockchain no necesariamente deben confiar entre sí, el sistema debe salvaguardar la información de las transacciones. Aquí entra la criptografía, un ingrediente esencial para proteger la información de las transacciones y garantizar la coherencia de los datos.
Blockchain se basa en la criptografía, por lo que vale la pena familiarizarse con algunos conceptos fundamentales. Esto significa conocer los conceptos básicos de la criptografía asimétrica y sus aplicaciones, incluidos los algoritmos de firma, la generación de pares de claves públicas y privadas, etc.
Tokenomics es otro aspecto importante a comprender, ya que muchas aplicaciones en web3 funcionan con tokens. Y para comprenderlo, primero hay que entender cómo funciona el dinero.
Los tokens lo que logran es generar un sistema de incentivos entre los usuarios para beneficia tanto a ellos como a la plataforma.
No existe un enfoque único para convertirse en un desarrollador de blockchain. Puedes convertirte en desarrollador de backend, desarrollador de frontend o ambos. También puedes trabajar en la capa de protocolo o centrarte únicamente en contratos inteligentes.
En este programa, te impulsaremos a convertirte en Full Stack Blockchain Developer.
Fuente imagen: chainsafe
Por supuesto, dentro de cada categoría, hay mucha variación. Puedes trabajar en la investigación de blockchain, el desarrollo de especificaciones, algoritmos, diseño de tokenomics o herramientas. Podrías centrarte en entornos de desarrollo integrados, frameworks, librerías y middleware, o pasar tu tiempo en la capa de aplicación, trabajando en contratos inteligentes, desarrollo de UX/UI, diseño, etc.
Para la mayoría, crear una aplicación será el camino de menor resistencia. También podrías decidir centrarte exclusivamente en escribir contratos inteligentes y omitir todo el aprendizaje requerido para ser un desarrollador full-stack.
Trabajar en la capa de protocolo implica comprender las especificaciones de una blockchain determinada y contribuir a una implementación. La infraestructura es una pieza crítica de cualquier red descentralizada. De hecho, sin desarrolladores de protocolo (core), no hay cadena de bloques.
Independientemente de la dirección que elijas, deberás aprender algunos de los lenguajes de programación utilizados en web3. Hay muchas opciones, pero algunas de las más populares incluyen Solidity, JavaScript, Python, Go y Rust.
También es importante recordar que convertirse en desarrollador web3 no significa dejar todo lo que había antes. En este sentido, los tres grandes son HTML, CSS y JavaScript.
Más allá de eso, decida si desea centrarse en la parte backend o frontend. Si te especializas en el desarrollo frontend, querrás aprender librerías y frameworks como React, Vue o Angular.
Estos son los fundamentos necesarios para construir el frontend de una aplicación descentralizada (Dapp). Las Dapps son aplicaciones creadas en una blockchain con un frontend estándar y un backend en la cadena de bloques.
Si deseas concentrarte en el backend, querrás aprender Solidity, Rust o Go.
Frontend
El frontend de una Dapp está construido con algunos de los marcos mencionados anteriormente. Para comprender cómo interactúan el frontend y el backend de una Dapp debes comprender el desarrollo frontend tradicional y los principios básicos del desarrollo backend estándar.
Tendrás que decidir en qué ecosistema quieres enfocarte. Cada ecosistema tiene características únicas. Ethereum tiene la mayor actividad de desarrolladores y las Dapps más grandes existentes.
Para comenzar con Ethereum, seguramente tendrás que usar un ambiente de desarrollo como Hardhat o Truffle. Esto simplificará el proceso y te ayudará a evitar errores comunes al crear tus propios proyectos.
Backend
El backend de una Dapp no es lo mismo que un backend “estándar”. La primera diferencia es que con una Dapp, la blockchain es la fuente principal del estado de los datos almacenados frente a las bases de datos o el almacenamiento de objetos que suelen utilizar los backends estándar.
Si bien los objetivos técnicos son similares, generalmente no se recomienda sumergirse en el backend sin tener una orientación firme en el desarrollo web tradicional.
Sin embargo, si este es el camino que deseas seguir, aprender el desarrollo de backend significará conectar bases de datos, crear sus propias API REST, construir la lógica comercial que impulsará sus herramientas, etc.
Para el backend, esta es tu lista de tareas pendientes: aprende Node, Express, HTTP, cómo desarrollar APIs y comienza a implementar aplicaciones.
Los smart contracts o contratos inteligentes son scripts programables implementados en una blockchain para ejecutar operaciones lógicas en una máquina virtual.
Escritos en Solidity, Vyper, DAML u otro lenguaje, los contratos inteligentes permiten que las aplicaciones descentralizadas aprovechen la seguridad de blockchain y la criptografía, la integridad de los datos históricos y la confiabilidad del uso no autorizado, al mismo tiempo que son accesibles abiertamente para cualquier persona para la verificación y el análisis de datos.
Solidity es el lenguaje de contratos inteligentes más popular. Solidity se escribe y compila estáticamente, lo que significa que debe generar un binario antes de ejecutarlo. Solidity tiene una excelente documentación y es similar a JavaScript en términos del tiempo requerido para aprender.
Antes de escribir cualquier código, debes configurar tu entorno de desarrollo. Esto significa que Remix-IDE, una herramienta popular para escribir, compilar e implementar contratos, o herramientas como Hardhat y Brownie también pueden ser útiles cuando se necesita un entorno de desarrollo local.
Un gran recurso de introducción al desarrollo de smart contract es el “Speed Run Ethereum”.
También vale la pena mencionar que no es necesario hacer código desde cero al principio. Tendrás que aprender cómo cubrir necesidades específicas e implementar reglas automatizadas adecuadas con el tiempo. Pero hay muchas plantillas de contratos inteligentes que los principiantes pueden usar. OpenZeppelin es un lugar para encontrar librerías de contratos inteligentes probadas.
El desarrollo de protocolos implica la programación de las reglas que rigen cómo debe comportarse una blockchain en particular.
Los protocolos generalmente se organizan en capas, por ejemplo, las capas OSI para redes. Esto permite un fácil acoplamiento y la capacidad de desarrollar las capas al mismo tiempo.
Este enfoque en capas también se ha adoptado en muchos sistemas de cadenas de bloques populares. Esto incluye cadenas de bloques de capa uno (L1), las redes base para el componente más esencial de una cadena de bloques: el consenso, que sirve como red base para el sistema y proporciona cosas como garantías de seguridad.
Y la capa dos (L2): protocolos secundarios integrados en una L1 que ayudan con aspectos como el escalado, las tarifas y la velocidad de las transacciones. Los L2 se construyen sobre una red L1 para heredar las garantías de seguridad de la capa base mientras se mueve el cómputo pesado a otra cadena.
Algunas cadenas de bloques también tienen el concepto de capa 0, por ejemplo, Polkadot. En otros casos, la capa cero también puede referirse al consenso social.
Para comenzar como desarrollador de protocolos, debes identificar a qué ecosistema deseas contribuir y en qué capa. Un buen primer paso es mirar las próximas propuestas de especificaciones de una cadena de bloques elegida para comprender hacia dónde se dirige el desarrollo.
Estos detalles generalmente se especifican en “yellow papers” o documentos de especificaciones. Algunos ejemplos son Polkadot, Ethereum y Filecoin.
Dado que las cadenas de bloques más populares son de código abierto, también es posible mirar el código para tener una idea de cómo se implementa el protocolo. Tómate un tiempo para investigar y verificar los problemas abiertos y cerrados contra las implementaciones del protocolo.
Ten en cuenta que el desarrollo de protocolos también incluye la infraestructura construida alrededor de las diferentes capas, por ejemplo, puentes (como ChainBridge) o exploradores de bloques como el explorador de cadenas Beacon. Esta es otra ruta de desarrollo que puedes seguir.
Aportes 2
Preguntas 0
Material muy valioso, este programa está muy bien estructurado y con objetivos claros.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?