2023 Anhui Vocational College Skills Competition (Höhere Berufsgruppe) „Blockchain-Technologieanwendung“-Wettbewerbsaufgabe
Inhaltsverzeichnis
Modul 1: Design von Blockchain-Produktlösungen sowie Systembetrieb und -wartung (35 Punkte)
Aufgabe 1-1: Analyse der Blockchain-Produktnachfrage und Lösungsdesign
Aufgabe 1-2: Bereitstellung sowie Betrieb und Wartung des Blockchain-Systems
Aufgabe 1-3: Blockchain-Systemtests
Modul 2: Intelligente Vertragsentwicklung und -tests (30 Punkte)
Aufgabe 2-1: Smart Contract Design
Aufgabe 2-2: Intelligente Vertragsentwicklung
Aufgabe 2-3: Smart Contract-Tests
Modul 3: Entwicklung von Blockchain-Anwendungssystemen (30 Punkte)
Aufgabe 3-1: Entwicklung von Front-End-Funktionen für Blockchain-Anwendungen
Aufgabe 3-2: Entwicklung von Backend-Funktionen für Blockchain-Anwendungen
Modul 1: Design von Blockchain-Produktlösungen sowie Systembetrieb und -wartung (35 Punkte)
Nachdem der Teilnehmer die Aufgabe dieses Moduls abgeschlossen hat, sollte er oder sie die Screenshots der Designergebnisse, des laufenden Codes, der laufenden Ergebnisse usw. in der Aufgabe in die entsprechende Seriennummer der Aufgabe auf dem Client-Desktop einfügen [Ordner Arbeitsstationsnummer\Modul 1]. Einreichungsergebnis.docx].
Aufgabe 1-1: Analyse der Blockchain-Produktnachfrage und Lösungsdesign
Diese Aufgabe erfordert die Durchführung einer Anforderungsanalyse und eines Lösungsentwurfs auf der Grundlage des Projekthintergrunds. Die spezifischen Anforderungen sind wie folgt:
An der Blockchain-Rückverfolgbarkeitsplattform für Lebensmittelsicherheit sind mehrere Teilnehmer wie Verbraucher und Hersteller beteiligt. Verschiedene Teilnehmer haben unterschiedliche Geschäftsaktivitäten in der Sicherheitsplattform zur Rückverfolgbarkeit von Lebensmitteln. Durch die Analyse der Geschäftsaktivitäten verschiedener Benutzergruppen kann der Entwicklungsprozess des Systems besser unterstützt werden. Schreiben Sie auf der Grundlage des Geschäftsübersichtsdiagramms zur Rückverfolgbarkeit von Lebensmittelsicherheit in Kombination mit dem Hintergrund und der Teamüberlegung Entwurfsentwürfe wie Flussdiagramme/Funktionsdiagramme, Anwendungsfalldiagramme usw.
Diese Aufgabe erfordert die Durchführung einer Anforderungsanalyse und eines Lösungsentwurfs auf der Grundlage des Projekthintergrunds. Die spezifischen Anforderungen sind wie folgt :
- Basierend auf der Hintergrundbeschreibung des Projekts und dem Geschäftsübersichtsdiagramm zur Rückverfolgbarkeit von Lebensmitteln wird das System zur Rückverfolgbarkeit von Lebensmitteln analysiert und das UML-Anwendungsfalldiagramm für das Systemgeschäft erstellt. Das Anwendungsfalldiagramm umfasst am System beteiligte Rollen und Anwendungsfälle.
(1) Benutzergruppen- und Bedarfsanalyse
(2) UML-Anwendungsfalldiagramm
- Basierend auf den gegebenen Hintergrundinformationen, dem Geschäftsübersichtsdiagramm zur Rückverfolgbarkeit von Lebensmittelsicherheit und dem gegebenen Kernprozess der Blockchain-Rückverfolgbarkeitsplattform für Lebensmittelsicherheit verwenden Sie Visio oder Mind-Mapping-Tools, um ein Gesamtübersichtsdiagramm für die Funktion zu erstellen.
......
Aufgabe 1-2: Bereitstellung sowie Betrieb und Wartung des Blockchain-Systems
Wir konzentrieren uns auf die Bereitstellungs-, Betriebs- und Wartungsanforderungen der Blockchain-Plattform für die Rückverfolgbarkeit von Lebensmitteln und werden projektbezogene Systeme, Knoten und Verwaltungstools bereitstellen. Vollständige Überwachung von Netzwerk- und Knotendiensten durch Überwachungstools. Schließlich werden die Geschäftsanforderungsspezifikationen verwendet, um die Wartung von Systemstrukturen wie Systemprotokollen, Netzwerkparametern, Knotendiensten usw. abzuschließen. Die spezifischen Anforderungen lauten wie folgt:
- Stellen Sie das Blockchain-System gemäß den Parameter- und Porteinstellungsanforderungen bereit und überprüfen Sie es.
- Stellen Sie die Blockchain-Netzwerkverwaltungsplattform gemäß den Parameter- und Porteinstellungsanforderungen bereit und überprüfen Sie sie.
- Basierend auf der relevanten Verwaltungsplattform des Blockchain-Systems werden die Betriebs- und Wartungsarbeiten des Systems gemäß dem Aufgabenleitfaden implementiert und überprüft.
- Basierend auf den relevanten Überwachungstools des Blockchain-Systems wird das Blockchain-System gemäß den Aufgabenrichtlinien überwacht.
Unteraufgabe 1-2-1: Erstellen Sie ein Blockchain-System und verifizieren Sie es
Erstellen Sie basierend auf der gegebenen Serverumgebung und Software (Adresse „/root/tools“) ein 4-Knoten-Blockchain-System und überprüfen Sie es. Der spezifische Arbeitsinhalt ist wie folgt:
(1) Verwenden Sie die Standardkonfiguration, um ein Blockchain-Netzwerk aufzubauen.
(2) Überprüfen Sie den laufenden Status des Blockchain-Knotenprozesses mithilfe von Befehlen.
(3) Überprüfen Sie den Blockchain-Verbindungsstatus und die Protokollausgabe des Konsensstatus mithilfe von Befehlen.
Unteraufgabe 1-2-2: Erstellen Sie eine Blockchain-Systemverwaltungsplattform und überprüfen Sie sie
Erstellen Sie basierend auf der gegebenen Serverumgebung und Software (Adresse „/root/tools“) eine Blockchain-Konsole und führen Sie die entsprechenden Betriebs- und Wartungsarbeiten durch. Der spezifische Arbeitsinhalt ist wie folgt:
(1) Konsole konfigurieren, relevante Zertifikate verwalten und starten;
(2) Verwenden Sie die Konsole, um den HelloWorld-Smart-Vertrag zu installieren.
(3) Verwenden Sie die Konsole, um den Satz abzuschließen und Vorgänge des HelloWorld-Smart-Vertrags abzurufen.
(4) Verwenden Sie die Konsole, um die Blockhöhe in der Blockchain anzuzeigen.
......
Aufgabe 1-3: Blockchain-Systemtests
Entwerfen Sie den Testprozess für das Blockchain-System. Rufen Sie in Kombination mit den tatsächlichen Geschäftsanforderungen den bereitgestellten Smart Contract für Systemtests, Leistungstests usw. auf. Analysieren und beheben Sie Sicherheitslücken in bestimmten Smart Contracts basierend auf den Geschäftsanforderungen. Verwenden Sie Simulationsgeschäfts- und Testtools, um das Testen der Servicedaten des Blockchain-Systems abzuschließen.
1. Schließen Sie basierend auf dem WeBASE-Bereitstellungsskript den Aufbau der WeBASE-Umgebung und die Überprüfung der Konstruktionsergebnisse ab und speichern Sie schließlich den Screenshot der Ausführungsergebnisse.
- Implementierung der WeBASE-Plattformbereitstellung;
- Implementieren Sie die Überprüfung des Startstatus der Funktion webase.sgin.
- Überprüfung des Starts des Webase-node-mgr-Prozesses und Browserüberprüfung.
Modul 2: Intelligente Vertragsentwicklung und -tests (30 Punkte)
Nach Abschluss der Aufgabe dieses Moduls sollte der Teilnehmer die Screenshots der Entwurfsergebnisse, des ausgeführten Codes und der ausgeführten Ergebnisse in der Aufgabe in die entsprechende Seriennummer der Aufgabe auf dem Client-Desktop einfügen [Workstation No. Folder\Module 2 Submission Results.docx]. ].
Aufgabe 2-1: Smart Contract Design
Schreiben Sie auf der Grundlage der Analyse der Produktanforderungen für die Rückverfolgbarkeit von Blockchain-Lebensmitteln und der Beschreibung des Designdokuments das Dokument mit den funktionalen Anforderungen für Smart Contracts für das Blockchain-Produkt und entwerfen Sie die Designzeichnung für Smart Contracts. Spezifische Anforderungen sind wie folgt:
- Fertigstellung der Entwurfszeichnung des Blockchain-Smart-Contracts zur Rückverfolgbarkeit von Lebensmitteln
Entwerfen Sie die intelligente Vertragsschnittstelle für die Rückverfolgbarkeit von Blockchain-Lebensmitteln und zeichnen Sie das UML-Sequenzdiagramm der Beziehung zwischen den intelligenten Verträgen für die Rückverfolgbarkeit von Blockchain-Lebensmitteln.
......
Aufgabe 2-2: Intelligente Vertragsentwicklung
Verwenden Sie die Solidity-Sprache, um die Entwicklung, Bereitstellung und den Aufruf intelligenter Verträge abzuschließen. Die Anforderungen lauten wie folgt:
- Schnittstellenkodierung von Lebensmittelinformationen (FoodInfoItem)
(1) Schreiben Sie die Schnittstelle der Lebensmittelinformationseinheit, schließen Sie die Initialisierung rückverfolgbarer Lebensmittelinformationen ab und implementieren Sie die On-Chain-Funktion für rückverfolgbare Lebensmittelinformationen des Originalherstellers.
Tabelle 2-2-1 Beschreibung der FoodInfoItem-Entität
Name |
veranschaulichen |
_currentTraceName |
Aktueller Benutzername |
_Name |
Lebensmittelname |
_Eigentümer |
Der Ersteller des Vertrags |
_Qualität |
Qualität |
_Status |
Zustand |
_traceName |
Nutzername |
_timestamp |
Zeitstempel der Ausleihe |
_traceAddress |
Benutzeradresse |
_traceQuality |
Lebensmittelqualität |
(2) Schreiben Sie die Informationsschnittstelle für Lebensmittel in der Kette des Händlers und erhalten Sie Informationen über die Lebensmittel in der Kette des Händlers basierend auf der Smart-Contract-Adresse für die Rückverfolgbarkeit von Lebensmitteln.
(3) Schreiben Sie eine Schnittstelle für Supermärkte, um Lebensmittelinformationen in die Kette hochzuladen und Lebensmittelinformationen der Supermarktkette basierend auf der Smart-Contract-Adresse für die Rückverfolgbarkeit von Lebensmitteln zu erhalten.
- Schnittstellencodierung zur Rückverfolgbarkeit von Lebensmitteln (Trace).
(1) Schreiben Sie einen intelligenten Vertrag zur Lebensmittelrückverfolgbarkeit für den Hersteller, um eine Lebensmittelschnittstelle hinzuzufügen. Nur der Hersteller kann rückverfolgbare Lebensmittel hinzufügen, um die Rückverfolgbarkeitsfunktion zu realisieren;
(2) Schreiben Sie einen intelligenten Vertrag zur Rückverfolgbarkeit von Lebensmitteln und fügen Sie dem Händler eine Lebensmittelschnittstelle hinzu. Nur der Händler kann rückverfolgbare Lebensmittel hinzufügen, um die Rückverfolgbarkeitsfunktion zu realisieren.
(3) Schreiben Sie einen intelligenten Vertrag zur Rückverfolgbarkeit von Lebensmitteln und fügen Sie dem Supermarkt-Einzelhändler eine Lebensmittelschnittstelle hinzu. Nur der Supermarkt kann rückverfolgbare Lebensmittel hinzufügen, um die Rückverfolgbarkeitsfunktion zu realisieren.
......
Aufgabe 2-3: Smart Contract-Tests
Unteraufgabe 2-3-1 : Vertragstests basierend auf einer Web-Frontend- Plattform
- Beheben Sie Codefehler und Warnungen, kompilieren und stellen Sie den Vertrag ordnungsgemäß bereit und erhalten Sie erfolgreich die bereitgestellte Vertragsadresse und das ABI.
- Tests zum Aufrufen der Schnittstellencodierung von Lebensmittelinformationen (FoodInfoItem), der Rückverfolgbarkeit von Lebensmitteln (Trace) und der Schnittstellencodierung der Rollenverwaltung (Role).
......
Modul 3: Entwicklung von Blockchain-Anwendungssystemen (30 Punkte)
Nachdem der Teilnehmer die Aufgabe dieses Moduls abgeschlossen hat, sollte er oder sie die Screenshots der Designergebnisse, des laufenden Codes, der laufenden Ergebnisse usw. in der Aufgabe in die entsprechende Seriennummer der Aufgabe auf dem Client-Desktop einfügen [Ordner Arbeitsstationsnummer\Modul 3]. Einreichungsergebnisse.docx].
Aufgabe 3-1: Entwicklung von Front-End-Funktionen für Blockchain-Anwendungen
- Fügen Sie basierend auf der Entwicklungsvorlage des Front-End-Systems den entsprechenden Logikcode zur Anmeldekomponente login.js und zur Komponentenverwaltungsdatei Components.js hinzu, um die Rollenauswahlfunktion des Front-Ends zu realisieren und die Funktionsintegrität zu testen. Die Beispielseite sieht wie folgt aus:
Spezifische Anforderungen sind wie folgt:
(1) Es gibt eine klare Aufforderung an den Benutzer, eine Rolle auszuwählen.
(2) Benutzer können zwischen vier verschiedenen Rollen wählen (Produzent, Zwischenhändler, Supermarkt, Verbraucher);
(3) Bitte suchen und füllen Sie die Komponenten aus, die jedem Benutzer entsprechen.
(4) Oben auf der Seite müssen der Website-Titel und das Logo der Lebensmittel-Rückverfolgbarkeitsplattform stehen.
......
Aufgabe 3-2: Entwicklung von Backend-Funktionen für Blockchain-Anwendungen
- Bitte entwickeln und verbessern Sie die IndexController-Klasse basierend auf vorhandenen Projekten, schreiben Sie Methoden zum Hinzufügen von Informationen zur Lebensmittelproduktion, implementieren Sie die Funktion zum Hinzufügen von Lebensmittelinformationen und testen Sie die Funktionsintegrität.
Die spezifischen Anforderungen für diese Aufgabe sind wie folgt:
(1) Die Produce-Methode in der Entwicklungsdatei IndexController.java, die Anforderungsschnittstelle ist /produce;
(2) Die Produce-Methode in der Entwicklungsdatei IndexController.java erfordert eine sekundäre Überprüfung der vom Front-End übergebenen Parameter.
(3) Die Produce-Methode in der Entwicklungsdatei IndexController.java erfordert, dass der gekapselte Rückgabewert String ist, gibt jedoch keine Ansichtsseite zurück.
So produzieren Sie:
/**
* Fügen Sie Informationen zur Lebensmittelproduktion hinzu
* TraceNumber: Lebensmittel-Rückverfolgbarkeits-ID, Kennung im Lebensmittel-Rückverfolgbarkeitsprozess
* foodName: Lebensmittelname
* TraceName: Benutzername, Benutzername in jeder Phase des Lebensmittelzirkulationsprozesses
* Qualität: aktuelle Lebensmittelqualität (0=hohe Qualität, 1=qualifiziert, 2=unqualifiziert)
* @return: Ergebnisse der Lebensmittelproduktionsinformationen hinzufügen
*/
public String produzieren(@RequestBody JSONObject jsonParam) {
//MACHEN
}
......