Componentes Descentralizables en Aplicaciones Descentralizadas
Clase 4 de 24 • Curso de Dapps: Introducción al Desarrollo de Aplicaciones Descentralizadas
Contenido del curso
- 7

Setup de Proyectos Blockchain con Node.js y Yarn
04:32 - 8

Instalación y configuración de Hard Hat para contratos inteligentes
11:07 - 9

Compilación y despliegue de contratos inteligentes con Hard Hat
04:31 - 10

Actualización de Testnets en Ethereum: Goerli y Sepolia
01:52 - 11

Despliegue de Contratos Inteligentes en Redes de Prueba con Hard Hat
13:52 - 12

Manejo seguro de llaves privadas en proyectos blockchain con .env
07:47 - 13

Alternativas a Hard Hat para Desplegar Contratos Inteligentes
09:04
- 14

Implementación de OpenZeppelin en Smart Contracts Ethereum
15:54 - 15

Extensión de Funcionalidad en Contratos ERC721 con OpenZeppelin
11:04 - 16

Funciones de Metadata en NFTs y OpenSepaline
20:44 - 17

Cálculo y Diseño del ADN en PlatziPong NFTs
08:04 - 18

Implementación de contratos inteligentes en Solidity para NFTs
13:44 - 19

Generación de ADN Pseudoaleatorio en Contratos Solidity
12:01 - 20

Asignación de ADN y URL de imagen en NFTs con Solidity
16:57
¿Qué es una arquitectura de aplicación tradicional?
Las aplicaciones tradicionales generalmente se estructuran en tres capas:
- Capa de persistencia: Contiene la base de datos y el almacenamiento de archivos, manteniendo información crucial, como datos de usuarios y transacciones.
- Capa lógica: Administra los datos de la capa de persistencia, encargándose de procesar y manejar toda la lógica de negocios.
- Capa de cliente: Interactúa con los usuarios, permitiendo consumir la información mediante interfaces de usuario.
Dentro de cada capa, podemos encontrar diferentes proveedores y herramientas. Por ejemplo, Google Cloud y Amazon Web Services son comunes en la capa de persistencia. Para el desarrollo del backend, cualquier lenguaje de programación que soporte la ejecución de aplicaciones puede ser utilizado, siendo populares frameworks como React.js y Angular para la capa de cliente.
¿Cómo las aplicaciones descentralizadas cambian la arquitectura?
Aunque mantienen la estructura de capas, las aplicaciones descentralizadas utilizan distintos componentes:
- Capa de persistencia descentralizada: Utiliza tecnologías como IPFS para el manejo de archivos y Ethereum para la ejecución de smart contracts y almacenamiento de datos en una blockchain.
- Capa lógica con smart contracts: Se emplean lenguajes como Solidity y Vyper, que permiten compilar código para la Ethereum Virtual Machine.
- Capa de cliente adaptada: A pesar de seguir utilizando herramientas tradicionales, se incorporan librerías como Web3JS o EthersJS para comunicarse con la blockchain. Los usuarios acceden a las aplicaciones mediante wallets como MetaMask.
Estas aplicaciones también reemplazan los protocolos tradicionales de comunicación con nodos Ethereum usando JSON RPC y acceso web a través del Ethereum Name Service (ENS).
¿Qué factores determinan la descentralización de una aplicación?
La descentralización no es un estado absoluto; mide cuánto se pueden descentralizar las capas de una aplicación. Por ejemplo, una aplicación que opera desde un servidor central en AWS tiene una descentralización cercana a cero. Sin embargo, al integrar smart contracts y administración descentralizada, se incrementa este nivel.
Es esencial evaluar la capa de ejecución de los smart contracts, la confianza en los nodos de la blockchain, y la velocidad de creación de bloques. Otros aspectos cruciales incluyen:
- La posibilidad de modificar la lógica de negocios a través de gobernanzas descentralizadas.
- Proveer acceso a través de medios descentralizados en lugar de depender de herramientas centralizadas como DNS.
¿Qué objetivos perseguir al descentralizar una aplicación?
Al no poder descentralizar completamente todas las aplicaciones, se debe priorizar respuestas a ciertas preguntas:
- ¿Cuán descentralizada es la capa de ejecución de los smart contracts?
- ¿Confía la comunidad en los nodos donde se ejecutan dichos contratos?
- ¿Cuál es la latencia y eficiencia de la blockchain utilizada?
- ¿Cómo y quién puede modificar la lógica de la aplicación?
Al responder estas inquietudes y descentralizar la mayor cantidad de componentes posible, nos acercamos al ideal de la Web 3. Así, logramos crear aplicaciones más confiables, seguras y autónomas. Con ello, animamos a seguir aprendiendo y explorando más sobre esta innovadora tecnología.