¿Cómo crear una Dapp desde cero en Ethereum?

Digamos que tenemos a alguien que sabe sobre blockchain pero que no tiene experiencia en aplicaciones basadas en blockchain. Esa persona quiere codificar una Dapp (aplicación descentralizada) basada en ethereum como prueba de concepto.

¿Cómo empezar? ¿Cuáles serían los primeros pasos? (consejos, mejores prácticas, material interesante, etc.)

Aquí está la publicación interesante: forum.ethereum.org/discussion/1402/…
Aquí está la versión actualizada del enlace anterior de @romanoza forum.ethereum.org/discussion/1634/…
Solo otro artículo encontrado aquí

Respuestas (4)

Esta pregunta es demasiado amplia para ser respondida fácilmente, y hay varios buenos tutoriales existentes disponibles en línea. Pero estos son los primeros pasos que puede tomar:

  • Lea sobre los conceptos básicos . El libro blanco de Ethereum no es un mal lugar para comenzar, y algunos de los tutoriales que vinculé anteriormente intercalan explicaciones conceptuales con instrucciones de tutoriales paso a paso.

  • Elige un idioma . Hay varias opciones de idioma para trabajar con Ethereum, y es recomendable 1) elegir el que más se parezca a un idioma que conoce o 2) elegir el que parezca tener la documentación y el soporte más extensos (probablemente iría con Solidity basado en esta métrica).

  • Elija un marco y pruebe rpc . Estoy más familiarizado con los marcos de Solidity Embark y Truffle y uso Ethersim como mi rpc de prueba.

  • Mira proyectos de ejemplo . Mire alrededor de Github en busca de proyectos que usen Ethereum (he estado mirando los proyectos de código abierto que tiene ConsenSys) para ver qué mejores prácticas están comenzando a unirse.

  • Únase a una comunidad y haga preguntas . El mayor progreso que he logrado trabajando con Ethereum se debe a que tenía personas a las que responder preguntas. Hay un foro, reddit, reuniones de irl en algunas ciudades y, por supuesto, este sitio.

Una de las principales cosas en las que querrá concentrarse es determinar qué parte de la aplicación debe estar en la cadena y qué parte podría suceder en el navegador. Esto podría separar la aplicación en algunos grupos posibles:

  1. Compute (Lógica escrita en Solidity/Serpent, compilando a bytecode EVM)
  2. Almacenamiento (recursos estáticos como HTML/JS/CSS)
  3. Mensajería (comunicación efímera fuera de la cadena)

Una de las formas en que Ethereum expone su funcionalidad es a través de una biblioteca de JavaScript conocida como web3.js. Usando la API de JavaScript , los desarrolladores pueden agregar o reemplazar características de una aplicación HTML tradicional con funcionalidad respaldada por Ethereum.

Cuando esté completamente diseñado para una operación descentralizada, una DApp no ​​requerirá un servidor tradicional, sino que se ejecutará en la estructura de varios protocolos descentralizados.

Un lugar para comenzar sería Dapps para principiantes , puede seguir la progresión a través de Introducción al desarrollo en Ethereum y luego Configurar su entorno de desarrollo o saltar directamente a;-

Tu primera Dapp

El tutorial se centra en sus primeros pasos con Alethzero (el cliente de desarrollo) y la creación de un contrato de moneda simple: el backend de su Dapp.

El área de Educación del Foro

Al mismo tiempo, sería útil leer/seguir/participar en el área de Educación del Foro, ya que hay preguntas y respuestas útiles, por ejemplo , Comprender el almacenamiento de datos.

"Con respecto a las tarifas de almacenamiento, usted paga tanto por el tamaño del Tx en bytes como por el tamaño de los nuevos datos colocados en el almacenamiento del contrato. Si elimina los datos del almacenamiento del contrato (es decir, después de que se ejecuta su tx, el almacenamiento total del contrato es más pequeño) , obtiene un reembolso de hasta la mitad del costo de la gasolina del tx (no se le puede devolver el éter, pero su tarifa de tx puede ser subsidiada)".

el papel amarillo

En el Apéndice G del Libro Amarillo, el programa de tarifas se especifica en unidades de gas para las tarifas asociadas con varios cálculos.

Estado de las DAPPS

Finalmente, si está buscando material interesante Estado de las Dapps (una aplicación descentralizada (o 'Dapp') es una pieza de software que consta de una interfaz de usuario (UI) y un backend descentralizado; generalmente hace uso de una cadena de bloques y contratos inteligentes La mayoría de los proyectos enumerados se construyeron utilizando Ethereum.

Otro buen tutorial que lo guía a través del proceso de principio a fin es el Tutorial NFT Minter de Alchemy .

Se enfoca especialmente en guiarlo a través del desarrollo frontal, incluida la conexión a MetaMask y la interacción con contratos en cadena.

Comenzar allí le permite comprender cómo se estructuran las dapps sin tener que sumergirse en el desarrollo de contratos inteligentes (aunque tienen otro tutorial sobre el desarrollo de contratos inteligentes específicamente).