Alle Projekte

Supply Chain Tracker

Universität · 2025
Zeitraum
2025
Technologien
Node.js · Express · Solidity · ERC-1155 · MongoDB · IPFS
Supply Chain Tracker — Konzeptillustration · keine reale Sendung oder reales Ledger
Konzeptillustration · keine reale Sendung oder reales Ledger

Wie alles begann

Für meine Masterarbeit habe ich einen Prototyp entwickelt, der die Geschichte einer Charge nachvollziehbar macht. Nach einer Aufteilung, Übertragung oder Zusammenführung wollte ich sie bis zu ihrem Ursprung und den zugehörigen Belegen zurückverfolgen können.

Probleme und Entscheidungen

Von Chargen zu Tokens

Ich habe Chargen mit ERC-1155 abgebildet und APIs für Übertragung, Aufteilung und Zusammenführung umgesetzt.

Daten trennen und vergleichen

Die öffentlichen Metadaten liegen auf IPFS. MongoDB speichert aggregierte Daten für Abfragen. Ich habe Konsistenzprüfungen zwischen Blockchain, IPFS und MongoDB eingebaut, um Abweichungen zwischen den verschiedenen Darstellungen einer Charge zu erkennen.

Schlüssel und Verantwortlichkeit

Im Prototyp signiert das Backend mit Testschlüsseln. Schlüsselverwaltung und beidseitige Signaturen der Beteiligten müssen vor einem Praxiseinsatz noch weiter ausgearbeitet werden.

So funktioniert’s

  1. Ein Backend mit Node.js und Express stellt REST-APIs zum Erstellen, Übertragen, Aufteilen, Zusammenführen und Umwandeln von Chargen bereit.
  2. Solidity-Verträge nach ERC-1155 bilden Chargen und Eigentumsverhältnisse auf Ethereum ab. Ethers.js verbindet Anwendungsvorgänge mit der Blockchain.
  3. IPFS speichert öffentliche Metadaten und Anhänge. MongoDB unterstützt aggregierte Abfragen über Chargenverläufe und Beziehungen hinweg.
  4. Die Kontaminationsausbreitung wird per BFS durch den Graphen verfolgt. Der Kontaminationsstatus bleibt vom Lebenszyklus der Charge getrennt.

Masterarbeit zur Rückverfolgbarkeit herunterladen (PDF) IT · 3.0 MB

Was ich gelernt habe

Bei der Modellierung von Chargenaufteilungen und -umwandlungen habe ich gelernt, Beziehungen zu definieren, bevor ich ihre Speicherung festlege. Auch die Trennung von Originaldatensätzen und den für Abfragen verwendeten Daten hilft mir bei der Systemintegration.

Aktueller Stand

Prototyp meiner Masterarbeit, getestet in einem lokalen Ethereum-Netzwerk mit Ganache und Testschlüsseln.

Quelle

Ein interessantes Problem?

Erzähl mir, was du entwickeln oder verbessern möchtest, wer es nutzen wird und welche Rahmenbedingungen du hast. Ich melde mich bei dir, damit wir gemeinsam den Ausgangspunkt finden.