Des lots aux tokens
J’ai représenté les lots avec ERC-1155 et des API de transfert, division et fusion.

Pour mon mémoire de master, j’ai construit un prototype qui retrace l’histoire d’un lot. Après une division, un transfert ou une fusion, je voulais pouvoir retrouver son origine et les documents qui l’accompagnent.
J’ai représenté les lots avec ERC-1155 et des API de transfert, division et fusion.
Les métadonnées publiques sont sur IPFS . MongoDB conserve les données agrégées pour les consultations. J’ai prévu des contrôles de cohérence entre blockchain, IPFS et MongoDB pour repérer les écarts entre les représentations d’un lot.
Dans le prototype, le backend signe avec des clés de test. La gestion des clés et la double signature entre acteurs restent à approfondir avant un usage réel.
Télécharger le mémoire de master sur la traçabilité (PDF) IT · 3,0 MB
API et logique des lots . Documents originaux du dépôt, avec une source vérifiable.
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);Modéliser les divisions et transformations des lots m’a appris à préciser leurs relations avant de choisir leur stockage. Distinguer l’enregistrement d’origine des données de consultation me sert aussi dans les intégrations entre systèmes.
Prototype de mémoire de master, testé sur un réseau Ethereum local avec Ganache et des clés de test.
Décrivez ce que vous souhaitez construire ou améliorer, pour qui et avec quelles contraintes. Je vous répondrai pour définir ensemble le point de départ.