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:
- Monedero multisig: sin contrato inteligente.
- Transferencia atómica: puedes construir un DEX completo usando esto.
- Firma inteligente: puedes configurar una suscripción.
- Actualización de la aplicación: contratos inteligentes actualizables sin proxies.
- Y mucho más.
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
Aviso de responsabilidad:
Este artículo no contiene consejos financieros, ni recomendaciones de inversión de ningún tipo. La información brindada se ofrece sólo con fines educativos y didácticos en cuanto a tecnología Web3 y análisis sobre sus casos de uso.
Las inversiones con criptomonedas, NFTs, tokens u otros activos digitales conllevan riesgos y no se encuentran regulados, por lo que los lectores deben realizar su propia investigación antes de tomar cualquier tipo de decisión bajo su entera responsabilidad, así como adaptarse y observar las diferentes regulaciones legales según su país de residencia.