Eine Schritt-für-Schritt-Gilde, um Ihren Fahrzeugbesitz mithilfe von Ethereum und IoT zu kennzeichnen


Das Karma-Auto-Token bietet eine von Ethereum gesicherte Bescheinigung für den Betrieb des Fahrzeugs und dessen Verwendung in einer symbolisierten Form auf DeFi-Märkten, beim Mieten und Ausleihen.

Es konnte in kurzer Zeit mit der vollständigen Benutzeroberfläche über TokenScript, AlphaWallet und Web3E bereitgestellt werden.

Die Schritte zum Bereitstellen und Erstellen des Car Token TokenScript:

– Stellen Sie NFT-Token in der Ethereum-Kette bereit, um das Eigentum darzustellen.

– Schreiben Sie TokenScript, um die Benutzeroberfläche für die Verwendung von Token-Funktionen bereitzustellen.

– Schreiben Sie eine IoT-Schnittstelle für die physische Schnittstelle zum Auto.

Um ein NFT-Token schnell bereitzustellen, gehen Sie zu folgenden Standorten:

ERC721: https://mintable.app/create

ERC875: https://tf.alphawallet.com

Für eine endgültige Implementierung haben Sie einen Vertrag im Fabrikstil, der ein eindeutiges Token oder eine Bescheinigung und ein Token ausstellen kann. Ein Benutzer könnte diese Bescheinigung verwenden, um Token zu prägen, die die Verwendung für definierte Zeiträume ermöglichen können. Dies würde eine dezentrale Kreditplattform „Auto von nebenan“ ermöglichen, bei der die Verwendung dieses Tokens selbst klar definiert ist (z. B. Nutzungszeitfenster). Das Prägen eines Tokens ist jedoch vorerst in Ordnung.

Notieren Sie sich die Adresse, nachdem Sie den Token geprägt haben. Das in dem hier verwendeten Beispiel auf Rinkeby verwendete Token (Netzwerk-ID 4).

Es gibt verschiedene Beispiele für Skripte, die wir im TokenScript-Beispiel-Repo verwenden können.

Das TokenScript-Design besteht aus einigen Hauptkomponenten:

– Ursprungsvertrag – der Token-Vertrag, auf den sich das Skript bezieht; Auch bekannt als das Token, auf das Sie auf der Brieftaschenseite klicken.

– Aktionen – Benutzerdefinierte Funktionen zusätzlich zu den intrinsischen Tokenfunktionen.

– Token-Ansichtskarten – werden zum Überschreiben von Standardansichten verwendet, um eine individuellere Benutzererfahrung zu erzielen.

Das vollständige Auto-TokenScript.

Dieses TokenScript ist vorkanonisiert, um die Implementierung zu vereinfachen. Die funktionierende, modulare Quelle ist hier. Sie können das Grundlayout der Datei in der Datei Karma.XML mit Aktionen und Attributen sehen. Die Ansichten werden in das Skript aufgelöst, wenn Sie es mit dem Makefile erstellen.

Notieren Sie die Vertragsadresse in Zeile 17; Dies ist die Adresse, unter der das Token zuvor geprägt wurde. Dies ist das Ursprungszeichen. Beachten Sie, dass der Abschnitt "Ursprünge" mehrere Definitionen enthalten kann. Das gleiche Skript kann für mehrere Token gelten. Der gleiche Token-Vertrag wird an verschiedenen Orten oder in verschiedenen Netzwerken bereitgestellt. Möglicherweise möchten Sie ein Testtoken in einem Testnetz für die Entwicklung und ein Mainnet-Token bereitstellen.

Das TokenScript enthält CSS-Formatierungscode, eine Ansicht mit Symbolen, die als erste Ansicht angezeigt wird, wenn der Benutzer auf das Token klickt, und eine Reihe von Aktionen, die als Schaltflächen auf der Tokenseite angezeigt werden:

Jeder Aktion ist eine eigene Seite zugeordnet, die für eine Webseite mit CSS, HTML und JavaScript als normal definiert ist. Auf jeder Seite haben Sie ab Zeile 717 Zugriff auf die am unteren Rand des Skripts definierten Eigenschaften. Beachten Sie, dass diese Eigenschaften entweder von der TokenID abgeleitet oder von einer intelligenten Vertragsfunktion (origin / token-id oder origins / bezogen werden können). Ethereum).

– Start: Ermöglicht den Einstieg in das Auto und ermöglicht das Starten des Motors.

– Bescheinigungen: Offizielle behördliche Bescheinigungen für Kfz-Zulassung (Regierung), Versicherung (zertifizierter Versicherer) und Service (Automobilhersteller).

– Markt: Verwenden Sie den Autobesitzer als Sicherheit auf DeFi-Märkten, führen Sie eine Auktion für das Auto durch, vermieten Sie das Auto oder listen Sie es zum Verkauf auf. Diese Dienste können von einem Dritten oder sogar von Diensten gehostet werden, die vom Eigentümer selbst erstellt wurden. Wenn der Token-Besitz auf ein anderes Konto übergeht, besitzt dieser Kontoinhaber das Auto legal.

Die Brieftasche bietet auch intrinsische Funktionen des Token-Vertrags. In diesem Fall übertragen, verkaufen und einlösen. Die Einlösungsfunktion kann passiv als Eigentumsbescheinigung verwendet werden, um den Zugang zu exklusiven Diensten wie Lounges am Flughafen zu ermöglichen. Das ist; Es bietet einen sicheren Eigentumsnachweis – der Token kann nur vom Vertrag oder Token-Eigentümer übertragen oder verbrannt werden.

Um das TokenScript in der Brieftasche bereitzustellen, senden Sie es am einfachsten per E-Mail oder Messenger-Chat an das Gerät, auf dem AlphaWallet ausgeführt wird. Wenn Sie auf die Datei klicken, zeigt der Intent-Service AlphaWallet als Empfänger an. Durch Klicken auf wird das Skript in die Brieftasche geladen. Wenn Sie für Ihre Brieftasche das zuvor erstellte Token haben (unter Bereitstellen Ihres Tokens), sollten Sie in der Lage sein, auf das Token auf der Brieftaschenseite zu klicken und die Fahrzeuggrafik anzuzeigen:

Um eine Verbindung zur Hardware herzustellen, verwenden wir die Web3E-Bibliothek mit einer TokenScript-Brücke.

Das Ausführen von Web3E auf Hardware ist unkompliziert. Wenn Sie zuvor Arduino verwendet haben, werden Sie keine Schwierigkeiten haben.

Bedarf:

– ESP32 oder ein anderes Arduino, das mit mindestens 4 MB integriertem WLAN kompatibel ist.

– Visual Studio Code oder Atom mit installiertem PlatformIO.

So erstellen Sie die Firmware mit PlatformIO:

1. Erstellen Sie ein neues ESP32-Projekt mit Arduino Framework.

2. Fügen Sie die Web3E-Bibliothek zu den Abhängigkeiten hinzu.

3. Richten Sie die API-Endpunkte für das aufzurufende TokenScript ein.

Hier ist die Beispiel-Firmware, die bereits für die Verwendung des oben genannten Vertrags eingerichtet wurde:

Sie sollten CAR_CONTRACT_TOKEN durch Ihre geprägte Token-Adresse ersetzen, da Sie sonst die Attestierungsprüfung nicht bestehen können. Beachten Sie, dass der Code für die Verwendung von Rinkeby eingerichtet ist. Wenn Sie eine andere Kette verwenden, ändern Sie INFURA_HOST entsprechend (z. B. INFURA_HOST = "mainnet.infura.io";).

Die im TokenScript definierten API-Endpunkte müssen in der Firmware initialisiert werden:

getChallenge: Gibt die aktuelle Geräte-Challenge zurück, die bei jedem Versuch einer Challenge aktualisiert wird.

checkSignature (sig = XXXXX…): Übergibt eine Signatur der Abfrage an das Gerät, die anhand der aktuellen Abfrage validiert und die erzeugte Adresse auf gültiges Token überprüft wird.

allForward (addr = XXXX…), rückwärts (addr = XXXX…), turnLeft (addr = XXXX…), turnRight (addr = XXXX…): Weisen Sie das Gerät an, dem Auto Bewegungsanweisungen zu erteilen, um die Kontrolle über das Auto zu demonstrieren.

Geben Sie dann den Code für jeden API-Aufruf ein. Die Funktion 'handleAPI' ist der Rückruf von der UDPBridge beim Empfang eines API-Aufrufs. Jeder Pfad muss eine Nachricht an den Server zurückgeben, um dem Benutzer eine Rückmeldung zu geben, dass das Gerät die Anweisung erhalten hat. In unserem Fall schalten die vier Steuerungs-APIs die verschiedenen Motorsteuerungen im Auto, und die Aufrufe der Challenge- und Signatur-API erfüllen die oben angegebenen Funktionen *.

Wenn Sie die Firmware zum ersten Mal ausführen, wird die UID des Geräts erstellt. Es werden zwei Sätze großer Zufallswerte verwendet, um dies zu erstellen: Erstens ein 16-Byte-Entropiestück vom Server, der mit Java SecureRandom erstellt wurde, und die zweite Entropiequelle ist die Zeit in Mikrosekunden, für die das Gerät aktiv war, einschließlich der Zeit, die für die Verbindung benötigt wurde zu WiFi und dann zum ScriptProxy.

Sie müssen die Datei karma.canonicalized.xml öffnen und Ihre Geräteadresse in die Zeile iotAddr in Zeile 340 der Datei kopieren. Stellen Sie sicher, dass Sie das Skript auf dem Telefon aktualisieren und es erneut per Messenger oder E-Mail an Ihre Brieftasche senden.

Jetzt läuft die Firmware auf dem ESP32 und das TokenScript ist für AlphaWallet bereitgestellt. Es ist Zeit, alles zu verbinden!

Suchen Sie zuerst den Token in Ihrer Brieftasche. Wenn es nicht vorhanden ist, haben Sie das Token möglicherweise auf einem anderen Konto als dem auf Ihrem Telefon erstellt. Wenn dies der Fall ist, übertragen Sie das Token entweder auf Ihre AlphaWallet oder importieren Sie den Schlüssel, mit dem das Token erstellt wurde. Mit AlphaWallet können Sie einen Schlüssel in einem der drei Hauptformate importieren – Startphrase, Schlüsselspeicher oder roher privater Schlüssel. Metamask exportiert den Keystore und den privaten Rohschlüssel.

Klicken Sie nun auf den Token, Sie sollten die Fahrzeuggrafik sehen.

Klicken Sie nun auf das Auto für die Detailansicht und klicken Sie auf "Start". Nach kurzer Zeit (zwischen 0,5 und 2 Sekunden) sollte eine Herausforderung angezeigt werden. Unterschreibe die Herausforderung, dann solltest du die Fahrzeugsteuerung sehen. Wenn Sie diese an einige Motoren angeschlossen haben, können Sie Ihr Auto über die Brieftasche fernsteuern.

* Die genaue Reihenfolge zum Überprüfen der Authentifizierung besteht darin, eine Ethereum-Adresse von einem EC-Recover für die übergebene Signatur unter Verwendung der aktuellen Herausforderung als Nachricht abzurufen und dann diese Ethereum-Adresse auf Token-Balance zu überprüfen. Dies ist eine sehr einfache Überprüfung und berücksichtigt nicht, ob das Token noch gültig ist.

Coins Kaufen: Bitcoin.deAnycoinDirektCoinbaseCoinMama (mit Kreditkarte)Paxfull

Handelsplätze / Börsen: Bitcoin.de | KuCoinBinanceBitMexBitpandaeToro

Lending / Zinsen erhalten: Celsius NetworkCoinlend (Bot)

Cloud Mining: HashflareGenesis MiningIQ Mining

Werbung: Immobilienmakler HeidelbergMakler Heidelberg

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close