Ruta JaveBlockchain Inscríbete
Ruta técnica

Ruta técnica

Qué se hace en cada bloque técnico, minuto a minuto y por nivel, y qué entrega el equipo la semana siguiente. La meta no es la cantidad de commits: es que cada persona pueda explicar lo que construyó.

Fundamentos navegador, Stellar Lab, wallet y app Builders Rust, Soroban, contrato y frontend Tarea: PR los lunes 11:59 p. m. · Office hours los martes, virtual, 60 min
Dos niveles

Fundamentos y Builders

El Kahoot diagnóstico de la sesión 1 asigna el nivel. Se alcanza el nivel con el 80 % del checklist: 6 de 7 habilidades en Fundamentos y 7 de 9 en Builders. Quien completa Fundamentos puede pasar a Builders en cualquier sesión.

Fundamentos

Habilidad observableSesión
Crear una cuenta en testnet y fondearla con Friendbot1–2
Enviar un pago y encontrarlo en el explorador1–2
Explicar qué son cuenta, secuencia, fee y reserva base2
Crear una trustline y emitir un activo propio en Stellar Lab2
Hacer un path payment o un pago en un activo distinto a XLM2
Conectar Freighter a una app plantilla y firmar desde ella3
Explicar por qué el problema del equipo necesita (o no) blockchain3

Builders

Habilidad observableSesión
Compilar un contrato Soroban a WASM y correr sus pruebas2
Desplegar e invocar un contrato en testnet desde la CLI2
Usar require_auth correctamente en una función que cambia estado3
Elegir el tipo de storage (instance, persistent, temporary) y justificarlo3
Devolver errores tipados en lugar de panics genéricos3 y 4
Generar bindings TypeScript e invocar el contrato desde un frontend3 y 4
Escribir al menos tres pruebas, incluida una de fallo esperado4
Resolver un error de compilación o despliegue sin ayuda4
Explicar dos funciones de su contrato elegidas al azar, sin IA4
Sesión 1 · Viernes 16 de octubre · 4:10 a 5:00 p. m.

Diagnóstico y arranque

Kahoot de 10 min y bloque técnico de 40 min, para todos

Objetivo: medir de dónde parte cada persona, asignar su nivel y dejar a todos con GitHub listo y el mapa de la documentación de Stellar para arrancar la semana.

Antes, de 2:40 a 3:00 p. m., se hace el onboarding del Ambassador Program, BAF y Stellar, con el Linktree de la Ruta.

4:10–4:20Kahoot diagnósticoIndividual y sin IA. Cada persona entra con su nombre y apellido para cruzarlo después con el quiz de salida. Define el nivel: Fundamentos o Builders.
4:20–4:35¿Qué es blockchain?Registro compartido, quién lo valida y por qué no se puede alterar. Qué es Stellar, para qué sirve en pagos y activos, y la diferencia entre testnet y mainnet.
4:35–4:45Registro en GitHubCrear la cuenta (o entrar con la que ya tienen), unirse a la organización del semillero y ubicar la plantilla del repositorio del equipo.
4:45–5:00Onboarding con la documentación de StellarRecorrido guiado por developers.stellar.org: dónde está cada cosa, qué leer primero según el nivel y cómo usar Stellar Lab. Explicación de la tarea y de la declaración de uso de IA.
Tarea · PR #1
Vence el lunes 19 de octubre, 11:59 p. m.
  • Todos: lectura de Stellar Docs → Learn → Fundamentals: Accounts, Assets, Operations y Transactions.
Sesión 2 · Viernes 23 de octubre · 2:15 a 4:00 p. m.

Activos, operaciones y primer contrato

Bloque técnico de 105 min: 30 comunes y 75 por nivel

Objetivo: entender el modelo de cuentas y activos de Stellar haciéndolo (emitir un activo propio) y, en Builders, desplegar e invocar el primer contrato Soroban en testnet.

0–30Bloque comúnAnatomía de una transacción (source, sequence, fee, operaciones, firmas). Operaciones clave: createAccount, payment, changeTrust, manageSellOffer, setOptions. Qué es un activo (código y emisor) y por qué existe la trustline. Demo en Stellar Lab: construir una transacción a mano y leerla en XDR.
30–105Cada nivel en su espacioVer los dos talleres a continuación.

Fundamentos Emite tu propio activo

En lab.stellar.org, red Testnet.

  1. Crear dos cuentas, emisora y distribuidora, y fondearlas con Friendbot.
  2. Desde la distribuidora, changeTrust al activo JAVE de la emisora.
  3. Desde la emisora, payment de 1.000 JAVE a la distribuidora.
  4. Enviar JAVE a la wallet Freighter de un compañero. Él tiene que agregar la trustline primero: ahí se entiende el concepto.
  5. Verificar en stellar.expert balances, trustlines y operaciones.
  6. Reto: bloquear la emisión con setOptions (masterWeight 0) y explicar qué implica.

Builders Hello Soroban

Siguiendo developers.stellar.org → Build → Smart Contracts → Getting Started.

  1. stellar contract init hello-jave y recorrer la estructura: Cargo.toml, contracts/hello_world/src/lib.rs, test.rs.
  2. Leer el contrato línea a línea: #[contract], #[contractimpl], Env, Symbol, Vec y por qué es no_std.
  3. cargo test y modificar la prueba para que falle a propósito: entender qué verifica.
  4. stellar contract build genera el Wasm en target/wasm32v1-none/release/.
  5. stellar contract deploy --wasm … --source-account alice --network testnet --alias hello_world y guardar el Contract ID.
  6. stellar contract invoke --id hello_world --source-account alice --network testnet -- hello --to Javeriana, y leer el resultado y el fee en el explorador.
  7. Reto: agregar una función count con un contador en instance storage, con su prueba.
Tarea · PR #2
Vence el lunes 26 de octubre, 11:59 p. m.
  • Fundamentos Script o secuencia documentada (Lab o JS SDK) que reproduzca la emisión del activo; diagrama propio, a mano está bien, de las cuentas, trustlines y pagos; explicación de 150 palabras de qué es un activo en Stellar.
  • Builders Contrato hello_world con count desplegado en testnet, Contract ID en el README, pruebas pasando en CI (la plantilla trae GitHub Actions) y declaración de IA en la plantilla de PR.
  • Lecturas: Builders, Soroban → Learn → Storage y Authorization. Fundamentos, Stellar Docs → Learn → Anchors (prepara la sesión 3).
Sesión 3 · Viernes 30 de octubre · 2:15 a 3:45 p. m.

Wallets, anclas y la dApp

75 min de taller (25 comunes y 50 por nivel) y 15 de revisión

Objetivo: conectar lo que ya saben con un producto: una interfaz que firma con Freighter y habla con Stellar. Mientras tanto, la parte de negocio de cada equipo está en el taller del CJE.

0–25Bloque comúnCómo una wallet firma sin exponer la llave (Freighter API, signTransaction). Qué es un ancla y SEP-24 / SEP-31 a nivel conceptual: cómo entra y sale dinero real. Cómo un contrato Soroban se vuelve usable desde el navegador (bindings TypeScript y RPC). Demo: Scaffold Stellar en vivo.
25–75Cada nivel en su espacioVer los dos talleres a continuación.
75–90Revisión por mesaLos mentores revisan el diseño del contrato (Builders) y los bocetos de las tres pantallas (Fundamentos) antes de la integración con negocio.

Fundamentos Tu app con wallet

  1. Clonar la plantilla jave-wallet-starter (React y Freighter API).
  2. Botón «Conectar wallet»: mostrar la dirección y los balances (XLM y el activo JAVE de la sesión 2).
  3. Formulario de pago: construir la transacción con el SDK, pedir la firma a Freighter, enviarla y mostrar el hash con enlace al explorador.
  4. Bocetar en Figma o en papel las tres pantallas de la dApp del Demo Day y definir qué operación de Stellar usa cada una.

Builders Contrato más frontend

  1. Crear el proyecto con Scaffold Stellar (o stellar contract init y Vite) y conectarlo al contrato de la sesión 2.
  2. Generar bindings: stellar contract bindings typescript --network testnet --contract-id <ID> --output-dir packages/hello_world.
  3. Invocar hello y count desde el frontend, con la cuenta de Freighter firmando.
  4. Diseñar el contrato del Demo Day en una página: funciones, tipos, qué va en qué storage y quién debe autorizar qué (require_auth). Se revisa en office hours antes de escribir código.
Tarea · PR #3
Vence el lunes 2 de noviembre, 11:59 p. m.
  • Fundamentos App con conexión de wallet y pago funcionando en testnet; Figma o bocetos de las tres pantallas; README con el problema que resuelven (una frase) y qué operaciones usan.
  • Builders Diseño del contrato aprobado; primer lib.rs con las funciones firmadas, aunque estén vacías, y pruebas que describan el comportamiento esperado. Pueden fallar: eso es TDD.
  • Todos: lectura de Stellar Docs → Learn → Encyclopedia → Security (claves, multisig, phishing). Se pregunta en la sesión 4.
Sesión 4 · Viernes 6 de noviembre · 2:10 a 4:25 p. m.

Taller integrador y medición de comprensión

Bloque técnico de 135 min

Objetivo: cerrar el ciclo integrar, probar y desplegar del proyecto de cada equipo, y tomar las tres medidas de comprensión: reto sin IA, prueba oral y registro de depuración.

0–20Reto sin IA (todo el equipo)Cada equipo recibe un contrato o una transacción con un error plantado. Fundamentos: trustline faltante o sequence mal. Builders: require_auth ausente, storage mal elegido o un panic sin manejar. Deben encontrarlo y explicarlo por escrito, sin IA y sin internet salvo la documentación oficial.
20–75Integración del proyectoFundamentos conectan todas sus pantallas a operaciones reales en testnet; Builders implementan las funciones diseñadas en la sesión 3, pasan sus pruebas y despliegan. Los mentores rotan por mesa. En paralelo, negocio trabaja modelo y pitch.
75–90Pausa y refrigerio
90–120Prueba oral de comprensiónEl mentor visita cada equipo 5 a 6 minutos, elige un commit o una función al azar y hace tres preguntas. Responde cualquier integrante, lo elige el mentor. Los demás equipos siguen integrando.
120–135Puesta en comúnErrores más frecuentes del reto, qué se espera en el Demo Day y orden de presentación.

Registro de depuración autónoma: entre el minuto 20 y el 75 cada equipo anota en DEBUG_LOG.md cada error que encuentre, qué intentó primero y si lo resolvió solo, con la documentación, con un compañero o con IA.

Tarea · PR #4
Vence el lunes 9 de noviembre, 11:59 p. m. · Office hours extra el martes 10
  • Proyecto desplegado en testnet y funcionando de punta a punta.
  • README final: problema, qué operaciones o contratos usa, Contract ID o cuentas, cómo correrlo y declaración de IA del proyecto completo.
  • Pitch de 3 minutos ensayado (ver la ruta de emprendimiento) e informe técnico en docs/informe.md.

Lo que no esté en testnet el martes 10 de noviembre se arregla en las office hours extra de ese día o no se presenta.

Sesión 5 · Viernes 13 de noviembre

Demo Day y cierre de medición

Evento completo de 2:00 a 5:00 p. m.

Objetivo: que cada equipo demuestre un producto funcionando en testnet y lo explique, y cerrar la medición del aprendizaje.

Formato por equipo: 8 minutos

  • 3 min de pitch.
  • 3 min de demo en testnet, en vivo o en video. Si es un video, debe mostrar la transacción o la invocación y su hash o Contract ID, para verificarlo en el explorador.
  • 2 min de preguntas del panel. Cualquier integrante debe poder explicar cualquier parte.

Cierre de medición

  • Kahoot de salida con las mismas preguntas del diagnóstico, individual y sin IA.
  • Encuesta de autoeficacia: «puedo crear una wallet y enviar un pago», «puedo explicar qué es una trustline», «puedo leer un contrato Soroban», «puedo desplegar un contrato en testnet», «puedo encontrar un error sin IA».
  • Verificación de registro en el Ambassador Program y cuenta de testnet activa.
  • Retro: qué sesión fue más útil y qué faltó.
Política del semillero

Uso de IA

La IA (Cursor, Copilot, Claude, ChatGPT) está permitida y se enseña a usarla bien: pedir explicaciones antes que código, pedir pruebas antes que implementaciones y nunca aceptar un bloque que no se pueda explicar. Lo único prohibido es ocultarla: cada PR declara qué se generó con IA y qué se entendió y modificó. El reto sin IA y la prueba oral de la sesión 4 miden que la herramienta no haya reemplazado el aprendizaje.

La plantilla de PR con la declaración está en Entregables.