Comprensión de Algorand como desarrollador en Solidity

He estado trabajando en blockchains EVM durante aproximadamente dos años y recientemente comencé a explorar Algorand. En este artículo, profundizaremos en la arquitectura de cuentas de la cadena de bloques de Algorand.

Comparación con Ethereum

En Ethereum, tenemos una combinación de clave pública y privada como cuenta, pero en Algorand, las cuentas son diferentes (almacenan datos en sí mismas).

En el nivel alto, excepto por la dirección, la cuenta contiene 2 partes principales: Activos y aplicaciones.

Primero aprendamos sobre los activos

El protocolo Algorand admite la creación de activos en cadena que se benefician de la misma seguridad, compatibilidad, velocidad y facilidad de uso que el ALGO. Crear un activo e implementar un contrato inteligente son dos cosas diferentes en Algorand, más información aqui.

Los activos se pueden dividir en 2 tipos: creados y retenidos.

Creado: crear un activo es bastante simple, solo basta con establecer algunos parámetros y realizar una transacción de creación de activos.

Una vez que la transacción sea exitosa, obtendrás la identificación del activo.

Una identificación de activo es solo un número único y es necesario para interactuar con el activo creado.

Retenido: los activos que posees se almacenan en pares clave-valor, con la identificación del activo como clave y el saldo del activo como valor.

Al optar por un activo

Antes de recibir cualquier activo, primero debes optar por ese activo. Es solo una forma elegante de decir que necesitas agregar una identificación de activo (clave) con saldo 0 (valor) en tu cuenta.

Esto significa que nadie puede enviarte un activo en el que no haya optado.

Aplicaciones

En Algorand, los contratos inteligentes se llaman aplicaciones.

Algorand usa Teal como su lenguaje de contrato inteligente. Escribir uno en Teal es un poco complejo, por eso usamos un contenedor de python llamado Pyteal para facilitar nuestro trabajo. El código de Pyteal se compila y convierte a Teal, luego se implementa en la blockchain de Algorand. Una vez que la implementación de la aplicación es exitosa, se devuelve la identificación y la dirección de la aplicación.

Esta identificación de aplicación se puede usar para interactuar con la app creada y la dirección de la misma se usa para recibir ALGO/activos. Más información aquí.

Información básica sobre el contrato inteligente

  • El contrato inteligente Teal contiene un programa de aprobación.
  • Solo hay dos tipos de datos compatibles con teal: int y bytes.
  • Hay dos tipos de almacenamiento disponibles para la aplicación.
    Estado local: datos almacenados dentro de la cuenta del usuario específico.
    Estados globales: datos almacenados dentro de la aplicación

Durante la implementación, debes especificar el esquema de estado (la cantidad de variables que usa tu aplicación en cada estado).

Interactuando con la aplicación

Al igual que los activos, primero debes realizar una transacción de suscripción antes de interactuar con la aplicación.

Todos los datos locales se almacenan en el formato clave-valor.

Puedes optar por no participar, enviando una transacción de cierre en esa aplicación y se eliminarán todos los datos locales de esa aplicación.

Herramientas de desarrollo

Pensamientos finales

Ahora puedes revisar la documentación de Algorand y, con suerte, comprenderás los conceptos mucho mejor.

Hay muchas cosas que no cubrí y vale la pena echarles un vistazo:

Gracias por leernos, espero que esto te haya ayudado.

Puedes dejar preguntas/sugerencias, será un placer ayudar 🙂

Enlaces Útiles

Descargar la imagen de la arquitectura de la cuenta

https://kctheservant.medium.com/first-attempt-on-algorand-bf56104c4b91

https://developer.algorand.org/solutions/whats-the-best-way-to-learn-about-algorand/


Este artículo ha sido escrito originalmente por Manaan Ansari, publicado en https://manaanansari.medium.com y traducido por AlgoLatam.

Original Article: https://manaanansari.medium.com/understanding-algorand-after-working-on-solidity-evm-49a16f872433

Deja una respuesta

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