# Final Presentation - Intro zum Thema, was machen wir, wie wurde es umgesetzt - Why Blockchain, Implications of Implementation - what does it mean for users - for existing marketplaces - Energy consumption - compatability (concerning existing standards) - Relativ viel Demo # Report - Abstract - Introduction - Überleitung von wachsendem NFT Markt zu Idee - Unserer Idee, welche Probleme lösen wir - Überlick, worauf wir im Paper eingehen werden - Related Work - Eventuell im Paper dann aufteilen zwischen technologisch und konzeptionell - https://github.com/kohshiba/ERC-X - https://eips.ethereum.org/EIPS/eip-721 - https://eips.ethereum.org/EIPS/eip-1155 - extended auch den ERC-721 Standard mit zusatzfunktionalitäten - https://arxiv.org/abs/1907.07758 - https://arxiv.org/pdf/1906.03263.pdf - Your Approach - Konzept der Implementierung - Welche Nutzer gibt es - Was wollen diese Nutzer tun - Welche Vorteile/Nutzen bringt ArtPart für die verschiedenen Nutzergruppen? - Ausleihen eines Exhibits - Software die wir benutzen - Ganache als Ethereum Emulator - Truffle für Smart contract development - React als Frontend - json-server um eine einfache DB umzusetzen - Metamask als Interface zwischen Blockchain und Browser - Struktur der Smart Contracts - Exchange.sol als Management zwischen Benutzer und Token - CustomERC721.sol wird von Exchange als Token verwendet, ist der Openzeppelin ERC721 Standard, extended durch Funktionen zum Ausleihen - Wie wurde das ausleihen realisiert - Interaktion zwischen Frontend und Backend - Benutzerauthentifizierung (Anmeldung durch Metamask ist äquivalent zu Account erstellung) - Authentifizierung von Museen (durch legales Framework) - Durch Zugriff aud die unterliegenden Contracts können Nutzergruppen die relevanten Funktionen ausführen - Link to real world assets - Die Sache mit dem QR Code - alternativ: digitale Plakette neben dem Ausstellungsstück - Evalutation / Discussion - Warum ist Blockchain ein Lösungsansatz - Mögliche Problemstelle: Authentifizierung - Mögliche Lösung: Nutzer die erfolgreich ein Ausstellungsstück ausgeliehen haben können dem Museum +reputation geben - Wie umgehen bei Missbrauch - Museum ist eigentlich gar nicht das Museum -> Vertragsbasis muss Verbindung zu einer rechtlich gültigen Person herstellen, welche belangt werden kann - Museum ist das Museum, stellt aber den QR-Code nicht hin (Lösung: Vertrag) -> Das Museum muss den vollen Betrag zurückerstatten (ist möglich im Smart Contract) - Ausleiher macht quatsch -> Änderung im Ausleihprotokoll, um Ausleihzeitraum zu beginnen, müssen beide Parteien den Antrag akzeptieren, das Nutzerprofil welches zu diesem Zeitpunkt existiert wird dann angezeigt - Ist eine virtuelle Partnerschaft genug Anreiz? - NFT Hype -> Nicht Krypto-affine, aber kunstliebhaber für NFT begeistern - Reicht der monetäre Anreiz für Museen (für große? / für kleine?) --> vor allem bei kleinen: eventuell kriegen sie Partnerschaften gar nicht verkauft? Wenig kosten mit Erstellung assoziiert - Conclusion - Eigentlich coole Idee - Wir sind überzeugt, dass das Konzept Nutzen für die Nutzergruppen stiften würde und somit benutzt werden würde - Um marktfähig zu werden, müssen noch einige Änderungen vorgenommen werden # Protokoll 08.06 - Präsentation - 1. Truffle - What, Why, How? - Wie funktioniert die Entwciklungsumgebung? MetaMask? - Ganache - Zugriff von intern ohne GUI - Ethereum -> Mining geregelt - ERC standard - Overview - User - exhibit interaction - Demo - Roadmap - Ersmtal so wie letzte Präsi + zusätzlich: - Connection to real world objects - Deployment - Real World Objects? - QR-code to exhibit page - Possible extension: screen with name next to real exhibit - Deployment - Kevin - Ganache Deployment? - Testnet ? # Protokoll 05.06 - Datenbanken - Kevin - Query Funktionen im Frontend testen - ChangeOwnership() im Frontend testen - Mergen mit master - Docker container deployment - Contracts - React - Maria - Desgin vom wireframe # Protokoll 01.06 - Datenbanken - Kevin 1. Wallet - Adresse als ID, Infos: Name, Beschreibung, Bild, .... 2. Ausstellungsstücke - ExhibitID als ID, Infos: Name, Museum, Künstler, Preis - Funktionen im Frontend so schreiben, dass einfach ein Eintrag in die jeweilige Datenbank eingetragen wird - Fetch-Funktion um Daten abzurufen - Contracts - Kevin - Verleihungs logik - React - Max - Grobe Struktur vom Wireframe implementieren - React - Maria - !!! Code zum Laufen kriegen - Grobes Frontend von Max befüllen # Feedback Christopher - Wants more technical details -> Platform, Standards - also interested in business perspective - more stakeholders than expected for blockchain technologies - incentive for nodes, miners? - maybe use erc1155? combines actions to one processing task. More energy efficient. Explain reason for choosing erc721 in next video - Explain truffle suite shortly - Architecture showing NFT flow - Clear up how renting should work - Connection to real world application needs to be cleared up - Which mechanisms are reasonable to prevent a second blockchain from creating the same tokens and say they're the real ones - Is there a way for bidirectional verification - something from the NFT links to the object and something from the object links to the NFT. That way it cannot be duplicated # Protokoll 25.05. - Verifizierung der Museen muss sichergestellt werden -> Verifizierung der einzelnen Ausstellungsttücke muss daher nicht erfolgen - Verifizerung bei Registrierung - Annahme: Kunstwerk ist Leihgabe von Drittperson, nicht relevant für uns, muss zwischen Museum und Privatperson ausgemacht werden -MVP: - Code Teil besteht aus drei Teilen 1. Blockchain Teil mit Truffle, deployed auf local Ganache Blockchain - Max: Fertigen ETF Contract auf Ganache Deployen, Marktplatz Contract aufsetzen mit Tokens 2. React Frontend mit Funktionen - Funktionen to be defined (https://www.youtube.com/watch?v=w7ejDZ8SWv8 - React Tutorial) -Maria: Wireframe 3. Node Server mit Datenbank/File handling mit dem die Inserate gespeichert werden -Kevin: Add a new exhibbit -> DB access; fetchAllItems(), AddItem(), changeOwnership() - Für die Zukunft: - Auktionen statt Festpreise Questions for friday: - Are we allowed to use ganache? - Do we need to deliver a docker image? - What is expected for Workshop2 and final deliverable?