Mi camino hacia la Web3
Tags: blockchain, defi, web3
Published: 2022-01-04 16:29:12

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ji5u4h6sw39stbznbqie.png)
 
En este artículo, te mostraré cómo llegué a web3 y, tal vez, con esta guía, también puedas comenzar tu aventura en web3.

Bien, rompamos el hielo. No es tan difícil aprender Web3. No se preocupe si los términos y conceptos son un poco confusos. Yo lo escuché de un colega que le encanta ese tema, lo ví emocionado, como cuando alguien quiere proponerte un "negocio", entonces me dió curiosidad y empecé a investigar al respecto.

La principal diferencia entre las aplicaciones web3 y web2 es que las aplicaciones web3 interactúan con blockchain y tienen un backend basado en blockchain.

Las interfaces para aplicaciones Web3 también se pueden escribir en Angular, Vue ó React. Y con bibliotecas como Web3.js y Ethers.js, su interfaz puede conectarse a la cadena de bloques Ethereum (ó otras depende de la librería), ¡y luego TARAAMMMMM! ¡Ahora eres oficialmente un desarrollador de blockchain! jaja ojalá todo fuera tan fácil. Hay que esforzarse un poco más.

No olvides que aún necesitas los conceptos básicos de la Web si desea ingresar a web3, conocimientos sólidos en:

- HTML 
- CSS 
- JavaScript

## Conceptos ó jerga de la web3
Para mí fue clave empezar a entender la jerga que se usa en web3, son muchos temas al inicio, pero van dominando uno tras otro mientras seas disciplinado con tu aprendizaje. A continuación explico algunos conceptos que hasta hoy he ido aprendiendo:

- Web3: es la conexión entre la cadena de bloques Ethereum y su contrato inteligente.

- Ethereum: una cadena de bloques descentralizada de código abierto que permite a los usuarios interactuar con la red mediante la creación de contratos inteligentes. Su criptomoneda nativa es Ether. En términos de capitalización de mercado, Ether es la segunda criptomoneda más valiosa después de Bitcoin. Fue creado por Vitalik Buterin en 2013.

- Smart contracts: son programas informáticos almacenados en una cadena de bloques que se ejecuta cuando se cumplen condiciones predeterminadas. Los contratos inteligentes están escritos en el lenguaje Solidity.

- Descentralizado: un estado en el que los datos no son recopilados por una entidad central, una plataforma o un individuo.

- Blockchain: una red de cadena de bloques es una conexión de igual a igual en la que la información se comparte entre varios dispositivos, lo que hace que sea casi imposible de piratear. Es un sistema de registro de información que dificulta o imposibilita el cambio de información guardada en la red.

- Sodility: un lenguaje de programación orientado a objetos para escribir contratos inteligentes. Se utiliza para implementar contratos inteligentes en varias plataformas blockchain, en particular, Ethereum. La sintaxis de Solidity es similar a javascript. Para comprender la solidez, es mejor tener experiencia en un lenguaje de programación como javascript. Saltar directamente a la solidez es una mala idea

- Dapp: significa aplicación descentralizada. Son aplicaciones que tienen su código de backend (contratos inteligentes escritos principalmente en Solidity) ejecutándose en redes descentralizadas o blockchain. Las Dapps se pueden construir con marcos frontend como react, vue o angular.

Ahora ya eres tod@ una Gurú en terminología, lo siguiente sería mi recomendación para ir aprendiendo sobre Web3 (esto depende de tu tiempo y dedicación):

### 1. Comprender los conceptos básicos: aprender cómo funciona Blockchain 

Siempre es una buena idea conocer los fundamentos de una nueva tecnología antes de sumergirse. Yo en el pasado cometí el error de empezar a "codear" sin entender lo que estaba haciendo.

En el contexto de Web3, debes comprender los conceptos básicos de la descentralización, cómo funcionan los smart contracts, las redes blockchain y ethereum.

Tu mejor aliado siempre será la documentación. La mayoría de nosotros despreciamos la lectura de documentación. Sin embargo, para avanzar como desarrollador, debes familiarizarse con la documentación de cada tecnología. Es el mejor enfoque para aprender sobre la tecnología porque la documentación intenta hacerlo lo más simple posible incluso para los principiantes.

Para comprender mejor web3, deberás estar familiarizado con los documentos de Ethereum. Los documentos de Solidity también son una excelente manera de comenzar. Sé que da algo de pereza, pero tampoco la idea es que te leas toda la documentación, empieza con lo básico.

### 2. Ver tutoriales: Ver videos sobre smart contracts y Sodility

Me encanta ver videos, yo miré videos/ tutoriales sobre blockchain, Solidity y cómo escribir smart contracts. Si estás buscando tutoriales gratuitos, les recomiendo YouTube. También hay algunos excelentes cursos web3 disponibles en Udemy.

Mi consejo es no depender principalmente de videos tutoriales. Practica lo que has aprendido para salir del infierno de tutoriales. Puedes crear proyectos sencillos para ponerte a prueba.

Yo sigo algunos "youtube channels" que me han ayudado a aprender sobre Web3, espero que pueda ayudarles también:

[Nader Dabit](https://www.youtube.com/user/boyindasouth)
[Dapp University](https://www.youtube.com/channel/UCY0xL8V6NzzFcwzHCgB8orQ)
[Code Experts](https://www.youtube.com/channel/UCb3Rrg2t4PZ59Sna497DUZA/videos)
[Eat Blocks](https://www.youtube.com/channel/UCZM8XQjNOyG2ElPpEUtNasA)

### 3. Comience a codificar 👨‍💻
La práctica hace al maestro.

Con web3.js y las bibliotecas Ethers.js, puedes desarrollar aplicaciones descentralizadas que residen e interactúan con la cadena de bloques.

🛠 Herramientas que yo he usado:

- Truffle
- Remix IDE
- MetaMask
- Ganache
- Ethers.js o Web3.js
- Hardhat

**Truffle**

Con más de 1,5 millones de descargas, Truffle es la herramienta más popular para desarrollar aplicaciones blockchain.

**Remix IDE**

Puede usar Remix IDE para facilitar las cosas, especialmente si eres un novato. Puedes usar esto para crear, modificar y ejecutar contratos inteligentes directamente desde un navegador. Remix IDE es un entorno perfecto para escribir y jugar con contratos inteligentes, en otras palabras, es un buen punto de partida.

**MetaMask**
Una extensión de Chrome que te permite conectarse a la red blockchain de Ethereum desde un navegador.

**Ganache**

Ganache le brinda un entorno de blockchain local para probar tus contratos inteligentes. Todo lo que hagas en esta cadena de bloques local permanecerá en tu PC. Si opta por Remix IDE, no es necesario instalar Ganache y Truffle.

**Ethers.js y Web3.js**

Web3. js y ethers. js son bibliotecas de JavaScript que permiten que tu aplicación web interactúe con la cadena de bloques Ethereum desde el lado del cliente (frontend).

**Hardhat**
Mi favorito, Hardhat es un entorno de desarrollo Ethereum. Compila tus contratos y los ejecuta en una red de desarrollo. En otras palabras, es la herramienta que debes tener en consideración.

## Conclusiones
Te recomiendo seguir el movimiento de Web3 que muchas organizaciones están haciendo, existen muchos bootcamps gratuitos, los cuales te ayudarán a obtener mejores habilidades en el tema:

[buildspace ](https://buildspace.so/)
[openquest](https://openquest.xyz/) 

Gracias por leer y compartir.
Nos vemos en [gelopfalcon](https://twitter.com/gelopfalcon)