Recientemente ha habido rumores acerca de la tecnología Web 3.0, rumores que han trascendido más allá de la comunidad del desarrollo de software. Unos dicen que es muy fácil hacerte rico creando un proyecto blockchain o una aplicación descentralizada. Otros más dicen que para ganar un salario de 5 cifras basta con aprender a programar Solidity.
Si bien las estadísticas al colocar a los desarrolladores blockchain como una de las profesiones mejor pagada en tecnología nos indican que estos rumores podrían ser ciertos, se podría estar omitiendo el trabajo previo que conlleva ser un developer en la Web 3.0.
¿De verdad puedo hacerme millonario con una dapp?
¿Basta con aprender Solidity para comenzar a crear Smart Contracts?
¿Crear una dapp es tan sencillo como dicen?
En este artículo buscaré desmentir algunos malentendidos que rodean esta tecnología, pero al mismo tiempo te ayudaré a trazar una ruta para que puedas iniciar tu carrera en blockchain.
Muchas de las ideas que aquí discutiré eran concepciones que yo mismo tenía cuando recién comenzaba, así que no te sientas mal si notas que caíste en alguna de ellas. Al contrario, ve el lado bueno y comienza a trazar tu camino de nuevo.

¿Llegaste tarde a la Web3? Esto necesitas antes de iniciar como developer
Si lo que tenías planeado apenas llegar al desarrollo en la Web 3.0 era crear un utility token, una stablecoin o incluso tu propia blockchain, lanzarla al mercado y volverte millonario en unos meses; lamento darte la mala noticia pero llegaste tarde.
Recientemente, un porcentaje significativo de personas han llegado a interesarse en la Web 3.0 ya que esta tecnología representa un sinónimo de dinero fácil. Lamentablemente, hasta antes de 2018 esto era así; cientos de personas clonaban proyectos existentes como bitcoin, o tokens de Ethereum para crear su propia crypto, lanzarla al mercado y volverse millonarios. Esto no es malo en sí mismo, después de todo de eso se trata el código libre, lo que sí es recriminatorio es que su único fin fuese vender estos tokens sin otorgar ninguna ventaja o utilidad a sus compradores. A estos proyectos la comunidad les ha asignado el nombre de “shitcoins” .
Hoy en día la comunidad es más consciente de los riesgos que implica invertir en proyectos recién creados, por ello evalúan sus aspectos fundamentales. Algunas de los parámetros que se examinan en una ICO son los siguientes:
- Utilidad o función del token
- Plan de emisión y asignación de los tokens
- Hoja de ruta del proyecto
De estos tres, la primera es una característica esencial, por lo cual si no tienen una utilidad para los usuarios es clasificada por default como un proyecto estafa o shitcoin.

En perspectiva, crear un proyecto blockchain solo para hacer dinero con la venta de los tokens es una razón incorrecta para crear uno, algo inviable, y en algunos países es ilegal. Estoy seguro que este no es tu caso y qué te interesa esta tecnología porque quieres aportar a la construcción de un internet más descentralizado, sin embargo, me gustaría remarcarlo de neuvo:
Llegaste tarde para volverte millonario con una shitcoin, pero llegaste justo a tiempo para hacerlo construyendo la web 3.0.
Si te interesa seguir la carrera de desarrollador web, Platzi te puede preparar con cursos específicos y de calidad.
Los Fundamentos de Blockchain: empieza por aquí
Antes de poner manos a la obra y comenzar a escribir líneas de código en la Web 3.0 debes conocer los cimientos donde se encuentra fundada: La Blockchain.
Cuando hablamos de estudiar una blockchain no solo se trata de saber su funcionalidad básica, sino de examinar en un contexto general sus elementos internos y externos. Entre sus componentes internos, es decir, los que podemos ver dentro del bloque, se encuentran las llaves criptográficas, funciones de hash, transacciones, árboles de merkle, etc. Entre los componentes que afectan de manera externa una blockchain tenemos el algoritmo de consenso, los nodos, los mineros y los usuarios.
Afortunadamente la mayoría de las blockchain comparten cierta estructura, por lo que una vez que sepas cómo se comportan en general podrás trasladar los conocimientos entre sus diferentes implementaciones. Sin embargo, son los componentes que las hacen distintas los que requieren un estudio exhaustivo si es que queremos dominar dicha blockchain.
Por ejemplo en Ethereum, el elemento que merece ser estudiado en profundidad es la Ethereum Virtual Machine, mientras que en Bitcoin es su estructura de transacciones conocida como UTXO’s.
Puedes darle un vistazo a la serie de “fundamentos básicos” que hice para Bitcoin y Ethereum respectivamente para que comprendas mejor esto:


Fundamentos Basicos de Ethereum
Una vez que conozca de manera general cada una de las piezas que componen la cadena de bloques es momento de comenzar a programar nuestras aplicaciones descentralizadas, ¿no?
Conoce: ¿Qué son las aplicaciones web? Características y ejemplos.
1. No inicies con solidity
“Aprendo Solidity y después crearé una dapp” es igual a decir “Me subo a un coche fórmula 1 y ganó el campeonato”. Ambas son acciones posibles pero en una oración tan corta no cabe todo el trabajo previo necesario para conseguir estos objetivos.
¿Qué pasa si te subes a un coche de fórmula 1 sin entrenamiento previo?
Puede que lo conduzcas y llegues a unos 200 km/h, sin embargo es muy probable que te desmayes en la primera curva debido a que tu cuerpo no está acostumbrado a soportar las fuerzas G a esa velocidad, por lo cual terminaras estrellandote en un muro.
¿Que va a pasar si comienzas a codear en Solidity sin tener los conocimientos base de la programación en otro lenguaje?
Terminaras estrellándote con la frustración.
Solidity es un lenguaje de propósito específico: la creación de smart contracts, los cuales no son otra cosa que bloques de código que se ejecutan en la blockchain. Su sintaxis no es ajena a la programación tradicional como pudiera pensarse, al contrario, tiene sus bases en esta y como en cualquier otro lenguaje tendrás que lidiar con condicionales, variables, ciclos, etc. Por esta razón, no solo es recomendable sino que hasta obligatorio tomar un poco de experiencia manipulando lenguajes de propósito general como C++, Javascript o Python antes de comenzar en el desarrollo de Smart Contracts.
Creeme, yo pase por ahí; también comencé a aprender programación para desarrollar en blockchain e inicié con Solidity. Grave error. Lo único que hice fue perder mi tiempo ya que no comprendía la mayoría de los conceptos provenientes de la programación clásica.
Si tomaste un camino similar al mío, no te engañes; no hay atajos en el desarrollo de software. Toma determinación y aprende las bases de la programación en un lenguaje tradicional.
¿Pero en cuál?
2. La parte Web en Web 3.0
No importa si la aplicación web que estés usando sea centralizada o descentralizada, de la Web 2.0 o 3.0, de algo puedes estar seguro: está corriendo con Javascript. En los últimos años este lenguaje se ha popularizado por su flexibilidad, pero principalmente porque es el único lenguaje con el que se puede programar en el navegador, por ende el único con el que podrás crear la parte visible de tus dapps.
Puede que para ti la creación de aplicaciones web no sea la habilidad que buscas desarrollar en primer lugar, sin embargo, si quieres programar en la web 3.0 debes priorizarla. Elige un framework como React, Vue o Angular y busca dominarlo. Recuerda que es a través de las interfaces que tu construyas los usuarios podrán interactuar con los smart contracts y la blockchain.
3. Crypto UI/UX
Tal vez puedas programar una interfaz para una dapp, pero ¿puedes hacer que se vea bonita y que también sea intuitiva para sus usuarios?. Este es el campo de estudio de la UI/ UX en blockchain.
Si hablamos de UI nos referimos a los términos estéticos de la interfaz de usuario. Para su correcta aplicación deberás tomar en cuenta los colores, la tipografía, iconos, etc. Esto pudiera parecer secundario pero es de vital importancia ya que puede marcar la diferencia para que tu dapp tenga 10 o 1 millón de usuarios.
Del otro lado de la moneda tenemos la UX o la experiencia que tienen tus usuarios al interactuar con tu UI. Al trabajar en esta característica tu deber es hacer la interfaz lo más intuitiva posible para que tus usuarios puedan interactuar con la blockchain sin fricciones, ya sea enviando tokens, comprando un NFT’s o haciendo stake en un protocolo de DeFi. Ademas, tendrás que considerar que muchas veces tu dapp será utilizada por usuarios con poca o ninguna experiencia con esta tecnología, por lo cual la correcta transmisión de conceptos como bloque, dirección, stake, gas, sera esencial.
A continuación te dejare ejemplos de dapps que, en mi opinión, tienen una excelente UI/UX:
Sushiswap

PancakeSwap

Ribbon Finance

4.Crea tus propios proyectos
Ahora que sabemos las bases del desarrollo de frontend y buenas prácticas UI/UX es momento de comenzar a jugar en la Web 3.0 y crear proyectos experimentales. Puedes comenzar conectándote a las diferentes blockchain a través de plataformas como Moralis, Infura o Blockstream o incluso instalar tu propio nodo. Recuerda que cada cadena de bloques tiene una testnet o red de pruebas con la que puedes experimentar sin tener que gastar en tus transacciones con fines didácticos.
Una vez que te conectes a la blockchain es momento de comenzar a manipular su estado, para ello puedes hacerte mano de librerías como Web3.js para Ethereum o bitcoin.js para Bitcoin. Con estas herramientas a tu alcance y con tus habilidades como frontend developer podrás dar paso a la creación de tus propias aplicaciones descentralizadas. A continuacion te dare una lista de algunas dapps que puedes implementar hoy mismo:
- Wallet
- Blockexplorer
- Pasarela de pagos
- Acuñador de NFT’s
- Tracker de estadísticas de Smart Contracts
Esta es tan solo una pequeña muestra de todo lo que puedes hacer al conectarte a una blockchain y plasmarlo en el navegador con algún framework de javascript. Una vez que puedas combinar estas dos habilidades podrás llamarte orgullosamente ***“Web3 frontend developer”***.
Ahora que ya acabamos de ver las aptitudes necesarias para programar en el frontend de la web 3.0, es momento de revisar las del backend; es momento de hablar de hablar de los Smart Contracts.
5. Ahora sí, ya viene solidity
En una dapp no hay un backend como se conoce en él desarrollo Web 2.0 , sino una blockchain que corre un smart contract. Este smart contract funciona como una base de datos, ya que lleva el balance de los activos digitales como nft’s o tokens en su estado, el cual puede ser consultado por cualquiera que tenga acceso a la red donde fue transmitido.
Sin embargo su complejidad no radica en su consulta o ejecución, el verdadero reto se encuentra en su elaboración. Veamos en qué consiste.
Existe una característica en los smart contracts que hacen que la dificultad en su creación se eleve exponencialmente: la inmutabilidad. Como cualquier otro dato en la blockchain, una vez que un smart contract entra en un bloque este no puede ser corregido o actualizado, por lo cual si este contiene un solo bug los fondos en custodia del mismo pueden ser robados.
Casos como este se dan todos los días, el más reciente fue el caso de Poly Network, una plataforma de Defi a la que le fue extraído un monto equivalente a 600 millones de dólares.

Conociendo los riesgos financieros que conlleva la creación de un contrato inteligente, saber programar en Solidity es apenas una de las tantas habilidades que se necesitan para ser un Smart Contract Developer. Existen herramientas como OpenZeppelin, Waffle o Truffle que te permiten hacer testing de tu código, sin embargo estas no son infalibles.
En retrospectiva, no es que sea imposible ser un Smart Contract Developer, solo que te va tomar tiempo dominar todas las áreas necesarias para volverte un experto. Mientras tanto sigue aprendiendo, practicando y auditando tu código pues estos profesionales son los más demandados en la industria, por tanto cuando llegues a un nivel senior, el dinero será la menor de tus preocupaciones.
Descubre también: qué hace un desarrollador web
¿Cuál es el camino correcto?
Si llegaste hasta aquí pensando en que te daría la ruta de aprendizaje para ser parte de la construcción de la web 3.0 dejame darte una buena noticia: no hay una ruta, sino varias.
Para convertirte en Web3 Frontend Developer necesitas aprender algún framework de Javascript y combinarlo con alguna librería de blockchain como web3.js o bitcoin.js. Si lo que deseas es ser un UI/UX Blockchain Designer, debes enfocar tus aprendizajes de diseño de interfaces de usuario en el flujo de una dapp. Por último, si lo que buscas es ser un Smart Contract Developer habilidades como testing y Q/A serán clave para tu éxito. La decisión es tuya.

En Platzi, tenemos una comunidad increíble de Cryptocositas. En dónde nuestra misión es aprender juntos día a día. Sin consejos de inversión, sin tomar el camino fácil, compartiendo con todos nuestro conocimiento y siendo parte de este ecosistema que va más allá del #hold o #tothemoon sino de la posibilidad de ser parte de una tecnología que está y va a revolucionar el mundo.
Si quieres unirte solo debes entrar acá, seguir las reglas de la comunidad y prepararte para nunca parar de aprender.
Dejame en los comentarios que ruta te gustaría tomar o si ya estás en una en este momento. Puede que encuentres a la persona con la que crees la dapp que revolucione la Web 3.0.
Curso de Introducción a Solidity