Tutti i progetti

Supply Chain Tracker

Università · 2025
Periodo
2025
Tecnologie
Node.js · Express · Solidity · ERC-1155 · MongoDB · IPFS
Supply Chain Tracker — Illustrazione concettuale · non raffigura spedizioni o registri reali
Illustrazione concettuale · non raffigura spedizioni o registri reali

Da dove nasce

Per la tesi magistrale ho costruito un prototipo per seguire la storia di un lotto. Se una partita viene divisa, trasferita o unita a un’altra, volevo poter risalire alle sue origini e ai documenti che la accompagnano.

Problemi e scelte

Dai lotti ai token

Ho rappresentato i lotti con ERC-1155 e API per trasferimento, divisione e unione.

Separare e confrontare i dati

I metadati pubblici sono su IPFS. MongoDB conserva dati aggregati per le consultazioni. Ho previsto controlli di coerenza tra blockchain, IPFS e MongoDB per individuare incongruenze tra le diverse rappresentazioni del lotto.

Custodia e responsabilità

Nel prototipo il backend firma con chiavi di test. Gestione delle chiavi e doppia firma tra attori sono sviluppi da approfondire prima di un impiego reale.

Come funziona

  1. Un backend Node.js ed Express espone API REST per creare, trasferire, dividere, unire e trasformare i lotti.
  2. Smart contract Solidity ERC-1155 rappresentano lotti e proprietà su Ethereum. Ethers.js collega le operazioni applicative alla blockchain.
  3. IPFS conserva metadati e allegati pubblici. MongoDB supporta le consultazioni aggregate della storia e delle relazioni tra lotti.
  4. La propagazione della contaminazione esplora il grafo con BFS. Stato di contaminazione e ciclo di vita del lotto restano distinti.

Scarica la tesi magistrale sulla tracciabilità (PDF) IT · 3,0 MB

Cosa ho imparato

Modellare divisioni e trasformazioni dei lotti mi ha insegnato a chiarire le relazioni prima di scegliere come memorizzarle. Distinguere la registrazione originale dai dati usati per consultarla mi serve anche nelle integrazioni tra sistemi.

A che punto è

Prototipo di tesi magistrale, provato su una rete Ethereum locale con Ganache e chiavi di test.

Fonte

Un problema interessante?

Raccontami cosa vuoi costruire o migliorare, chi lo userà e quali vincoli hai. Ti risponderò per capire insieme da dove partire.