Tous les projets

Supply Chain Tracker

Université · 2025
Période
2025
Technologies
Node.js · Express · Solidity · ERC-1155 · MongoDB · IPFS
Supply Chain Tracker — Illustration conceptuelle · aucun envoi ou registre réel
Illustration conceptuelle · aucun envoi ou registre réel

À l’origine du projet

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.

Problèmes et décisions

Des lots aux tokens

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

Séparer et comparer les données

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.

Clés et responsabilité

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.

Comment il fonctionne

  1. Un backend Node.js et Express expose des API REST pour créer, transférer, diviser, réunir et transformer les lots.
  2. Des contrats Solidity ERC-1155 représentent lots et propriété sur Ethereum . Ethers.js relie les opérations applicatives à la blockchain.
  3. IPFS conserve métadonnées et pièces jointes publiques . MongoDB permet les consultations agrégées de l’historique et des relations entre lots.
  4. La propagation de contamination parcourt le graphe avec BFS. L’état de contamination reste distinct du cycle de vie du lot.

Télécharger le mémoire de master sur la traçabilité (PDF) IT · 3,0 MB

Ce que j’ai appris

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.

État du projet

Prototype de mémoire de master, testé sur un réseau Ethereum local avec Ganache et des clés de test.

Source

Un problème intéressant ?

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.