No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Arquitectura básica en Web 3

7/27
Recursos

En blockchain, encontrarás diversos lenguajes, protocolos, frameworks y librerías. Todas trabajan en conjunto para la construcción de aplicaciones descentralizadas.

¿Cómo se construye en Web3?

Entendamos por "Web3" como un conjunto de protocolos y tecnologías que hacen posible construir aplicaciones totalmente descentralizas.

Para comprender cómo se construye software bajo este nuevo paradigma de programación, dividamos el stack tecnológico en cuatro partes:

Capa de red

Cuando hablamos de las redes, nos referimos a la blockchain con la cual queremos interactuar. Pudiendo ser Ethereum, cualquier segunda capa sobre esta (Polygon, Arbitrum, Optimism, entre otras) o alternativas no basadas en EVM como Solana o Cardano.

Capa de interacción

Para interactuar con una blockchain basada en EVM, necesitaremos de un proveedor que nos permita comunicarnos con un nodo de esta blockchain para lograr desplegar un contrato, siendo Infura y Alchemy los más populares.

Otra forma de interactuar con la blockchain y obtener información sobre lo que está sucediendo son los exploradores. Toda blockchain tiene su propio explorador, sin importar que sean de primera o segunda capa. Por ejemplo, Etherscan para Ethereum, Polygonscan para Polygon o Solana Explorar para dicha blockchain.

Es importante reconocer cuando un explorador es de la mainnet de una blockchain, o de una testent. Por ejemplo, la red de prueba de Ethereum llamada Goerli tiene su propio explorador.

Saber utilizar e interactuar con los diversos exploradores será crucial para ti como desarrollador blockchain.

Capa de presentación

Conjuntos de librerías y frameworks que nos ayudan a desarrollar las aplicaciones tanto del lado del backend como del front-end.

Web3.js y Ether.js son dependencias que puedes encontrar en NPM para interactuar con una blockchain basada en EVM desde un front-end.

Los entornos de desarrollo de smart contracts más populares son HardHat y Truffe basados en Javascript, mientras que Brownie está basado en Python.

Un concepto algo más avanzado en el mundo blockchain es el de los oráculos, o Oracles. Los mismos permiten la interacción de un contrato inteligente con el "mundo real" para la obtención de datos como la cotización actual de una cripto. Chainlink es uno de los oráculos más utilizados del mundo.

La descentralización va más allá de blockchain. Existe una serie de storages de archivos descentralizados que te permitirán guardar imágenes o desplegar aplicaciones front-end para su acceso posterior. Los más reconocidos son IPFS, Filecoin y Arweave. Lograr la total descentralización de una aplicación puede requerir de uno de estos tipos de file systems.

Capa de aplicación

La aplicación descentralizada en sí con la cual el usuario interactuará es la primera capa del stack. Cualquier tipo de app que desees desarrollar deberá contemplar la mejor experiencia de usuario, diseño y, fundamental, la conexión con la wallet. Metamask es una de las wallets más utilizadas por los usuarios, WalletConnects es otra gran alternativa a explorar para la identificación de usuarios.

Algunos ejemplos de apps descentralizadas puedes ser Uniswap o Aave, ambas dapps DeFi.

Conclusión

El stack es amplio y variado dependiendo la blockchain con la cual trabajes o tus gustos personales a la hora de escribir código. ¿Con cuál stack te identificas?


Contribución creada por: Kevin Fiorentino (Platzi Contributor).

Aportes 8

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

En mi caso utilizo:
Ethereum como red
Solidity como lenguaje de programacion
Hardhat como framework
Alchemy como proveedor de Nodo
JavaScript + CSS para el front

Esta infografía, recoge toda la información que necesitamos para entender como desarrollar web 3.

Ethereal,

Actualmente, estoy trabajando con Solana. El HardHat de Solana se llama Anchor que es un framework de Rust y no se necesita un provider para desplegar contratos. En el front, alterno entre React y Angular y utilizo @solana/web en lugar de Web3.js o Ether.js.
Los invito al Curso de Solana de Platzi =)

Polkadot es un Layer 0, y no un layer 1 como comenta la profe

Ethereum, solidity, Rect JS , Hardhat

Solidity + Hardhat + React js + Alchemy

La verdad no lo tengo claro, tendría que evaluar los provedores y estudiar referencias de sus servicios, sin embargo para la definición de la blockchain a utilizar me iría por ethereum (haciendo una previa evolución de costes ya que será para uso de finanzaz corporativas internas)

Solidity + Hardhat + Vue + Infura