#SERIE #AllAbout— Blockchain
Un solo post, con toda la serie junta. Se va actualizando este post mientras salgan más capítulos.
By Nico Bevilacqua
Nueva sección de un Relevante aficionado. Serie de 4 capítulos que nace de este tweet.
Introducción
Ya de por sí el mundo de IT o Informática goza de buena salud en el mercado laboral, las oportunidades de inserción son múltiples, y cada vez hay más vetas por donde meterse. Un nuevo nicho: pequeño, pero con un constante y acelerado crecimiento, amado por algunos (cada vez más), odiado por otros y ajeno y atemorizante para gran parte de la sociedad… Blockchain.
Soy un Desarollador web que decidió hace un mes que no quería ser mas ignorante en el tema. Así que me encuentro aprendiendo y documentando el aprendizaje. Esta redacción está guionada por el curso de mi aprendizaje. Lo recomiendo para personas que recién se embarquen en esto, pero no es la verdad absoluta.
Capítulo 1: Herramientas - ¿Qué debería instalar?
Herramientas nuevas salen casi todo el tiempo, por lo que este post puede quedar viejo rápidamente, así que si estas leyendo esto dentro de un año por favor ten en cuenta que mucho de lo aquí nombrado puede que ya sea obsoleto y reemplazado. En orden de lo que usé:
Metamask: Para poder interactuar con la blockchain vas a necesitar una wallet y una address propia. Es la más práctica y utilizada hoy en día. Tener una es requisito en gran parte de los cursos y tutoriales.
Hardhat: Una excelente herramienta llena de funcionalidades, soporte de plugins y otras cosas out of the box que vas a necesitar al momento de empezar a programar y testear tus contratos.
Ethers: Una biblioteca llena de herramientas que te van a facilitar mucho la vida al interactuar con tus contratos, tanto desde una app como desde un test o un script.
Remix: IDE web de solidity ampliamente conocido y usado en muchos de los cursos en internet. La forma mas rápida de ponerte a programar sin necesidad de instalar ninguna herramienta extra en tu computadora.
Capítulo 2: Desarrollo - ¿Hay cursos? Sí.
Ethereum and solidity the complete developers guide by Stephen Grider: Uno de los cursos más recomendados en internet, bestseller de Udemy y un primer acercamiento muy interesante ya que recorre desde la teoría detrás de Blockchain hasta el desarrollo de una aplicación web que interactúa con un Smart Contract. La primera mitad teórica es muy interesante. Una nota: toda la parte de código necesita una buena actualización, así que complementalo con otro más nuevo.
The Complete Solidity Course - Blockchain - Zero to Expert by Clarian North, TJ Walker: 100% enfocado en Solidity y desarrollo de Smart Contracts. Toca temas muy básicos y también cosas bastante avanzadas. Super actualizado y recomendable.
Introduccion a Ethereum Development - Martin Triay: Curso del ITBA subido a YouTube. Son 2 videos de 2 horas aproximadamente en donde Martín explica bastante sobre Hardhat y Solidity, y agrega un recorrido sobre como desarrollar contratos.
Introducción a Hacking y Seguridad en Ethereum - Martin Abbatemarco: Otro curso del ITBA. Un vistazo muy interesante a una pata muy importante del desarrollo de smart contracts que no tuvimos en cuenta hasta ahora: la seguridad. Son dos videos de 2 horas que son un must.
_buildspace: Plataforma bastante nueva en donde se están subiendo cursos interesantes en donde cada alumno va armando un determinado proyecto. Su fuerte es la participación en sesiones de coworking. Ves cosas como un smart contract y una aplicación web encargada de interactuar con el. A estar atentos a nuevos cursos en el futuro.
Capítulo 3: “No entiendo nada de nada”: Historia y contexto.
Un poquito de historia: Todos los días sale un proyecto nuevo, un nuevo token, un nuevo ethereum killer… ¡Paren el mundo! Si te sentís así, quizás te interese entender como es que llegamos al punto en donde estamos, y no hay nada mejor que leer un poco de historia. Para eso existe un libro muy conocido en donde se cuenta todo el recorrido realizado para que ethereum llegue a ser lo que es hoy. Es una lectura muy interesante y un buen complemento al aprendizaje técnico y más práctico: The Infinite Machine
¿Defi? y eso con que se come: Si nunca te interesó demasiado el mundo de las finanzas e inversiones no va a pasar mucho tiempo antes de que te encuentres con términos y siglas ajenas a tu día a día: DAO, Liquidity Pools, ICO, etc. Para entenderlo hay un par de libros muy interesantes de introducción a DeFi (Decentralized Finance) y sus distintas aplicaciones. A mi me ayudo muchísimo a entender muchas cosas de este mundito. https://landing.coingecko.com/how-to-defi/ o esta introducción a DeFi en Platzi https://platzi.com/cursos/defi/
Las documentaciones son tus amigas: Aunque a veces puedan parecer algo desafiantes, las documentaciones de las herramientas que estamos usando son definitivamente nuestras grandes amigas. Recomiendo tomarse el tiempo para leer la documentación de cada herramienta utilizada, muchas veces encontramos cosas que en los cursos o tutoriales no se aclaran como se debería: (1) Ethereum (link); (2) Solidity (link); (3) Ethers (link) ; (4) Hardhat (link)
Capítulo 4: Manos a la obra
Challenges: No hay mejor forma para aprender que arremangarse y ponerse a hacer algo. Si estás tratando de empezar con Solidity, hay cantidades industriales de challenges o retos para aprender más y más acerca de la tecnología. Voy a poner una lista de paginas a investigar, ordenadas por dificultad. Al momento de escribir esto todavía estoy terminando con los retos del primer link:
Popurrí de recursos: Internet es una fuente inagotable de recursos, la biblioteca de babel del mundo moderno. Y aquellos con deseos de aprender una nueva tecnología exponencial y acelerada como Ethereum, recursos y herramientas no le van a faltar. Acá hay una lista de recursos extra a tener en cuenta:
https://github.com/OpenZeppelin/awesome-openzeppelin → Repo lleno de recursos y links para explorar.
https://solidity-by-example.org/ → Interesantes snippets de código que son de gran ayuda para empezar a programar.
https://www.youtube.com/c/DappUniversityL → Canal de youtube lleno de videos con cursos, tutoriales, etc.