Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

2 watching

Forks

Repository files navigation

Aiken Workshop

Repositorio educativo de contratos inteligentes Cardano escritos en Aiken y de aplicaciones TypeScript/Next.js que interactúan con ellos mediante MeshJS.

Contenido

Módulo Propósito Estado
minting-app Minting de activos con wallet CIP-30 y API server-side Demo funcional con tests
spending-app Bloqueo y desbloqueo de ADA en un validator Demo educativa
stablecoin Flujo experimental de oracle, collateral y stablecoin Experimental
vesting/frontend Vesting parametrizado desde una interfaz web Experimental
vesting-parametrizado/frontend Variante parametrizada del vesting Experimental
oracle Scripts CLI para desplegar, actualizar y borrar un oracle Herramienta de desarrollo
*/onchain Validators Aiken y artefactos Plutus generados Contratos de prueba

Requisitos

  • Node.js 24 LTS recomendado.
  • npm 11 o compatible.
  • Aiken instalado y disponible como aiken.
  • Wallet CIP-30 para probar las interfaces.
  • Proyecto Blockfrost para la red elegida.

Cada aplicación mantiene su propio package.json y package-lock.json; instala dependencias desde su carpeta.

Configuración segura

Nunca uses NEXT_PUBLIC_BLOCKFROST_API_KEY: cualquier variable con ese prefijo puede llegar al navegador.

Para desarrollo, crea un .env.local dentro de la aplicación que estés ejecutando:

BLOCKFROST_API_KEY=tu_project_id_de_blockfrost
CARDANO_NETWORK=preprod

Las mnemonics no deben configurarse en una aplicación web ni subirse al repositorio. Los scripts de oracle que requieran una wallet de firma deben ejecutarse sólo en un entorno local controlado o migrarse a un signer seguro antes de usar fondos reales.

Instalación y ejecución

Ejemplo con minting-app:

cd minting-app
npm ci
npm run dev

Otros comandos útiles:

npm test
npm run lint
npm run build
cd onchain && aiken check

Verificación

La verificación mínima de un cambio debe incluir:

  1. Tests de la aplicación modificada.
  2. npm run lint y npm run build.
  3. aiken check para el paquete on-chain relacionado.
  4. Prueba manual en preprod con una wallet de prueba.

Las pruebas automatizadas no envían transacciones reales salvo que se indique explícitamente en una prueba de integración.

Arquitectura y seguridad

El frontend sólo debe conectar la wallet, validar entradas, solicitar una transacción no firmada, firmarla mediante CIP-30 y mostrar el resultado. El backend debe ser el único lugar que inicializa Blockfrost, consulta UTxOs, construye transacciones y envía transacciones firmadas.

Consulta docs/architecture.md para conocer los límites y la migración en curso.

Migración actual

minting-app y spending-app ya usan API routes para Blockfrost y firma CIP-30 en el navegador. stablecoin y las interfaces de vesting todavía contienen lógica de provider en módulos importados por el frontend; permanecen marcadas como experimentales y no deben recibir claves mediante NEXT_PUBLIC_*. Su migración es el siguiente bloque de trabajo.

Estado del proyecto

Este repositorio es un workshop y contiene prototipos con diferentes niveles de madurez. No uses sus contratos, claves, endpoints ni configuraciones en mainnet sin revisión independiente, pruebas de integración, auditoría de contratos y una estrategia operativa para claves.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages