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

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.
Ho rappresentato i lotti con ERC-1155 e API per trasferimento, divisione e unione.
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.
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.
Scarica la tesi magistrale sulla tracciabilità (PDF) IT · 3,0 MB
API e logica dei lotti. Artefatti originali del repository, con origine verificabile.
router.get('/batches/:batchId', supplyChainController.getBatchById);
router.get('/batches/:batchId/parents', supplyChainController.getBatchParents);
router.get('/batches/:batchId/trace-history', supplyChainController.traceBatchHistory);
router.get('/batches/:batchId/descendants', supplyChainController.getBatchDescendants);
router.post('/batches/:batchId/split', upload.array('attachments'), supplyChainController.splitBatch);
router.post('/batches/:batchId/transfer', supplyChainController.transferBatch);
router.delete('/batches/:batchId', supplyChainController.burnBatch);
router.get('/batches/:batchId/status', supplyChainController.getBatchStatus);
router.put('/batches/:batchId/contamination', supplyChainController.setContaminationStatus);
router.post('/batches/:batchId/contaminate', supplyChainController.contaminateBatch);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.
Prototipo di tesi magistrale, provato su una rete Ethereum locale con Ganache e chiavi di test.
Raccontami cosa vuoi costruire o migliorare, chi lo userà e quali vincoli hai. Ti risponderò per capire insieme da dove partire.