Entendiendo el desarrollo blockchain: cómo se construye una aplicación en Algorand

Las aplicaciones descentralizadas (dApps) son posiblemente, una de las innovaciones más interesantes creadas con la tecnología blockchain. Pero construir su primera dApp puede ser complicado, dada la cantidad de cadenas de bloques y lenguajes de programación para elegir. Afortunadamente, Algorand permite que cualquier persona cree aplicaciones blockchain, en un entorno amigable para los desarrolladores que da la bienvenida a los recién llegados. 

Siga leyendo para aprender sobre el desarrollo blockchain codificando e implementando su primera dApp en Algorand.

Algorand: un ecosistema blockchain apto para principiantes

Algorand se ha centrado en la experiencia del usuario desde sus inicios, proporcionando a ellos y a los desarrolladores las mejores herramientas para crear contratos inteligentes y nuevos activos. 

La cadena de bloques fundada por el profesor del MIT, Silvio Micali, está haciendo que el proceso de construcción de dApps sea aún más accesible, gracias a un lenguaje de programación llamado “Reach”. La plataforma de desarrollo blockchain recibió el apoyo de la Fundación Algorand el año pasado y ha logrado construir el lenguaje de programación dApp más fácil para el desarrollo, destinadas a múltiples blockchains, con un conjunto de código fuente.

En mayo de 2021, Reach recaudó US$12 millones en su apuesta, por simplificar el desarrollo blockchain y desbloquear las dApps de próxima generación.

Además, Algorand lo ayuda a aprender sobre el desarrollo blockchain, al proporcionar una página de desarrollador dedicada, que contiene tutoriales y documentación útiles.

Si bien existen muchos enfoques diferentes para crear dApps en Algorand, en esta publicación nos centraremos en comenzar a usar Reach, una forma gratuita, fácil y rápida de mojarse los pies en el ecosistema de Algorand. Un gran beneficio de Reach es la verificación que proporciona para el funcionamiento y ejecución de “dApps”. Para obtener más información, consulte el párrafo inicial de un tutorial sobre el uso de invariantes de bucle para la verificación en Reach.

¿Cómo construir dApps con Reach?

Para crear dApps en Algorand, los usuarios pueden confiar en Reach, ya que es fácil de aprender y además es similar a JavaScript. El lenguaje se ha modelado desde la perspectiva del usuario, en lugar de la lógica de bajo nivel de una máquina de estados.

Antes de compilar con Reach, debe saber que está diseñado para funcionar en sistemas POSIX con Docker, make y Docker Compose instalados. Puede usar Docker Desktop para instalar Docker en Windows o Mac. En cuanto a make, probablemente lo tenga instalado si utiliza Linux, aunque algunas versiones no lo incluyen por defecto.

Para asegurarse de que tiene todo instalado, puede ejecutar los siguientes tres comandos sin errores:

$ make-version

$ docker-version

$ docker-compose-version

Puede consultar esta guía si usa “Reach” en Windows.

Preparando el entorno

Después de la instalación, seleccione un directorio para este proyecto. Se recomienda que utilice:

$ mkdir -p ~ / reach / AlgoReach && cd ~ / reach / AlgoReach

A continuación, puede descargar el programa Reach ejecutando

  $ curl https://docs.reach.sh/reach -o alcance; chmod + x alcance

Puede asegurarse de que la descarga se haya realizado correctamente ejecutando

  $ ./reach versión

¡Ahora es el momento de abrir un editor de texto y prepararse para escribir su primera dApp con Reach! Si usa VS Code, hay una extensión disponible.

Construyendo su primera dApp en Algorand

En el siguiente tutorial, explorará una versión de Tic, Tac, Toe, en la que dos jugadores, Alice y Bob, pueden apostar por el resultado del juego.

Este tipo de juego simple es entendido intuitivamente por todos, por lo que es una excelente manera de enfocarse en el proceso de programación, en lugar de las reglas del juego.

Debe comenzar creando un archivo llamado index.rsh. El uso del comando `reach init` generará una muestra index.rsh (back end) e index.mjs (frontend). Puedes poner este archivo donde quieras, pero te recomendamos que lo pongas en el directorio actual; en nuestro caso sería be ~ / reach / AlgoReach.

Puede consultar el código completo de nuestro ejemplo Tic Tac Toe dApp en nuestro video tutorial.

Como puede ver, la sintaxis es casi idéntica a JavaScript, lo que hace que el proceso de desarrollo sea más familiar.

Ahora, definamos los componentes principales del programa Reach, en el que hay alguna forma de interacción entre Alice y Bob. En este ejemplo de dApp proporcionado por Reach, Alice tiene información que puede enviar a Bob a cambio de una cantidad de tokens.

Puede consultar el programa de backend de ejemplo completo aquí, y el frontend de ejemplo aquí. La interfaz también se puede escribir utilizando la función de “llamada a procedimiento remoto (RPC)” de Reach, en muchos lenguajes, incluidos JavaScript, Go, Python, C # y más, pero echaremos un vistazo a la parte principal solamente:

 En este ejemplo:

  • La línea 1 indica que este es un programa Reach. Tendrá esto en la parte superior de cada programa.
  • La línea 2 especifica que el programa se compila con el modo estricto, lo que permite verificaciones de variables no utilizadas para todas las declaraciones posteriores, dentro del alcance actual. Si se declara una variable pero nunca se usa, se emitirá un error en el momento de la compilación.
  • La línea 4 define la exportación principal de este programa, “main” es el predeterminado utilizado por Reach. Cuando compila, esto es lo que observa el compilador.
  • La línea 4 también indica que es una aplicación.
  • La línea 5 especifica que el identificador de programa A representará al participante de Alice.
  • Las líneas 6 y 7 especifican la interfaz entre el participante de Alice y la interfaz general. En este caso específico, la interfaz de Alice debe proporcionar un número llamado “request” y una cadena llamada “info”.
  • La línea 9 especifica que el identificador de programa B representará al participante Bob.
  • Las líneas 10 y 11 especifican la interfaz para Bob, que incluye una función llamada “want”, que toma un número y devuelve nulo , así como una función llamada “got”, que recibe la información.
  • La línea 13 realmente implementa la dApp, lo que permite que el programa comience a hacer cosas.

¡Reach presenta un ejemplo completo de dApp de piedra, papel y tijeras! Juego que también se puede implementar en Algorand.

En cuanto a nuestra aplicación Tic Tac Toe, la lógica del programa de backend se verá como la siguiente y el frontend de muestra, por ejemplo, se puede encontrar aquí:

En la dApp, tenemos dos jugadores diferentes que apuestan por el resultado del juego, en base a reglas predeterminadas. Tendrá que definir el comportamiento de cada participante en el programa.

Por ejemplo, si hablamos de aplicaciones financieras, se puede definir el comportamiento de cada participante en una solicitud de préstamo, en la que hay un prestamista y un prestatario. A continuación, puede definir los pasos del programa.

Para obtener más detalles sobre cómo reflejar las interacciones entre los jugadores y dar forma al código, no dude en ver la sesión para desarrolladores dedicada a la creación de dApps en Algorand usando Reach.

Con Algorand, es fácil aprender a desarrollar blockchain y crear dApps para casos de uso del mundo real. ¡Suscríbase a nuestro boletín para obtener más información sobre Algorand y únase a la revolución blockchain!


Este artículo ha sido escrito originalmente por Algorand en el «Community Blog» de Algorand y traducido por AlgoLatam.

Original Article: https://www.algorand.com/resources/blog/blockchain-development-build-your-first-dapp-algorand

Deja una respuesta

Tu dirección de correo electrónico no será publicada.