-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDigitalProductFingerprint.sol
46 lines (37 loc) · 1.44 KB
/
DigitalProductFingerprint.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract DigitalProductFingerprint {
// Eigentümer des Smart Contracts
address private owner;
// Weltweit einzigartige ID des Products, die in der Asset Administration Shell definiert ist
string public productId;
// Speichert den Hash-Wert
bytes32 private storedData;
// Konstruktor, durch den der Eigentümer festgelegt wird und der Smart Contract mit der Asset Administration Shell verbunden wird
constructor(string _productId) {
owner = msg.sender;
productId = _productId;
}
// Funktion zum Speichern eines Hash-Werts
function setData(bytes32 _storedData) public {
// Nur der Eigentümer kann diese Funktion ausführen
require(msg.sender == owner);
storedData = _storedData;
}
// Funktion zum Abrufen des gespeicherten Hash-Werts
function getValue() public view returns (bytes32) {
return storedData;
}
// Funktion, um die Eigentümerschaft zu übertragen
function transferOwnership(address newOwner) public {
// Nur der Eigentümer kann diese Funktion ausführen
require(msg.sender == owner);
owner = newOwner;
}
// Funktion zum Löschen des Eigentümers
function deleteOwner() public {
// Nur der Eigentümer kann diese Funktion ausführen
require(msg.sender == owner);
owner = address(0); // Setze den Eigentümer auf die Nulladresse
}
}