Todos los proyectos

Supply Chain Tracker

Universidad · 2025
Periodo
2025
Tecnologías
Node.js · Express · Solidity · ERC-1155 · MongoDB · IPFS
Supply Chain Tracker — Ilustración conceptual · no muestra envíos ni registros reales
Ilustración conceptual · no muestra envíos ni registros reales

De dónde nace

Para mi trabajo de fin de máster construí un prototipo que sigue la historia de un lote. Después de dividirlo, transferirlo o combinarlo con otro, quería poder remontarme a su origen y documentación.

Problemas y decisiones

De lotes a tokens

Representé los lotes con ERC-1155 y API para transferencia, división y unión.

Separar y comparar datos

Los metadatos públicos están en IPFS. MongoDB conserva datos agregados para las consultas. Incorporé comprobaciones de coherencia entre blockchain, IPFS y MongoDB para identificar discrepancias entre las representaciones de un lote.

Claves y responsabilidad

En el prototipo el backend firma con claves de prueba. La gestión de claves y la doble firma entre participantes requieren más desarrollo antes de un uso real.

Cómo funciona

  1. Un backend Node.js y Express expone API REST para crear, transferir, dividir, combinar y transformar lotes.
  2. Contratos Solidity ERC-1155 representan lotes y propiedad en Ethereum. Ethers.js conecta las operaciones de la aplicación con la blockchain.
  3. IPFS conserva metadatos y adjuntos públicos. MongoDB facilita consultas agregadas sobre el historial y las relaciones entre lotes.
  4. La propagación de contaminación recorre el grafo mediante BFS. El estado de contaminación se mantiene separado del ciclo de vida del lote.

Descargar el trabajo de fin de máster sobre trazabilidad (PDF) IT · 3,0 MB

Lo que aprendí

Modelar divisiones y transformaciones de lotes me enseñó a aclarar las relaciones antes de decidir cómo almacenarlas. Distinguir el registro original de los datos que facilitan su consulta también me sirve al integrar sistemas.

Estado actual

Prototipo de trabajo de fin de máster, probado en una red Ethereum local con Ganache y claves de prueba.

Fuente

¿Un problema interesante?

Cuéntame qué quieres construir o mejorar, quién lo usará y qué límites tienes. Te responderé para ver juntos por dónde empezar.