🚀Día 4 - Desplegando tu proyecto.

¡Despeguemos!

Este día será dedicado al despliegue de proyectos en la red de IC y las mejores practicas para hacer esto

El desplegar un proyecto tiene muchas variables, así que tendremos que tener paciencia para considerar todas las variables y lograr ejecutarlo.

Desplegando y actualizando canisters

Al momento de desplegar nuestras aplicaciones en producción primero deberemos contar con tokens Cycle, ademas de configurar nuestra identidad a la red de IC para poder hacer nuestro deploy de forma satisfactoría.

Consideraciones:

Recomendaciones de seguridad al momento de desplegar DApps en producción

Consideraciones para WebApps

  1. No cargar assets o JavaScript de dominios inseguros. Confiar en sitios mas allá de dominios <canister-id>.icp0.io significa que confias en ellos. Estos podrían inyectar codigo JS que lea la llave privada manejada por el agent-js

  2. Almacenar llaves en el localStorage o sessionStorage es una practica insegura ya que código JS de dominios inseguros podrían acceder a el. Una recomendación es usar la WebCrypto API para ocultar ese contenido de JS.

  3. Utiliza frameworks web modernos que integren o se preocupen en la seguridad. Los frameworks actuales tienen mecanismos para evitar la mayoría de ataques XSS o al menos plantean un nivel de seguridad superior.

  4. Recuerda de limpiar la información de la sesión al hacer un logout, principalmente de limpiar sessionStorage, localStorage e IndexedDB.

  5. Para aplicaciones con altos requerimientos de seguridad contempla utilización una aprobación con transacciones. Por ejemplo utilizando un dispositivo ligado al WebAuthn del Internet Identity para confirmar la transacción.

Consideraciones para IC

  1. Utiliza el sistema de autenticación de Internet Identity, el utilizar un sistema de autenticación ageno podría incurrir en fallos de seguridad o bugs en el llamado a canisters en la red de IC. Asegurate de usar llamadas a canisters con el agent-js y auth-client para la autenticación.

  2. Establecer un timeout para la sesión que se emite para la autenticación con el Internet Identity. Este tiempo de expiración puede ser establecido en el auth-client, una practica recomendada es establecer un timeout de 30 minutos.

Para mayor información de seguridad consulta las lecturas acerca de seguridad.

Costos en Gas y Cycles

Considerar el gasto de recursos computacionales y de almacenamiento en nuestras aplicaciones en producción es vital. Ya que al no existir un ente que centralice o que lleve un registro de nuestros canisters es nuestra responsabilidad asegurar la cantidad de cycles necesarios para operar de forma correcta.

Actividades

  1. Prepara tu presentación para el demo day.

  2. Realiza la evaluación del día 4.

Last updated