Oktober 2, 2019

Erste Schritte mit dem IOTA Industry Marketplace: Eine Schritt-für-Schritt-Anleitung

Erste Schritte mit dem IOTA Industry Marketplace: Eine Schritt-für-Schritt-Anleitung

Wir haben kürzlich den Industry Marketplace gestartet : eine hersteller- und branchenneutrale Plattform, die von IOTA und weltweit führenden Innovatoren entwickelt wurde. Dieser Blogeintrag richtet sich an alle, die durch das Einrichten einer Instanz eines Service Requesters oder eines Service Providers einen Beitrag zum Industry Marketplace leisten möchten . Im folgenden Abschnitt werde ich den Hauptzweck des Industry Marketplace und seiner Schlüsselelemente kurz zusammenfassen. Anschließend werde ich detailliert auf die Installation, Ausführung und Konfiguration der wesentlichen MarketManager-Komponente eingehen.

Vergiss nicht, die Blog-Posts zu verfolgen, die in den kommenden Wochen veröffentlicht werden. Eine Ausfürhliche Anleitung wird in Kürze in einem separaten Blogbeitrag veröffentlicht.

Der Industrie-Marktplatz

Der Industry Marketplace schafft einen herstellerneutralen Marktplatz für Industrie 4.0 (I4.0) -Komponenten zum Kaufen und Verkaufen von Waren, Daten und Dienstleistungen. Im Gegensatz zu herkömmlichen virtuellen Marktplätzen ist der Industry Marketplace, der von IOTA betrieben wird, eine autonome und dezentrale Plattform für das Angebot und die Suche nach Daten und Diensten, die für jedermann kostenlos zur Verfügung steht.

Ein Teilnehmer am Industry Marketplace kann eine von zwei Rollen einnehmen: die Rolle des Service Requesters oder des Service Providers. Der Service Requester sucht nach Daten oder Diensten, z. B. Laden, Transportieren, Bohren usw., die von einem Service Provider angeboten werden. Der Serviceanforderer wählt einen Serviceanbieter aus und verarbeitet eine Zahlung in IOTA-Tokens, sobald der Service erfolgreich ausgeführt wurde.


Industrie 4.0-Sprache und eCl@ss

Um das Potenzial des Industry Marketplace auszuschöpfen, ist es entscheidend, dass alle beteiligten Akteure in einer präzisen und eindeutigen Sprache kommunizieren. Der Mensch kann aufgrund seiner Vorstellungskraft und Intelligenz das Wesentliche einer Botschaft verstehen, ohne dieselbe Sprache zu sprechen. Maschinen müssen jedoch in derselben Sprache kommunizieren, um sich zu verstehen.

Dementsprechend muss eine von einem Service Requester gesendete Anfrage von allen Teilnehmern des Industry Marketplace gleich interpretiert werden. Um dies zu erreichen, folgen alle auf der Plattform ausgetauschten Nachrichten den Vorgaben der Industrie 4.0-Sprache.

Auf dieser Grundlage sendet der Serviceanforderer seine Anfrage als Aufforderung zur Einreichung von Vorschlägen, in der er seinen angeforderten Service angibt. Diensteanbieter können daraufhin Vorschläge erstellen . Sowohl das C all For Proposal als auch das Proposal selbst enthalten eine technische und kaufmännische Beschreibung der Dienstleistung. Dies kann zum Beispiel den Preis, die Zeit, die Qualität und den Ort für die Erbringung einer Dienstleistung umfassen. Um sicherzustellen, dass alle Teilnehmer das gleiche Verständnis für die Services haben, sind die Eigenschaften von eCl@ss Teil der Transaktionsdaten.

Weitere Meldungen und deren Austauschreihenfolge sind im Folgenden dargestellt.

Weitere Informationen zur Industrie 4.0-Sprache (Englisch) und zu eCl@ss finden Sie auf den Websites und in den entsprechenden Veröffentlichungen.


Der MarketManager

Zum Erstellen von Industrie 4.0-Sprachnachrichten und zum Durchführen der logischen Zuordnung zwischen Service Requestern und Service Providern wird eine MarketManager-Komponente als Kernbestandteil des Industry Marketplace bereitgestellt. Der MarketManager fungiert als Vermittler zwischen dem Benutzer und dem IOTA-Tangle, der zugrunde liegenden Datenstruktur von IOTA, und hat die folgenden Aufgaben:

  • Übersetzung der I4.0-Sprachnachrichten von SR und SP in IOTA-Transaktionen, die an einen Knoten gesendet werden.
  • Übersetzung empfangener IOTA-Transaktionen in I4.0-Sprachnachrichten und Filtern der für die verbundenen SR und SP relevanten Nachrichten.
  • Authentifizierung interaktiver Parteien durch Erstellung und Überprüfung des Nachweises der dezentralen Authentifizierung und Identifizierung (DID)

Die im Quellcode enthaltene MarketManager-Komponente verfügt über eine Benutzeroberfläche, die Benutzereingaben an das MarketManager-Back-End weiterleitet.

Sie können den MarketManager auch ohne Benutzeroberfläche verwenden, indem Sie API-Anforderungen senden, wie in unserer Technischen Dokumentation beschrieben .

In diesem Artikel wird jedoch der Schwerpunkt auf die Implementierung des MarketManager mit der Benutzeroberfläche gelegt.


Wie man anfängt

Beginnen wir mit der Implementierung Ihrer eigenen MarketManager-Instanz. Stellen Sie zuvor sicher, dass Sie die folgenden Voraussetzungen installiert haben:

Wir unterstützen Node.js Version 10 und höher. Bitte aktualisieren Sie, wenn Ihre Node.js-Version älter ist. So überprüfen Sie Ihre Node.js-Version, indem Sie "node -v" in Ihrer Konsole oder Ihrem Terminal ausführen.

Wenn alle Voraussetzungen installiert sind, können Sie die folgenden schrittweisen Anweisungen befolgen.

  1. Klonen oder laden Sie das Industry Marketplace-Repository von GitHub herunter$ git clone https://github.com/iotaledger/industry-marketplace.git

2. Wechseln Sie in den Projektordner der ServiceApp$ cd / industry-marketplace / ServiceApp

3. Installieren Sie alle erforderlichen Pakete, erstellen Sie die Anwendung und starten Sie sie mit dem Befehl yarn dev (Dies erfordert möglicherweise das Öffnen eines neuen Terminalfensters, wenn Sie mit dem Windows-Betriebssystem arbeiten).$ Fadenentwickler

Dadurch wird der Back-End-MarketManager unter http: // localhost: 4000 sowie die Benutzeroberfläche unter http: // localhost: 3000 gestartet .

Wenn sich die Benutzeroberfläche nicht automatisch öffnet, können Sie sie öffnen, indem Sie http: // localhost: 3000 in Ihren Browser eingeben.


Aufbau

Klicken Sie zum Konfigurieren Ihrer installierten Instanz von MarketManager auf das Zahnrad in der linken unteren Ecke der Benutzeroberfläche. Ein Konfigurationsdialog öffnet sich.

Hier können Sie Ihren Benutzer mit dem Entitätsnamen, dem Standort (als Adresse oder GPS-Koordinaten) angeben und einen der verfügbaren Typen (Anforderer oder Anbieter) auswählen. Sie können auch eine vorhandene interne Brieftasche mit den kostenlosen Devnet IOTA-Tokens aufladen, indem Sie die Box aktivieren. Der Einzahlungsvorgang Ihres Geldbeutels kann einige Minuten dauern. Bitte unterbrechen Sie diesen Vorgang nicht.

Digitale Identität

Sobald der Konfigurationsdialog zum ersten Mal gesendet wird, generiert der MarketManager automatisch eine digitale ID für seine Instanz. Dies geschieht, indem ein MAM-Kanal initialisiert und dessen Wurzel als DID verwendet wird.

Im selben Schritt wird ein aus einem privaten und einem öffentlichen Schlüssel bestehendes RSA-Schlüsselpaar zu Verschlüsselungszwecken erstellt. Der öffentliche Schlüssel einer Entität kann von anderen zum Verschlüsseln vertraulicher Daten verwendet werden, auf die nur die Entität zugreifen darf. Dies wird über eine asynchrone Verschlüsselung ermöglicht, bei der Nachrichten, die mit einem öffentlichen Schlüssel verschlüsselt sind, nur mit dem entsprechenden privaten Schlüssel entschlüsselt werden können.

Weiterhin wird eine zufällige Adresse für die Kommunikation generiert. Diese zufällige Adresse wird später verwendet, um überprüfbare Anmeldeinformationen von der IOTA Foundation zu erhalten, um zu beweisen, dass der MarketManager eine vertrauenswürdige Identität ist.

DID, Schlüsselpaar und die Zufallsadresse werden zu einem DID-Dokument zusammengefasst und im MAM-Channel veröffentlicht. Zusätzlich werden DID, Private Key und Seed des MAM in der lokalen DB des MarketManagers gespeichert.


Seien Sie ein Service Requester

Wenn Sie Ihre MarketManager-Instanz als Service Requester ausführen und Ihre Brieftasche wie oben beschrieben finanziert haben, können Sie jetzt Ihren ersten Aufruf zur Angebotsabgabe erstellen, indem Sie auf die Schaltfläche Anforderung erstellen klicken. Es öffnet sich ein Fenster, in dem Sie die Operation und ihre Attribute angeben können, die Sie anfordern möchten.

Wenn Sie keine echten Werte in die erforderlichen Eingabefelder eingeben möchten, können Sie einen integrierten Zufallsgenerator verwenden, um gültige Werte für jedes Feld zu generieren. Die generierten Werte können nach Ihren Wünschen angepasst werden. Drücken Sie auf die gekreuzten Pfeile oben im Dialogfeld, um zufällige Werte zu generieren.

Sobald Sie Ihre Anfrage senden, übersetzt der Back-End-MarketManager Ihre Eingaben in eine I4.0-Sprachnachricht und sendet sie an einen Knoten. Ihre Aufforderung zur Einreichung von Vorschlägen wird im Abschnitt "Warten auf Vorschlag" angezeigt und bleibt dort, bis ein Dienstleister des Industry Marketplace mit einer Vorschlagsnachricht antwortet.

Ihre Aufforderung zur Einreichung von Vorschlägen verschwindet, sobald ein Vorschlag eingegangen ist.

Wie Sie unten sehen können, haben wir ap ORSCHLAG vom Benutzer Serviceprovider unsere Anfrage für 2 IOTA - Token zu erfüllen. Hier können Sie den Vorschlag entweder annehmen oder ablehnen.

Abgelaufene Anfragen können nicht mehr angenommen werden.

Wenn Sie den Vorschlag akzeptieren, wird die Karte in die Kategorie "Warten auf Erfüllung" verschoben und bleibt dort, bis der Dienstanbieter eine Bestätigungsmeldung sendet , dass der Vorgang erfolgreich ausgeführt wurde. Anschließend wechselt die Karte in den Bereich "Warten auf Zahlung", in dem Sie die Zahlung bearbeiten können.

Die Zahlung wird zu Ihrer Zahlungswarteschlange hinzugefügt, in der alle Zahlungen innerhalb eines Zeitraums von fünf Minuten erfasst und als eine ausgeführt werden. Weitere Informationen zur Zahlungswarteschlange finden Sie in unserer Technischen Dokumentation

Nachdem Ihre Zahlung erfolgreich zur Zahlungswarteschlange hinzugefügt wurde, wird die Karte in den Bereich „Abgeschlossen“ verschoben.

Seien Sie ein Dienstleister

Wenn Sie Ihre Instanz als Dienstanbieter konfiguriert haben, warten Sie im ersten Schritt auf eingehende Aufforderungen zur Einreichung von Vorschlägen .

Nach Erhalt einer Aufforderung zur Einreichung von Vorschlägen kann diese durch Eingabe eines Preises für die Dienstleistung angenommen werden. Der Preis muss in IOTA-Token eingegeben werden. Bis zur Eingabe des Preises bleibt die Schaltfläche zum Versenden eines Angebots deaktiviert. Abgelaufene Anfragen können nicht angenommen werden.

Wenn der Vorschlag angenommen wurde, wird die Karte in der Kategorie "Warten auf Erfüllung" angezeigt.

An diesem Punkt führen Sie den Dienst hypothetisch aus und senden eine Bestätigungsmeldung , sobald die Aufgabe erledigt ist. Wenn die Aufgabe nicht unerwartet ausgeführt werden kann, kann die Anforderung dennoch durch Klicken auf die Schaltfläche "Anforderung ablehnen" abgelehnt werden.

Sobald der Service Requester die Zahlung verarbeitet, wechselt die Karte von "Warten auf Zahlung" zu "Abgeschlossen" und Ihr Guthaben erhöht sich innerhalb der nächsten Minuten.

Vertrauenswürdige Identitäten

Service Provider und Service Requester haben die Möglichkeit, in der oberen rechten Ecke einen Filter für Trusted Requests zu aktivieren.

Wenn der Filter aktiviert ist, werden nur Nachrichten von als vertrauenswürdig gekennzeichneten Anforderern und / oder Anbietern an die Benutzeroberfläche weitergeleitet. Um jedoch Angebote von vertrauenswürdigen Anforderern und / oder Anbietern erhalten zu können, muss Ihr MarketManager selbst eine vertrauenswürdige Identität sein.

Werden Sie eine vertrauenswürdige Identität

Um als vertrauenswürdige Identität eingestuft zu werden, muss der MarketManager einen überprüfbaren Berechtigungsnachweis von der IOTA Foundation erhalten. Dies kann erreicht werden, indem die DID der MarketManager-Instanz (Requester oder Provider) per E-Mail an industry@iota.org gesendet wird .

Die DID kann durch Senden einer GET API-Anfrage an den Endpunkt abgerufen werden. Öffnen Sie Ihren Browser mit http: // localhost: 4000 / user und kopieren Sie das "did: IOTA:" mit der folgenden ID in die E-Mail mit Ihrem Firmennamen. Lassen Sie den MarketManager mindestens so lange online, bis eine Bestätigungs-E-Mail gesendet wurde. Dies dauert bis zu 24 Stunden und wird normalerweise von Montag bis Freitag durchgeführt.

Anschließend überprüfen wir Ihre Identität und senden über die zufällig generierte Adresse, die während der Konfiguration erstellt wurde, überprüfbare Anmeldeinformationen an Ihre MarketManager-Instanz. Dieser Prozess wird in den nächsten Updates verbessert. Es ist später möglich, Ihre eigenen DIDs direkt auf die Whitelist zu setzen. Jede Partei, die der Organisation vertraut, vertraut dann jeder DID, die von dieser Organisation als weiß gekennzeichnet ist.

Überprüfbare Anmeldeinformationen

Überprüfbare Berechtigungsnachweise bieten ein Medium zum Nachweis, welche anderen Akteure einen Schauspieler als vertrauenswürdig identifiziert haben. Alle DIDs der Teilnehmer des Industry Marketplace haben einen überprüfbaren Berechtigungsnachweis erhalten, aus dem hervorgeht, dass sie ein vertrauenswürdiger Akteur der DID der IOTA Foundation sind.


Überwachungsprotokoll / Transaktionsverlauf

Service Provider und Service Requester haben die Möglichkeit, sich die Transaktionshistorie durch Klicken auf den Anforderungskartenkopf anzusehen. Die auf der neuen Seite sichtbaren Daten werden direkt vom verschlüsselten MAM-Kanal im Tangle abgerufen und können nur von an der Transaktion beteiligten Serviceanforderungs- und Serviceanbietereinheiten abgerufen werden. Die Daten können als Überwachungsprotokoll verwendet werden.

Sensordaten

Wenn der angeforderte Dienst zum Bereitstellen von Daten von einem Gerät oder Sensor dient, kann auf die Daten auf derselben Seite zugegriffen werden, auf der das Transaktionsprotokoll verfügbar ist.

Klicken Sie auf den Anforderungskartenkopf und warten Sie, bis die Daten vom verschlüsselten MAM-Kanal mit den vom Dienstanbieter bereitgestellten Anmeldeinformationen abgerufen wurden. Die Daten werden in chronologischer Reihenfolge als Karten angezeigt.

Diese Informationen können auch mithilfe eines Skripts abgerufen und daher in eine andere Anwendung exportiert werden. Bitte beachten Sie, dass die Daten erst verfügbar sind, nachdem die Anfrage als erfüllt markiert wurde.

Der Dienstanbieter kann bestimmen, wie lange die Daten verfügbar bleiben.

Externe Links

Alle blauen Beschriftungen im oberen Teil der Anforderungskarte sind anklickbare Links.

Der Link leitet zur jeweiligen Parameterbeschreibung im eCl@ss-Katalog weiter.

Eine andere Art von externem Link leitet zu einem Google Maps-Dienst mit dem durch GPS-Koordinaten angegebenen Standort weiter.

Weitere Konfigurationen

Die von der Benutzeroberfläche empfangenen Nachrichten werden vom MarketManager im Backend herausgefiltert. Die Filter können mithilfe der Datei config.json im Ordner ServiceApp / server / src konfiguriert werden.

Filtern nach Vorgangstyp. Dieser Filter gilt sowohl für Service Requester (SR) - als auch für Service Provider (SP) -Rollen. Ein Unternehmen kann eine Liste der unterstützten Operationen unter dem Attribut angeben Operationen : [...] in der Konfigurationsskript (config.json) des Market Manager. Die Operations-ID wird zur schnelleren Filterung dem Transaktions-Tag hinzugefügt. Nur Nachrichten, die sich auf Vorgänge in der Liste beziehen, dürfen durchgelassen werden.

Konfigurationsparameter Operationen aus der config.json Datei

Filtern nach Entitätsrolle und Nachrichtentyp. Wir unterscheiden zwischen den Rollen Service Requester (SR) und Service Provider (SP). Jede Rolle verfügt über einen bestimmten Nachrichtensatz, den sie annehmen kann. Für SR sind die gültigen Nachrichten " Proposal" und " InformConfirm" . Für SP lauten die gültigen Nachrichten callForProposal, acceptProposal , rejectProposal und informPayment . Für die YellowPages-Anwendung werden folgende Nachrichten akzeptiert: callForProposal , proposal und acceptProposal .

Filtern nach Standort . Dieser Filter gilt nur für Service Provider. Wenn die Entität ihren Standort definiert hat und der maximale Bereich innerhalb der Anforderungen akzeptiert werden soll, berechnet der Filter die Entfernung zwischen SR und SP. Dieser Abstand wird dann mit dem im Konfigurationsskript definierten Maximalbereichswert verglichen. Nur Anfragen von Service Requestern, die sich in diesem Bereich befinden, dürfen durchgehen.

Der Konfigurationsparameter maxDistance aus der Datei config.json wird zusammen mit seinem eigenen Speicherort über die API oder den Konfigurationsdialog der MarketManager-Benutzeroberfläche konfiguriert.

Filtern nach Empfänger (Benutzer-DID) . Dieser letzte Filter gilt für andere Nachrichtentypen als callForProposal , die an jeden Dienstanbieter gesendet werden. Alle anderen Nachrichten geben bereits das Empfänger-ID-Feld an, das abgerufen und mit der internen DID der Entität verglichen wird. Nur im Falle einer Übereinstimmung darf die Nachricht durchgelassen werden.


Wenn Sie noch Fragen zum Einstieg haben, besuchen Sie Discord und treten Sie direkt mit uns in den speziellen Channel für den Industry Marketplace ein.

Besuchen Sie den Industry Marketplace und nehmen Sie jetzt teil: industry.iota.org


Quelle: https://blog.iota.org/how-to-get-started-with-the-iota-industry-marketplace-a-step-by-step-guide-90fa343e4e7e