# 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?