Los pensamientos de desarrollar un dapp en el sitio web.

Estoy tratando de desarrollar un dapp para almacenar archivos de imagen con Parity e IPFS. Y al principio solo quiero desarrollarlo en el sitio web. Al igual que una plataforma o un disco en la nube. Pero hoy me comuniqué con otros y descubrí que hay algunos problemas. Si solo lo hago como una plataforma, significa que necesita mantener la cadena de bloques para todos los usuarios. ¿Todavía se ajusta a la idea de "descentración"? Y si es así, necesito configurar algunos nodos para mantener la cadena de bloques en funcionamiento. Pero, ¿cuántos nodos debo configurar? ¿Un usuario más, un nodo más? Eso parece poco práctico...

Creo que hay algunos pensamientos erróneos sobre blockchain en mi mente... Por favor, dame algunos consejos sobre cómo desarrollar dapps en el sitio web. ¡¡Muchas gracias!! :)

Respuestas (1)

Tiene buena intuición: se supone que una Dapp es una especie de aplicación p2p que se ejecuta exclusivamente en la computadora del usuario (cliente). Se supone que debe comunicarse con entidades externas utilizando Ethereum blockchain y posiblemente otras plataformas p2p como IPFS.

Por supuesto, dependiendo de los requisitos, podría ser necesaria alguna forma de centralización. Pero en principio debe evitarse.

La arquitectura es algo similar al conocido modelo antiguo de 2 niveles "cliente-servidor" en el que "servidor" se reemplaza por "plataforma p2p distribuida". Pero desde el punto de vista de un programador de aplicaciones, en realidad es cliente-servidor donde el servidor es un nodo Ethereum local o remoto que expone la interfaz RPC.

Para facilitar la vida de los creadores de Dapp y no imponer demasiada carga a los usuarios con la instalación y ejecución del nodo Ethereum completo, existen proyectos como Infura que brindan acceso a Ethereum a través de la interfaz HTTPS RPC.

Uhhh... ¿Eso significa que necesito que el usuario instale Parity e IPFS? Eso parece un poco complejo... ¿Hay alguna manera simple de empacar mi dapp? Y si los implemento en el cliente de los usuarios y alguien quiere cargar una imagen. Funciona en IPFS en su propio cliente, no en IPFS en mi servidor, ¿verdad? Muchas gracias. :)
No tiene que empacar el cliente IPFS o Ethereum completo. Puede utilizar la puerta de enlace IPFS o los servicios proporcionados por Infura. Ver Infura
Oh. Eso se ve increíble. Lo estudiaré y lo probaré más tarde. Gracias por tu consejo. :)
Así que vota, por favor :)
Por supuesto, he votado a favor. :) Trato de usar el INFURA hoy. Pero no sé cuál es su función en un Dapp... Es como un nodo estable de Ethereum e IPFS, ¿verdad? Pero creo que si uso esto, los nodos son mantenidos por INFURA, no por los usuarios. No sé si mi mente está bien? Muchas gracias. :)
Sí, esto es exactamente para lo que sirve Infura: proporcionar nodos Ethereum e IPFS estables. Eso sí, tanto en Ethereum como en IPFS, los nodos son realmente indistinguibles y cualquiera de ellos puede usarse como punto de entrada a la red p2p. Todos los datos del usuario se guardan en la propia Dapp. Por lo tanto, no hay una diferencia real entre usar instancias locales e Infura.