Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Componentes descentralizables de una aplicación

4/24
Recursos

Aportes 15

Preguntas 2

Ordenar por:

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

Web2 vs Web3

más información sobre cómo se compone una dapp:

The Architecture of a Web 3.0 application
https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application

Componentes descentralizables de una aplicación:
Persistencia

  • IPFS, sistema descentralizado de archivos, hacer uso de imagenes.
  • Redes de etherum
  • Redes de polygon
  • Red OP
  • REd a

Lógica

  • solidity
  • Viper

compilados hacia la maquina virtual de ethereum
Cliente
aveces se utiliza herramientas tradicionales(el fronted de toda la vida)
aunque hay alternativas

  • W3js
  • etherjs
  • Metamask (aunque hay mas billeteras)

para la comunicación entre la capa logica y el cliente , lo que va en la mitad asi como un emparedado 😃 utilizamos:

  • JSON-RPC
  • ethereum ENS service

hay distintos matices de descentralización.

Otro criterio que agregaría para definir la descentralización de los proyectos que cuentan con una criptomoneda de gobernanza sería la distribución de la misma. Si entre una minoría de participantes tienen un porcentaje mayoritario de la moneda, aun no es un proyecto descentralizado.

Excelente curso Ernest 💪

Aquí tienen una explicación (en inglés) de la diferencias entre Arweave e IPFS para el almacenamiento de archivos: https://arweave.news/nfts-storage-arweave-vs-ipfs/

Básicamente los dos permiten el almacenamiento decentralizado de archivos, sin embargo, IPFS cuenta con un garbage collector que tiende a eliminar los archivos que no son utilizados con frecuencia. Además Arweave tiene el beneficio de que con el pago de un pequeño fee inicial se tiene acceso a los archivos por 200 años

++Componentes descentralizables de una aplicación
++
La estructuración de una aplicación esta conformada por tres capas

Persistencia:Tenemos una base de datos que almacena los datos de usuarios, transacciones o información relevante para el modelo de negocio.Y tenemos un almacenamiento de archivos que guarda imágenes ,documentos o archivos relevantes para el desarrollo de la aplicación.

Lógica:Esta encargada de administrar todos los datos de la capa de persistencia para finalmente mandárselas al cliente

Cliente:Estos clientes pueden comunicarse entre si para intercambiar información de mensajería a través de protocolos RTC para aplicaciones de video o reuniones en linea estas pueden compartir datos en tiempo real.

  • Componentes descentralizables de una aplicación.

Una aplicación normalmente esta estructurada en 3 distintas capas: la capa de Persistencia, la capa de Lógica y la capa del Cliente.

Usualmente en la capa de Persistencia tenemos elementos como una base de datos y un tipo de storage de archivos para subir imágenes, videos, etc.

La capa lógica se conecta con la capa de Persistencia, esta se encarga de administrar todos los datos para finalmente enviarlas a los Clientes.

Adicionalmente y opcionalmente estos clientes se pueden comunicar entre si para intercambiar información de mensajería a través de protocolos como RTC para aplicaciones de videos o compartir reuniones en línea, pueden compartir datos en tiempo real.

  • ELEMENTOS TRADICIONALES QUE COMPONEN ESTAS CAPAS

Persistencia: Vamos encontrar proveedores de servicios como Google Cloud, AWS o inclusive servicios de bases de datos como puede ser MongoDB, entre algunas otras.

Lógica: Vamos encontrar normalmente cualquier lenguaje de programación que nos permite desarrollar servidores o aplicaciones del lado del Backend, acá entra cualquier lenguaje de programación de nuestras preferencias ya que estos son programables casi en muchos de los lenguajes disponibles.

Cliente: Vamos encontrar herramientas como ReactJS, Angular, Vue.js o cualquiera de sus competidores.

  • En las Dapps, tenemos exactamente la misma arquitectura de componentes, sin embargo, la forma de resolver los problemas de estas partes o capas es completamente distinta, por ejemplo:

En la capa de persistencia: Vamos encontrar frameworks como IPFS que es …, adicional a eso redes como Ethereum que son de capa 1 y que es la capa de ejecución de Smart Contracts, se considera de persistencia porque allí se guardan los datos directamente de la Blockchain.

Tenemos alternativas como Polygon, https://www.optimism.io o inclusive https://www.arweave.org que es una alternativa a IPFS.

En la capa lógica: Vamos a utilizar algún lenguaje de programación que me permita compilar para la Ethereum Virtual Machine o para cualquier otra tecnología que me permita la ejecución dentro de algún Smart Contract, en este caso los 2 ejemplos más populares son Solidity y Viper.

En el lado del cliente: Si bien es cierto que seguiremos utilizando herramientas tradicionales como ReactJS, Angular o Vue.js, hay herramientas extras que están presentes dentro de estas aplicaciones como lo puede ser Web3.js y Ether.js, es requerido que los usuarios tengan acceso a un tipo de Wallet que puedan comunicarse con esta aplicación como lo es Metamask, entre otras opciones.

Todas estas tecnologías y componentes los veremos a detalles conforme avancemos en el curso, para tener afianzados estos conceptos.

Cabe destacar que no todas las aplicaciones tienen acceso o logran descentralizar al 100% porque depende mucho de la situación y modelo de negocio en que se encuentre. Para ello debemos aprender unas preguntas: min 6:18 de la clase.

Entre mayor sea la cantidad de componentes descentralizados de nuestra aplicación, estará más cerca del ideal de la web3.

  • Saludos criptonautas, les animo sigamos aprendiendo de este ecosistema.

  • ¡Felices Aprendizajes!

Para la comunicación entra la capa lógica y del cliente se reemplazan herramientas tradicionales como REST o GraphQL por protocolos como puede ser JSON-RPC (Forma en la que se comunican los nodos de Ethereum con el Cliente)

Aplicaciones tradicionales

  • Persistencia: Vamos a encontrar mayormente proveedores
    de servicio como por ejemplo: aws, Google Cloud, mongoDB.
  • Logica: Cualquier lenguaje de programacion que nos permita desarrollar servidores por el lado del backend como por ejemplo: node.js, GO, ruby, python, etc.
  • Cliente: Frameworks para el lado del cliente es decir la vista como: Vue.js, React.js, Angular, Svelte, etc.
Los componentes descentralizables de una aplicación incluyen: 1. **Capa de persistencia**: Almacena datos en redes como IPFS o blockchains como Ethereum. 2. **Capa lógica**: Usa lenguajes como Solidity o Vyper para smart contracts. 3. **Capa del cliente**: Implementa frameworks como React.js y herramientas como Web3JS para interacción con la blockchain. Estos elementos permiten evaluar y aumentar la descentralización de la aplicación.
🦅🦅

muy buena la explicacion

como esta estructurada una aplicación tradicional

dag constellation