💻

Miércoles - Un primer vistazo a los canisters

¡Comenzamos a desarrollar con el CDK de Motoko!
Este día aprederás a desarrollar Canisters utilizando el lenguaje de programación Motoko. Los temas que se cubrirán en este día son:
  • Estructuras de datos
  • Tipos de memoria en canisters
  • Crear tu primer CRUD
Los Canisters en IC son una versión mejorada de los smart contracts tradicionales. Su arquitectura permiten que tanto el Back-end de tu DApp como su Front-end sean gestionados, almacenados y ejecutados on-chain.
Cada canister está alojado en una subnet de IC. Éstos pueden comunicarse dentro y con otras subnets mediente mensajes asincrónicos lo cual le da una escalabilidad practicamente ilimitada.

Memoria y Estructuras de datos

Un canister en internet computer puede ser utilizado para almacenar información como si fuera una base de datos. Para esto existen diversas estructuras de datos que almacenaran información y permitirán a su vez consultarla.
A través de métodos Update y Query escribiremos y consultaremos información de estos canisters mediante código.
Puedes consultar toda la librería base de Motoko para conocer todos las estructuras de datos, tipos de datos y recursos de la librería de Motoko. https://internetcomputer.org/docs/current/motoko/main/base/
Para lograr esto debemos entender las diferentes tipos de memoria que existen en la infraestructura de IC.

Heap memory

Es una memoria volátil de fácil acceso y lectura. Las variables comunes en donde almacenamos información también se guardan en esta memoria a menos que la establezcamos como stable.
Esta no es recomendada para su uso cuando necesitamos información que persista en el tiempo

Stable memory

Esta es una memoria que persiste incluso cuando actualizamos nuestros canisters con una nueva versión de código.

Manejando Cycles

Dentro del ecosistema de IC el token nativo de utilidad es el ICP Token con un valor determinado por el mercado. Este token también toma lugar en el desarrollo ya que éste puede convertirse en cycles la unidad de cómputo para Canisters y puede precargarse en éstos para tener aplicaciones libres de fee para el usuario.
Uso del token ICP.

Ambientes para desplegar Canisters

Para desplegar Canisters en IC tendremos dos opciones, despleagar en un entorno local y en Mainnet.
Durante este curso trabajaremos de forma local, aquí registraremos, construiremos y desplegaremos nuestros Canisters.

Actividades

  1. 1.
    Consulta el repositorio starter kit motoko en español https://github.com/Zona-Tres/starter-kit-motoko
  2. 2.
    Realiza el tutorial Creando tu primera app.
  3. 3.
    Crea tu primer CRUD utilizando las estructuras de datos de IC.